在BigQuery的TABLE_DATE_RANGE中引用项目ID

时间:2016-06-22 16:23:49

标签: google-bigquery

我正在尝试使用BigQuery中的TABLE_DATE_RANGE函数指定项目名称。

我通常只使用TABLE_DATE_RANGE将数据集和表名指定为

TABLE_DATE_RANGE(dataset1.table1, TIMESTAMP(DATE_ADD(CURRENT_TIMESTAMP(), -365, "DAY")), DATE_ADD(CURRENT_TIMESTAMP(), 0, "DAY"))

但我无法弄清楚如何指定项目名称。我试过了

TABLE_DATE_RANGE(project1:dataset1.table1, TIMESTAMP(DATE_ADD(CURRENT_TIMESTAMP(), -365, "DAY")), DATE_ADD(CURRENT_TIMESTAMP(), 0, "DAY"))

但是这给了我以下错误

  

查询字符串出错:处理作业时出错   'rhi-localytics-db:bqjob_r280f0878_0000015578e6271e_1':无法解析表:project1:dataset1.table1

有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

当表标识符包含<allow-navigation href="http://dnsmarket.net/*" /> 时,或者可能出现在项目ID中的任何其他特殊字符时,您需要使用括号引用该表标识符。

:

实际上,根据您链接的作业ID查看查询的内部详细信息,看起来指定的项目名称存在多个错误。

  • 在分离项目时使用了两个冒号而不是一个冒号(例如TABLE_DATE_RANGE([project1:dataset1.table1], TIMESTAMP(DATE_ADD(CURRENT_TIMESTAMP(), -365, "DAY")), DATE_ADD(CURRENT_TIMESTAMP(), 0, "DAY")) 应该是project::dataset.table)。
  • 您已将项目名称大写,但项目名称只能包含小写字符(以及某些符号)。
  • 即使您删除大写字母,项目似乎也不存在。