【发布时间】:2017-02-09 10:20:35
【问题描述】:
我正在使用 google-cloud-bigquery gem(版本 0.20.2,目前无法升级)。
我有一个审计数据集,其中包含以下格式的许多表:
audit.some_table20170101
audit.some_table20170102
audit.some_table20170103
等等。
我正在尝试运行一个查询,它将扫描所有这些表,并给我字段 some_field 的最后一个值。
我想要的是使用表通配符:
FROM audit.some_table*
希望
SELECT LAST(some_field) AS last_some_field
在使用 Bigquery Web 控制台时,我可以通过 使用反引号(FROM `audit.some_table*`),但以编程方式对 gem 执行相同操作会导致 Google::Cloud::InvalidArgumentError: invalid: Invalid table name: `audit.some_table*`
即使在 Web 控制台中,当我尝试使用 LAST 命令时,它也需要使用旧版 SQL,然后由于上一节的反引号而出现错误。如果我禁用旧版 sql,LAST 将不再可用(不熟悉的命令),然后我必须按时间戳列降序排列并限制 1。
任何想法如何解决这些问题并能够使用上述 gem 和版本进行查询?
【问题讨论】:
标签: ruby google-bigquery wildcard