BigQuery 中的表函数和 FLATTEN
Posted
技术标签:
【中文标题】BigQuery 中的表函数和 FLATTEN【英文标题】:Table Functions and FLATTEN in BigQuery 【发布时间】:2014-05-14 10:49:54 【问题描述】:FLATTEN
和TABLE_QUERY
函数可以一起使用吗?
看起来TABLE_QUERY
只返回表名,FLATTEN
也需要数据集。
FROM 子句:
FROM FLATTEN(TABLE_QUERY(nbr_pcrf, 'table_id CONTAINS "dump_"'), quotas) d
错误:
查询失败 错误:无法解析表名:缺少数据集名称。 作业 ID:nbr-data-storage:job_44jU_diWnh4tk27UxDxFP-I5Rbg
【问题讨论】:
【参考方案1】:这实际上有点误导:正在发生的事情是 FLATTEN()
与不只是表名的任何内容都需要一组额外的括号来区分您正在展平的字段与表。换句话说,如果你这样做了
SELECT ... FROM FLATTEN(TABLE_QUERY(...), foo)
foo
字段被解释为联合表名(如SELECT * from bar,foo
)。
解决此问题的方法很简单:添加另一组括号。那就是:
SELECT ... FROM
FLATTEN((TABLE_QUERY(nbr_pcrf, 'table_id CONTAINS "dump_"')), quotas)
【讨论】:
没问题,我尝试使用 CONCAT() 但不幸的是它没有被接受,所以我将把表合并到一个表中。错误跟踪工具是公开的吗?可以给我网址吗?谢谢 BigQuery 团队使用的错误数据库不是公开的,但有一个公开的问题跟踪器,您可以使用它来报告问题并检查其状态。 code.google.com/p/google-bigquery/issues/list 现在解决了吗?我只是在这里遇到了同样的问题,想知道如何解决它以上是关于BigQuery 中的表函数和 FLATTEN的主要内容,如果未能解决你的问题,请参考以下文章
访问 BigQuery RECORD - 在 Tableau 中重复
使用 Flatten 从包含多个嵌套变量的 bigquery 表中选择 where var1 (non-repeated) = "abc"?
BigQuery 中是不是有与标准 SQL 等效的表通配符函数?