5

Tôi có một tập lệnh Apache Spark chạy trên Google Compute Engine để xuất Google Cloud Storage. Tôi có hơn 300 tệp part-00XXX trong thư mục Bộ nhớ đám mây của mình. Tôi muốn hợp nhất chúng.Hợp nhất hơn 32 tệp trong Google Cloud Storage

tôi đã cố gắng:

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

Nhưng tôi đã nhận lỗi này:

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

Bất kỳ ý tưởng về một giải pháp sáp nhập tất cả các file đề tài phần?

+1

Phân vùng tệp của bạn thành nhiều phần với 32 tệp trong đó. Hợp nhất từng cá nhân. Do bạn bắt đầu với N tệp, bạn sẽ có N/32 tệp ngay bây giờ. nói lại. Nếu bạn có đủ bộ nhớ, bạn có thể làm điều đó với các dòng lệnh phụ và không phải đọc/ghi vào đĩa mỗi lần –

Trả lời

5

Bạn chỉ có thể soạn 32 đối tượng trong một yêu cầu, nhưng đối tượng hỗn hợp có thể có tối đa 1024 thành phần. Cụ thể, bạn có thể soạn đối tượng 0-31 thành một số đối tượng 0 ', 32-63 thành 1', v.v. - thì mỗi đối tượng hỗn hợp đó có thể được tạo lại bằng cách soạn (0 ', 1', ..., sàn (300/32) ').

+0

Đừng ngần ngại cho tôi biết nếu ai đó viết kịch bản để làm điều đó. – poiuytrez

Các vấn đề liên quan