Как создать DDL для массивов массивов в BigQuery

#google-bigquery

#google-bigquery

Вопрос:

Я пытаюсь создать определение таблицы в BigQuery, которое можно использовать для вставки записей, содержащих массив массивов

пример данных для массива массивов: [["1","2","3","4"],["1","2","3","4"],["1","2","3","4"]]

Я попробовал следующее —

 CREATE TABLE IF NOT EXISTS dataset.test1 (
  a String,
  b STRUCT <STRUCT <c ARRAY <ARRAY <STRING>>>>
)
  

Но получаю следующую ошибку: массив массивов не поддерживается

Как мне создать структуру таблицы для записей массива массивов?

Ответ №1:

Массив массива не поддерживается, лучшее, что вы можете сделать, это иметь внешний МАССИВ СТРУКТУРЫ, тогда СТРУКТУРА имеет внутреннее поле массива, попробуйте этот SQL:

 create table yourDataset.t (arrayOfArray ARRAY< STRUCT< arr ARRAY<STRING> > >)
AS SELECT  [Struct<ARRAY<STRING>>(["1","2","3","4"]),
            Struct<ARRAY<STRING>>(["1","2","3","4"]),
            Struct<ARRAY<STRING>>(["1","2","3","4"])];