Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Gera dados para uma dada partição e devolve um iterador de tuplas ou linhas.
Este método é invocado uma vez por partição para ler os dados. A implementação deste método é necessária para fontes de dados legíveis. Pode inicializar quaisquer recursos não serializáveis necessários para ler dados da fonte de dados dentro deste método.
Sintaxe
read(partition: InputPartition)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
partition |
InputPartition | A partição para ler. Deve ser um dos valores de partição devolvidos por partitions(). |
Devoluções
Iterator[Tuple] ou Iterator[RecordBatch]
Um iterador de tuplas ou linhas. Cada tupla ou linha será convertida numa linha no DataFrame final. Também pode devolver um iterador de objetos PyArrow RecordBatch se a fonte de dados o suportar.
Exemplos
Produz uma lista de tuplas:
def read(self, partition: InputPartition):
yield (partition.value, 0)
yield (partition.value, 1)
Produz uma lista de linhas:
def read(self, partition: InputPartition):
yield Row(partition=partition.value, value=0)
yield Row(partition=partition.value, value=1)
Produz objetos PyArrow RecordBatch :
def read(self, partition: InputPartition):
import pyarrow as pa
data = {
"partition": [partition.value] * 2,
"value": [0, 1]
}
table = pa.Table.from_pydict(data)
for batch in table.to_batches():
yield batch