我使用python代码将数据从bigquery导出到gcs,然后使用gsutil导出到s3!但是在导出到gcs之后,我注意到有些文件超过5 GB,gsutil无法处理?所以我想要知道限制大小的方法
答案 0 :(得分:0)
尝试使用单个通配符URI
请参阅Exporting data into one or more files
如果您认为导出的数据是,请使用单个通配符URI 每个文件的最大值大于BigQuery的1 GB 。 BigQuery分片 根据提供的模式将您的数据分成多个文件。如果你 请确保在文件名以外的URI组件中使用通配符 导出数据之前路径组件不存在。
属性定义:
[ 'GS:// [YOUR_BUCKET] /file-name-*.json']
创建:
GS://my-bucket/file-name-000000000000.json
GS://my-bucket/file-name-000000000001.json
gs://my-bucket/file-name-000000000002.json ...属性定义:
[ 'GS:// [YOUR_BUCKET] /path-component-*/file-name.json']
创建:
GS://my-bucket/path-component-000000000000/file-name.json
GS://my-bucket/path-component-000000000001/file-name.json
GS://my-bucket/path-component-000000000002/file-name.json
答案 1 :(得分:0)
因此,在问题跟踪器之后,采取此方法的正确方法是。
['gs://[YOUR_BUCKET]/file-name.json']
如果您希望BigQuery将数据导出到单个,请使用单个URI 文件。使用此方法导出的最大数据为1 GB。
请注意,数据大小最大为1GB,而1GB则不是导出的文件大小。
URI ['gs://[YOUR_BUCKET]/file-name-*.json']
如果您认为导出的数据集将是一个通配符URI,请使用 大于1 GB。 BigQuery会将您的数据分成多个文件 在提供的模式上。导出的文件大小可能会有所不同,并且文件不会 大小相等。
因此,当数据大小超过1 GB时,您再次需要使用此方法,并且生成的文件大小可能会有所不同,并且可能超过1 GB,因为您提到此方法将发生5GB和160Mb对。 / p>
多个通配符URI
['gs://my-bucket/file-name-1-*.json',
'gs://my-bucket/file-name-2-*.json',
'gs://my-bucket/file-name-3-*.json']
如果要对导出输出进行分区,请使用多个通配符URI。 如果您正在运行并行处理作业,则可以使用此选项 通过Google Cloud Platform上的Hadoop之类的服务。确定如何 许多工人可以处理该作业,并为每个作业创建一个URI 工人。 BigQuery将每个URI位置视为一个分区,并使用 并行处理以将数据分片成每个文件中的多个文件 位置。
这里同样适用,导出的文件大小可能会超过1 GB。