>

Bigquery에서 1GB 크기의 테이블을 GCS로 내보내고 있지만 파일을 2-3MB의 매우 작은 파일로 분할합니다. 2-3MB가 아닌 파일 당 40-60MB와 같은 더 큰 파일을 얻는 방법이 있습니까?

나는 API를 통해 수출을한다 https://cloud.google.com/bigquery/docs/exporting-data# export_data_into_one_or_more_files

https://cloud.google.com/bigquery/docs/reference/v2/jobs

Bigquery에서 소스 테이블 크기는 60GB입니다. NewLine_Delimited_Json 및 GZIP 압축 형식으로 데이터를 추출합니다.

destination_cloud_storage_uris=[
        'gs://bucket_name/main_folder/partition_date=xxxxxxx/part-*.gz'
    ]


  • 답변 # 1

    파티션 테이블을 내보내려고합니까? 그렇다면 각 파티션이 다른 테이블로 내 보내져 작은 파일이 발생할 수 있습니다. 다음 각 명령으로 cli에서 내보내기를 실행하고 두 경우 모두 49MB 크기의 파일을 받았습니다.

    bq extract --compression=GZIP --destination_format=NEWLINE_DELIMITED_JSON project:dataset.table gs://bucket_name/path5-component/file-name-*.gz
    bq extract --compression=GZIP project:dataset.table gs://bucket_name/path5-component/file-name-*.gz
    
    

  • 답변 # 2

    질문에 세부 정보를 추가하여 구체적인 조언을 제공 할 수 있도록하십시오 :이 수출을 정확히 어떻게 요청하십니까?

    그럼에도 불구하고 GCS에 많은 파일이 있고 모든 파일을 하나로 병합하려는 경우 다음을 수행 할 수 있습니다.

    gsutil compose gs://bucket/obj1 [gs://bucket/obj2 ...] gs://bucket/composite
    
    

    https://cloud.google.com/storage/docs/gsutil/commands/compose

관련 자료

  • 이전 excel - VBA에서 배열 풀기 및 배열에 항목 추가
  • 다음 ID 및 월 레벨에서 SQL 중복 제거