繁体   English   中英

将 google bigquery 导出到 GCS 时会产生多个 0 字节的文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM