我有一组类似于“按日期分区? ”的分片数据,但有些日子没有数据,因此没有日子。一个理想的解决方案是让所有表格(日期)都是可选的。那可能吗?
详细说明:如果您执行 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] 和任何其他实际存在的表。
我目前正在解决这个问题,首先对数据集的表列表进行请求,然后与我实际想要查询的分片进行比较并合并表(例如,我想在 8 月的所有日子里,bigquery 告诉我 7/27不存在,所以我的 FROM 块将包含所有数据分片的列表(除了 7/27),但是这种方法很复杂,并且涉及两个 bigquery 往返,因此看起来并不理想。