![](/img/trans.png)
[英]Is there a way to get a list of the files that were generated, from a large table, when exporting from BigQuery to GCS using a wildcard option?
[英]when exporting google bigquery to GCS results in multiple files of 0 bytes
我有以下成功运行的 EXPORT SQL 命令。 但是,它会生成 22 个 0 字节的文件。 SQL 是正确的。 不应返回任何数据。 那不是我的问题。 问题在于为什么在GCS中导出还是导出了22个文件? 期望是如果没有返回,则不应创建任何文件。
我该如何阻止它? 谢谢你。
EXPORT DATA OPTIONS (
uri = 'gs://<<BUCKET>>/<<TABLE>>*.csv',
format = 'CSV',
overwrite = true,
header = false,
field_delimiter = '|'
) AS
SELECT DISTINCT * FROM `<<PROJECT>>.<<DATASET>>.VWE_<<TABLE>>` where cast(LASTLOADDATE as datetime) > DATETIME_SUB(CURRENT_DATE, INTERVAL 2 DAY) and LASTLOADDATE is not null;
不幸的是,这是在 uri 中使用通配符的BigQuery
导出的正常行为。
BigQuery
根据提供的模式将您的数据分成多个文件。 导出文件的大小会有所不同: doc
即使查询没有结果,使用通配符, BigQuery
也可以生成多个空文件。
如果在您的情况下必须删除空文件,您可以创建一个专用的Shell
脚本来删除它们,例如:
# check file size with
gsutil du -s -a gs://bucket/kitten.png
# remove files with
gsutil rm gs://bucket/kitten.png
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.