Google bigquery 以AVRO格式导出大型(>;1GB)BQ表-需要多个1 GB的文件,但仅导出单个文件

Google bigquery 以AVRO格式导出大型(>;1GB)BQ表-需要多个1 GB的文件,但仅导出单个文件,google-bigquery,google-cloud-storage,Google Bigquery,Google Cloud Storage,我正在尝试以AVRO格式将BigQuery表导出到Google云存储。表的大小为2.6 GB。我运行的命令类似于: bq extract \ --destination_format AVRO \ 'mydataset.mytable' \ gs://example-bucket/myfile*.avro 如果BigQuery表的大小大于1 GB,则需要使用*或通配符,并且应该将其分片为每个1 GB的文件。但是,当运行此命令时,我只会导出一个名为:gs://example bucket/myf

我正在尝试以AVRO格式将BigQuery表导出到Google云存储。表的大小为2.6 GB。我运行的命令类似于:

bq extract \
--destination_format AVRO \
'mydataset.mytable' \
gs://example-bucket/myfile*.avro
如果BigQuery表的大小大于1 GB,则需要使用*或通配符,并且应该将其分片为每个1 GB的文件。但是,当运行此命令时,我只会导出一个名为:gs://example bucket/myfile000000000000.avro的文件(~2.8 GB)。这是正确的行为吗?文档只需要按照此处进行更新

以下是显示BQ UI中文件大小的屏幕截图:

运行此命令显示导出的文件几乎为2.8 GB:

gsutil ls-lh“GCS上的gs://文件夹”

2.78 GiB  2019-09-06T01:10:12Z  gs://FULL_PATH_TO_FILE.avro
TOTAL: 1 objects, 2982798742 bytes (2.78 GiB)

导出文件的大小是多少?我怀疑您的表不是2.8GB!您是否尝试过不使用*通配符,是否成功?如果表的大小为2.8 GB,并且尝试不使用*通配符,则会出现类似以下“提取操作中的BigQuery错误:错误处理作业…表xxxxx太大,无法导出到单个文件。请指定包含*到碎片导出的uri…”-你能验证吗-Thanksys@StéphaneFréchette它确实是2.8 GB,我确实收到了你提到的相同错误。这是我用来查找表的文件大小(python)的查询:“从`DATASETNAME.{0}中选择size_bytes/pow(10,9)作为大小。`uu_TABLES_uuu`WHERE table_id='{1}'”.format(dataset_id,table_id)``是否有机会使用CSV格式?谢谢@Jas我不确定我是否喜欢这个查询(python)来获取表的大小!您可以转到您的GCP控制台和BigQuery,在查询编辑器下为您的表选择详细信息,并在表信息中查看表大小,是否可以通过编辑Q并包括它来发布此屏幕截图(带有表大小)。如果可能的话,还可以在GCS中显示文件大小的屏幕截图-谢谢