【发布时间】:2013-08-27 21:03:09
【问题描述】:
我有一组类似于“Partitioning by date?”的分片数据,但有些日子没有数据,因此没有日子。一个理想的解决方案是让所有表格(日期)都是可选的。这可能吗?
详细说明:如果您执行 select from 后跟序列 [main.2013-08-01], [main.2013-08-02], ... 每个表都必须存在。如果这些表中的任何一个不存在,bigquery 在尝试执行查询时会返回 500 错误。通过使用术语“可选”,我希望有一种语法允许任何特定的表不存在,但查询仍然对其他表执行总和。我希望的一个例子:也许查询说 SELECT * from ?[main.2013-08-01], ?[main.2013-08-02], ... 但是 [main.2013-08-02 ] 不存在。但是,因为它有“?”表之前的指示符被认为是可选的,查询仍然成功执行,并且我得到了结果,尽管仅来自 [main.2013-08-01] 和任何其他实际存在的表。
我目前正在解决这个问题,首先对数据集的表列表进行请求,然后与我实际想要查询的分片进行比较并合并表(例如,我想要八月的所有日子,bigquery 告诉我7/27 不存在,所以我的 FROM 块将包含所有数据分片的列表(除了 7/27),但是这种方法很复杂,并且涉及两次 bigquery 往返,所以看起来并不理想。
【问题讨论】:
-
我不确定我是否理解您所说的将表格设为可选的意思。
-
我用更多的细节编辑了这个问题,希望能把它弄清楚!
标签: google-bigquery