#google-bigquery
#google-bigquery
Вопрос:
Я пытаюсь определить таблицу, в которой есть столбец, представляющий собой массив структур, используя стандартный sql. Документы здесь предполагают, что это должно сработать:
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:
Изменение поля (редактировать: столбец!) name это не исправляет. Что я делаю не так?
Ответ №1:
Поля внутри структуры должны иметь имена, чтобы это работало:
CREATE OR REPLACE TABLE ta_producer_conformed.FundStaticData
(
id STRING,
something ARRAY<STRUCT<x INT64,y INT64>>
)