使用BigQuery多个通配符URI导出数据

时间:2017-10-10 21:49:26

标签: google-bigquery

尝试将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选项来减小文件大小。

1 个答案:

答案 0 :(得分:1)

我相信BigQuery不会对所产生的文件大小提供任何保证,因此您观察到的是正确的:无论是否指定了多个通配符URI,文件大小都可能没有差异。

多个通配符URI的常见用例是它告诉BigQuery将输出文件均匀地分配给N个模式,以便您可以将每个输出URI模式提供给下游工作者。