Google BigQuery 中的 TABLE_DATE_RANGE 困难
Posted
技术标签:
【中文标题】Google BigQuery 中的 TABLE_DATE_RANGE 困难【英文标题】:TABLE_DATE_RANGE difficulties in Google BigQuery 【发布时间】:2017-03-17 19:22:19 【问题描述】:Google BigQuery 食谱中涉及 TABLE_DATE_RANGE 的示例在首选的“标准 SQL”中不起作用,尽管它们在较旧的“旧版 SQL”中起作用。 旧 SQL 样式命令的示例。
FROM (TABLE_DATE_RANGE([73156703.ga_sessions_], DATE_ADD(CURRENT_TIMESTAMP(), -7, 'DAY'), DATE_ADD(CURRENT_TIMESTAMP(), -1, 'DAY')))
我使用反引号 (`) 将表名括起来,而不是传统风格的方括号,但它失败并显示神秘消息
Error: Table-valued functions are not supported
有什么想法吗?
【问题讨论】:
【参考方案1】:您需要使用wildcard table 而不是TABLE_DATE_RANGE
,这是特定于旧版SQL 的。一个例子是:
#standardSQL
SELECT *
FROM `your_dataset.ga_sessions_*`
WHERE PARSE_DATE('%Y%m%d', _TABLE_SUFFIX) BETWEEN
DATE_SUB(CURRENT_DATE(), INTERVAL 7 DAY) AND
CURRENT_DATE();
您可以在migration guide 中阅读有关旧版 SQL 和标准 SQL 之间差异的更多信息。
【讨论】:
【参考方案2】:对于标准 SQL,您需要编写如下示例:
FROM `google.com:analytics-bigquery.LondonCycleHelmet.ga_sessions_*`
WHERE _TABLE_SUFFIX BETWEEN '20130910' AND '20130910'
【讨论】:
以上是关于Google BigQuery 中的 TABLE_DATE_RANGE 困难的主要内容,如果未能解决你的问题,请参考以下文章
Google BigQuery 使用 TABLE_DATE_RANGE() 错误
如何在 google bigquery 数据集中创建动态表并在 tableau 中访问?
如何通过服务帐户通过 Google BigQuery External Table 访问 Google Sheets Doc