如何解决无法将BigQuery列定义为ARRAY <STRUCT <INT64,INT64 >>
我正在尝试使用标准sql定义一个表,该表的列为结构数组。这里的docs建议这样做:
CREATE OR REPLACE TABLE ta_producer_conformed.FundStaticData
(
id STRING,something ARRAY<STRUCT<INT64,INT64>>
)
但是我得到一个错误:
$ bq query --use_legacy_sql=false --location=asia-east2 "$(cat xxxx.ddl.temp.sql | awk 'ORS=" "')"
Waiting on bqjob_r6735048b_00000173ed2d9645_1 ... (0s) Current status: DONE
Error in query string: Error processing job 'xxxxx-10843454-yyyyy-
dev:bqjob_r6735048b_00000173ed2d9645_1': Illegal field name:
更改字段(编辑:列!)名称不能解决该问题。我在做什么错了?
解决方法
结构中的字段需要命名,这样才能起作用:
CREATE OR REPLACE TABLE ta_producer_conformed.FundStaticData
(
id STRING,something ARRAY<STRUCT<x INT64,y INT64>>
)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。