Suena como que usted está buscando partitionBy
definido en DataFrameWriter
. Desde el scaladoc:
def partitionBy(colNames: String*): DataFrameWriter[T]
Las particiones de la salida del dado columnas en el sistema de archivos. Si se especifica, el resultado se presenta en el sistema de archivos similar a la Colmena del esquema de particionamiento. Como un ejemplo, cuando nos partición de un conjunto de datos por año y mes, el diseño del directorio, se vería así:
year=2016/month=01/
year=2016/month=02/
El particionamiento es una de las técnicas más empleadas para optimizar la física, el diseño de los datos. Proporciona un grano grueso índice de omisión de datos innecesarios lee cuando las consultas se han predicados en las columnas de partición. En orden para la partición para funcionar bien, el número de valores distintos en cada columna normalmente debe ser menor que decenas de miles de personas.
Esto es aplicable para todos los archivos basados en fuentes de datos (por ejemplo, Parquet, JSON) a partir de Chispa 2.1.0.