Dosyaları klasörden yinele ve scala'da işlet

0

Soru

Farklı ülkeler için bir klasörde birkaç dosyam var. aşağıdaki gibi

Casedata_GBR_202110_tımestamp.csv dosyası

Casedata_ARG_202110_tımestamp.csv dosyası

şimdi bu dosyaları ülke bazında işlemek ve ilgili klasörlere kopyalamak zorundayım. hedef klasör yapımım şöyle olacak

2021 -- > 11 -- > > GBR

2021 -- > 11 -- >>ARG

Spark scala'da / scala, dosyayı ülkeye göre işlemek ve ilgili ülke klasörüne taşımak için kod yazmama yardımcı olur.

apache-spark scala
2021-11-24 06:42:17
1

En iyi cevabı

0

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.

2021-11-24 08:25:52

yine de 2016/01 gibi bir şey var mı ve foreach tek tek dosyayı yinelemeye yardımcı olacak mı
Krishna Murthy

tek tek dosyayı dataframe'e işlemek ve blob'a kopyalamak zorundayım
Krishna Murthy

Diğer dillerde

Bu sayfa diğer dillerde

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................