Parece que você está olhando para partitionBy
definido no DataFrameWriter
. A partir do scaladoc:
def partitionBy(colNames: String*): DataFrameWriter[T]
Partições a saída pelas colunas no arquivo de sistema. Se especificado, a saída é apresentado no sistema de arquivos semelhante ao Ramo do esquema de particionamento. Como um exemplo, quando nós partição de um conjunto de dados por ano e, em seguida, o mês, o diretório de esquema de como seria:
year=2016/month=01/
year=2016/month=02/
O particionamento é uma das técnicas mais utilizadas para otimizar física layout de dados. Ele fornece um coarse-grained índice ignorando os dados desnecessários lê quando as consultas têm predicados no particionado colunas. A fim de particionamento para funcionar bem, o número de valores distintos em cada coluna deve, normalmente, ser inferior a dezenas de milhares.
Isto é aplicável para todos os arquivos baseados em fontes de dados (e.g. em Parquet, JSON), começando com Faísca 2.1.0.