Google bigquery BigQuery:选择重复字段作为重复字段
我通过Avro将数据加载到BigQuery中,我的一列是数组。不过,这似乎是load ok,因为BigQuery将root作为前缀附加到列名中,所以我需要将所有列选择到相应的名称中。我已包含--noflatte_results标志,但查询失败,原因是“无法为字段order_id创建有效的输出架构。请尝试在最外层的SELECT中将order_id重命名为root.order_id” 查询:Google bigquery BigQuery:选择重复字段作为重复字段,google-bigquery,Google Bigquery,我通过Avro将数据加载到BigQuery中,我的一列是数组。不过,这似乎是load ok,因为BigQuery将root作为前缀附加到列名中,所以我需要将所有列选择到相应的名称中。我已包含--noflatte_results标志,但查询失败,原因是“无法为字段order_id创建有效的输出架构。请尝试在最外层的SELECT中将order_id重命名为root.order_id” 查询: SELECT root.a AS a, root.b AS b, root.orders_ids AS or
SELECT
root.a AS a,
root.b AS b,
root.orders_ids AS order_ids,
root.c AS c,
root.d AS d
FROM dataset.table
使用旧式SQL很难从重复字段中删除父记录
--noflatte_results
是最好的选择,不支持重复字段上的许多转换,例如重命名
如果您使用标准SQL,它应该相当简单。默认情况下,标准SQL查询的结果是不平坦的,在SELECT
子句中引用记录中的字段会将其从父记录中删除
SELECT root.* from dataset.table;
使用CLI,您可以通过向命令行添加--nouse\u legacy\u SQL
来指定使用标准SQL
相关文件: