Google bigquery 使用通配符将大文件从BigQuery导出到Google云

Google bigquery 使用通配符将大文件从BigQuery导出到Google云,google-bigquery,google-cloud-storage,Google Bigquery,Google Cloud Storage,我试图将BigQuery中的8Gb表导出到Google云存储(GCS)。如果按原样指定url,则会出现错误 Errors: Table gs://***.large_file.json too large to be exported to a single file. Specify a uri including a * to shard export. See 'Exporting data into one or more files' in https://cloud.google.c

我试图将BigQuery中的8Gb表导出到Google云存储(GCS)。如果按原样指定url,则会出现错误

Errors:
Table gs://***.large_file.json too large to be exported to a single file. Specify a uri including a * to shard export. See 'Exporting data into one or more files' in https://cloud.google.com/bigquery/docs/exporting-data. (error code: invalid)
好的。。。我在文件名中指定了*,但它将其导出为两个文件:一个7.13Gb,一个~150Mb

UPD。我想我应该得到8个文件,每个1Gb?我错了吗?或者我做错了什么


另外,我在WebUI模式下尝试了这一点,并使用了Java库。

对于某些大小或更大的文件,BigQuery将导出到多个GCS文件-这就是为什么它要求使用“*”glob

在GCS中有多个文件后,可以使用
compose
操作将它们合并为1:

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

对于特定大小或更大的文件,BigQuery将导出到多个GCS文件-这就是为什么它要求使用“*”glob

在GCS中有多个文件后,可以使用
compose
操作将它们合并为1:

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

要将其导出到GCP,您必须转到表格并单击导出>导出到GCS

这将打开以下屏幕

选择GCS位置中定义存储桶、文件夹和文件

例如,您有一个名为daria_bucket的bucket(仅使用小写字母、数字、连字符(-)和下划线(u)。点(.)可用于形成有效的域名。)并希望使用名称test将文件保存在bucket的根目录中,然后写入(在选择的GCS位置)

因为文件太大,所以出现错误。要修复它,您必须使用通配符将其分解为更多文件。所以,您需要添加*,就像这样

daria_bucket/test*.csv

这将在bucket daria_bucket内部,将从表中提取的所有数据存储在多个名为test000000000000、test000000000001、test000000000002等文件中。。。testX


在我的例子中(在你提出这个问题一年多之后),使用一个1,25 GBs的随机表,得到了16个文件,每个文件80,3 MBs。

要将其导出到GCP,你必须转到该表并单击导出>导出到GCS

这将打开以下屏幕

选择GCS位置中定义存储桶、文件夹和文件

例如,您有一个名为daria_bucket的bucket(仅使用小写字母、数字、连字符(-)和下划线(u)。点(.)可用于形成有效的域名。)并希望使用名称test将文件保存在bucket的根目录中,然后写入(在选择的GCS位置)

因为文件太大,所以出现错误。要修复它,您必须使用通配符将其分解为更多文件。所以,您需要添加*,就像这样

daria_bucket/test*.csv

这将在bucket daria_bucket内部,将从表中提取的所有数据存储在多个名为test000000000000、test000000000001、test000000000002等文件中。。。testX


在我的例子中(在你提出这个问题一年多之后),使用一个1,25Gbs的随机表,得到了16个文件,每个文件有80,3MB。

问题是什么?在GCS路径中指定*时,将获得多个文件。这就是功能。如果需要,您可以在一个单独的文件中获取并进一步加入该文件。您已经将表作为两个文件导出到GCS-那么您为什么认为自己做错了?我已经填写了一份错误报告,用相关信息更新文档。这里有些不对劲,可能内部压缩大小为1GB,但当导出平面结果为7GB时,但这应该得到官方的确认@Pentium10老实说,我对此有点不安。。这将是一个非常好的功能,能够有小的分开的文件,而不是一个大的。请张贴这作为一个功能要求,它可以转到相同的票证问题?在GCS路径中指定*时,将获得多个文件。这就是功能。如果需要,您可以在一个单独的文件中获取并进一步加入该文件。您已经将表作为两个文件导出到GCS-那么您为什么认为自己做错了?我已经填写了一份错误报告,用相关信息更新文档。这里有些不对劲,可能内部压缩大小为1GB,但当导出平面结果为7GB时,但这应该得到官方的确认@Pentium10老实说,我对此有点不安。。这将是一个非常好的功能,能够有小的分开的文件,而不是一个大的。请将此作为一个功能请求发布,它可以转到相同的票证对不起,我没有提到我面临的主要问题。我想我会有多个文件,每个1Gb。对不起,我没有提到我面临的主要问题。我想我会有多个文件,每个1Gb