更新 BigQuery 表中的嵌套字段 [英] Update nested field in BigQuery table
本文介绍了更新 BigQuery 表中的嵌套字段的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试执行您认为在 BigQuery 中微不足道的操作;我正在尝试更新 BigQuery 表中的嵌套字段,该表是 360 度导出的结果.
I am trying to perform what, you would think, is a trivial operation in BigQuery; I am trying to update a nested field in a BigQuery table that is the result of a 360 export.
这是我的查询:
#standardSQL
UPDATE `dataset_name`.`ga_sessions_20170705`
SET hits.eventInfo.eventLabel = 'some string'
WHERE TRUE
但我收到此错误消息:
错误:无法访问类型为 ARRAY
如何更新这个嵌套字段?
How can I update this nested field?
推荐答案
hits
是一个数组,所以需要使用数组子查询来赋值.它看起来像这样:
hits
is an array, so you need to use an array subquery to assign to it. It would look something like this:
#standardSQL
UPDATE `dataset_name`.`ga_sessions_20170705`
SET hits =
ARRAY(
SELECT AS STRUCT * REPLACE(
(SELECT AS STRUCT eventInfo.* REPLACE('some string' AS eventLabel)) AS eventInfo)
FROM UNNEST(hits)
)
WHERE TRUE;
这篇关于更新 BigQuery 表中的嵌套字段的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文