首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将BigQuery列定义为ARRAY<STRUCT<INT64,INT64>>

无法将BigQuery列定义为ARRAY<STRUCT<INT64,INT64>>
EN

Stack Overflow用户
提问于 2020-08-14 21:39:10
回答 1查看 136关注 0票数 0

我正在尝试定义一个表,该表具有一个列,该列是使用标准sql的结构数组。这里的docs建议这应该是可行的:

代码语言:javascript
复制
CREATE OR REPLACE TABLE ta_producer_conformed.FundStaticData
(
  id STRING,
  something ARRAY<STRUCT<INT64,INT64>>
)

但我得到一个错误:

代码语言:javascript
复制
$ 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:

更改字段(edit: column!)名称不能解决这个问题。我做错了什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-14 21:46:06

结构中的字段需要命名,这样才能正常工作:

代码语言:javascript
复制
CREATE OR REPLACE TABLE ta_producer_conformed.FundStaticData
(
  id STRING,
  something ARRAY<STRUCT<x INT64,y INT64>>
)
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63413887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档