在 BigQuery 中使用“hits.column name”为未嵌套的匹配列添加前缀
Posted
技术标签:
【中文标题】在 BigQuery 中使用“hits.column name”为未嵌套的匹配列添加前缀【英文标题】:Prefixing unnested hits columns with "hits.column name" in BigQuery在 BigQuery 中使用“hits.column name”为未嵌套的匹配列添加前缀 【发布时间】:2021-08-27 14:07:19 【问题描述】:有没有办法在以下查询中为UNNEST(hits)
产生的列加上hits.
前缀:
#standardSQL
SELECT *
FROM `project_id.dataset_id.table_name`, UNNEST(hits)
例如,结果将包含hits.page
列而不是page
列。
【问题讨论】:
hits.page
不是 BigQuery 中的有效列名。所以,不,这是不可能的。
感谢您的回复。前缀hits_
即hits_page
也是如此吗?据我了解,我可以对每一列进行别名处理,有没有办法对所有未嵌套的命中列执行此操作,或者我必须发现这些名称并分别为它们设置别名?
。 .允许使用下划线,但这不是您要问的。你想在这个问题中做的事情在BQ中是做不到的。
【参考方案1】:
在 documentation 之后,我发现 BigQuery 中列名的唯一有效字符是字母(a-z、A-Z)、数字 (0-9) 或下划线 (_)。所以,你不能用“hits.page”来命名你的列。相反,您可以使用“hits_page”(使用下划线)。
【讨论】:
如果这对你有用,请接受这个答案。如果我能提供帮助,我很高兴。以上是关于在 BigQuery 中使用“hits.column name”为未嵌套的匹配列添加前缀的主要内容,如果未能解决你的问题,请参考以下文章
在 Power BI 中使用 BigQuery 重复/嵌套字段
是否可以在 aws lambda 中使用 bigquery?
BigQuery -- 在公开共享项目中使用 UDF 的问题