Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Gera dados para uma determinada partição e retorna um iterador de tuplas ou linhas.
Esse método é invocado uma vez por partição para ler os dados. A implementação desse método é necessária para fontes de dados legíveis. Você pode inicializar todos os recursos não serializáveis necessários para ler dados da fonte de dados dentro desse método.
Sintaxe
read(partition: InputPartition)
Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
partition |
InputPartition | A partição a ser lida. Deve ser um dos valores de partição retornados por partitions(). |
Devoluções
Iterator[Tuple] ou Iterator[RecordBatch]
Um iterador de tuplas ou linhas. Cada tupla ou linha será convertida em uma linha no DataFrame final. Ele também pode retornar um iterador de objetos PyArrow RecordBatch se a fonte de dados der suporte a ele.
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