5

출력용 Google Cloud Storage가있는 Google Compute Engine에서 실행되는 Apache Spark 스크립트가 있습니다. 내 Cloud Storage 폴더에 300 개 이상의 part-00XXX 파일이 있습니다. 나는 그들을 합병하고 싶다.Google Cloud Storage에서 32 개가 넘는 파일을 병합합니다.

내가 시도 :

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

하지만이 오류가있어 모든 논문의 일부 파일을 병합하는 솔루션의

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

어떤 아이디어?

+1

파일을 32 개의 파일로 구성된 청크로 분할하십시오. 각각을 개별적으로 병합하십시오. N 개의 파일로 시작한다면 N/32 개의 파일을 갖게됩니다. 반복. 메모리가 충분하다면 하위 명령 줄을 사용하여 수행 할 수 있으며 매회 디스크를 읽거나 쓰지 않아도됩니다. –

답변

5

단일 요청으로 32 개의 개체 만 작성할 수 있지만 복합 개체에는 최대 1024 개의 구성 요소가있을 수 있습니다. 특히 0-31의 객체를 0 ', 32-63을 1'등으로 구성 할 수 있습니다. 그런 다음 각 복합 객체는 (0 ', 1', ..., floor (300/32) ').

+0

누군가 스크립트를 작성하는 것을 주저하지 마십시오. – poiuytrez

관련 문제