particiones (DataSourceReader)

Devuelve una secuencia de particiones para este origen de datos.

Las particiones se usan para dividir las operaciones de lectura de datos en tareas paralelas. Si este método devuelve N particiones, el planificador de consultas creará N tareas. Cada tarea se ejecutará read() en paralelo mediante el valor de partición correspondiente para leer los datos.

Este método se llama una vez durante la planificación de la consulta. De forma predeterminada, devuelve una sola partición con el valor None. Las subclases pueden invalidar este método para devolver varias particiones.

Se recomienda invalidar este método para mejorar el rendimiento al leer grandes conjuntos de datos.

Sintaxis

partitions()

Devoluciones

Sequence[InputPartition]

Secuencia de particiones para este origen de datos. Cada valor de partición debe ser una instancia de InputPartition o una subclase de él.

Notas

Todos los valores de partición deben ser objetos seleccionables.

Ejemplos

Devuelve una lista de enteros:

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

Devuelve una lista de cadenas:

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

Devuelve una lista de intervalos:

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

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