5

Google Compute Engine'de bir Google Cloud Storage çıktı almak için çalışan bir Apache Spark komut dosyası var. Cloud Storage klasöründe 300'den fazla part-00XXX dosyam var. Onları birleştirmek istiyorum.Google Cloud Storage'de 32'den fazla dosya birleştirme

Denedim:

[email protected]:~$ gsutil compose gs://mybucket/data/* gs://mybucket/myfile.csv 

Ama bu hata var: bütün tezler parça dosyaları birleştirmek için bir çözümün

CommandException: "compose" called with too many component objects. Limit is 32. 

Herhangi bir fikir?

+1

Dosyalarınızı, içinde 32 dosya bulunan parçalar halinde bölümlere ayırın. Her birini ayrı ayrı birleştirin. N dosyaları ile başladığınız göz önüne alındığında, şimdi N/32 dosyalarınız olacaktır. tekrar et. Yeterli belleğiniz varsa, bunu alt komut satırlarıyla yapabilir ve her seferinde diske okuma/yazma gerekliliği yoktur. –

cevap

5

Yalnızca bir nesneyi yalnızca bir istekte yazabilirsiniz, ancak bileşik bir nesnede 1024'e kadar bileşen bulunabilir. Özellikle, 0-31 nesnelerini, 0 ', 32-63,' 1 ', vb. Nesnelerine yazabilirsiniz - o zaman bu bileşik nesnelerin her biri (0', 1 ', ..., floor) oluşturularak tekrar oluşturulabilir (300/32) ').

+0

Birisi bunu yapmak için komut dosyası yazarsa bana bildirmekten çekinmeyin. – poiuytrez