Il semble que vous êtes à la recherche pour partitionBy
définie sur DataFrameWriter
. À partir de la scaladoc:
def partitionBy(colNames: String*): DataFrameWriter[T]
Partitions la sortie, dans les colonnes du système de fichiers. Si spécifié, la sortie est définie sur le système de fichier similaires à la Ruche du schéma de partitionnement. Par exemple, lorsque nous partition d'un ensemble de données par année, puis le mois, le répertoire de mise en page pourrait ressembler à:
year=2016/month=01/
year=2016/month=02/
Le partitionnement est l'un des plus largement utilisé des techniques pour optimiser la disposition des données. Il fournit une grossière de l'index pour sauter de données inutiles lit lorsque les requêtes ont des prédicats sur les colonnes partitionnées. Pour le partitionnement, le nombre de valeurs distinctes dans chaque colonne doit être généralement moins de dizaines de milliers de personnes.
Ceci est applicable pour tous les fichiers sources de données (par exemple, Parquet, JSON), à partir de l'Étincelle 2.1.0.