尝试将BigQuery中的表格数据导出到Google云端存储中创建的存储分区。
当我使用单个通配符URI将BigQuery中的表导出到GCS时,它会自动将表拆分为多个分片文件(每个文件大约368 MB)并登陆GCS中指定的存储区。
这是命令:
bq --nosync extract --destination_format=CSV '<bq table>' 'gs://<gcs_bucket>/*.csv'
即使使用多个URI,文件大小和文件数仍保持不变(每个文件大约368 MB):
bq --nosync extract --destination_format=CSV '<bq table>' 'gs://<gcs_bucket>/1-*.csv','gs://<gcs_bucket>/2-*.csv','gs://<gcs_bucket>/3-*.csv','gs://<gcs_bucket>/4-*.csv','gs://<gcs_bucket>/5-*.csv'
我试图弄清楚如何使用多个URI选项来减小文件大小。
答案 0 :(得分:1)
我相信BigQuery不会对所产生的文件大小提供任何保证,因此您观察到的是正确的:无论是否指定了多个通配符URI,文件大小都可能没有差异。
多个通配符URI的常见用例是它告诉BigQuery将输出文件均匀地分配给N个模式,以便您可以将每个输出URI模式提供给下游工作者。