#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"])];