Gibi aradığınız geliyor partitionBy
üzerinde tanımlı DataFrameWriter
. Scaladoc'tan:
def partitionBy(colNames: String*): DataFrameWriter[T]
Çıktıyı dosya sistemindeki verilen sütunlara göre bölümlere ayırır. Belirtilmişse, çıktı, Hive'ın bölümleme şemasına benzer şekilde dosya sistemine yerleştirilir. Örnek olarak, bir veri kümesini yıl ve sonra aya göre bölümlere ayırdığımızda dizin düzeni şöyle görünür: :
year=2016/month=01/
year=2016/month=02/
Bölümleme, fiziksel veri düzenini optimize etmek için en yaygın kullanılan tekniklerden biridir. Sorguların bölümlenmiş sütunlarda yüklemleri olduğunda gereksiz veri okumalarını atlamak için kaba taneli bir dizin sağlar. Bölümlemenin iyi çalışması için, her sütundaki farklı değerlerin sayısı genellikle on binden az olmalıdır.
Bu, Spark 2.1.0 ile başlayan tüm dosya tabanlı veri kaynakları (örn.Parke, JSON) için geçerlidir.