Pular para o conteúdo principal

partições (DataSourceReader)

Retorna uma sequência de partições para esta fonte de dados.

As partições são usadas para dividir as operações de leitura de dados em tarefas paralelas. Se esse método retornar N partições, o planejador de consultas criará N tarefas. Cada tarefa executará read() em paralelo, usando o respectivo valor de partição para ler os dados.

Este método é chamado uma vez durante o planejamento da consulta. Por default, retorna uma única partição com o valor None. As subclasses podem sobrescrever esse método para retornar múltiplas partições.

Recomenda-se sobrescrever esse método para obter melhor desempenho na leitura de grandes conjuntos de dados.

Sintaxe

partitions()

Devoluções

Sequence[InputPartition]

Uma sequência de partições para esta fonte de dados. Cada valor de partição deve ser uma instância de InputPartition ou uma subclasse dela.

Notas

Todos os valores de partição devem ser objetos serializáveis (picklable).

Exemplos

Retorna uma lista de números inteiros:

Python
def partitions(self):
return [InputPartition(1), InputPartition(2), InputPartition(3)]

Retorna uma lista de strings:

Python
def partitions(self):
return [InputPartition("a"), InputPartition("b"), InputPartition("c")]

Retorna uma lista de intervalos:

Python
class RangeInputPartition(InputPartition):
def __init__(self, start, end):
self.start = start
self.end = end

def partitions(self):
return [RangeInputPartition(1, 3), RangeInputPartition(5, 10)]