Не удается определить столбец BigQuery как МАССИВ<STRUCT>

#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>>
)