【发布时间】:2021-02-16 11:28:42
【问题描述】:
记录“event_params”是结构数组
而且values也是struct,event_params的结构类型是
ARRAY<STRUCT<STRING, STRUCT(string_value, int_value, float_value, double_value)>
我想将结构(或修改)添加到 BigQuery 表中的 ARRAY
问题 1
这是解决问题的表
这就是我想要的。
这些查询无效
ARRAY_CONCAT(event_params, [(new_data_key, new_input_data_value, null, null, nul)]
或
ARRAY_CONCAT(event_params, [(new_data_key, (new_input_data_value, null, null, nul))]
错误信息是
No matching signature for function ARRAY_CONCAT for argument types: ARRAY<STRUCT<key STRING, value STRUCT<string_value STRING, int_value INT64, float_value FLOAT64, ...>>>, ARRAY<STRUCT<STRING, STRING, INT64, ...>>. Supported signature: ARRAY_CONCAT(ARRAY, [ARRAY, ...])
谁能告诉我回答问题?
提前感谢您的回复。
问题 2(未解决)
是否可以更改 ARRAY
ex) [根据原文图 1]
更改 event_params.key 和 event_params.value.int_value
# value.string_value
k6(original) -> k7 (what i want just change k6 -> k6-1)
# value.int_value
1(original) -> 3 (what i want is original * 3)
我使用 UNNEST 行处理了这个问题,然后再次对它们进行 NEST。 (我觉得很长,不好回答)
【问题讨论】:
标签: google-bigquery