Прямо сейчас я вижу пару проблем:
- Вы рассматриваете
nick
как массив, но он определен как STRING
.
- Вы рассматриваете
test
как структуру, содержащую массивы, но NESTED REPEATED
на самом деле массив , содержащий структуры .
К сожалению, похоже, что помощники, которые вы используете из библиотеки google-cloud-python
, неправильно поддерживают создание вывода, необходимого для полей NESTED REPEATED
(массив структуры). Существует проблема , связанная с тем, что в данный момент находится в статусе " To Do " (несмотря на то, что помечено как закрытое, разрешение не было).
Это возможно через другие библиотеки, а также изначально в синтаксисе BigQuery DML, который будет выглядеть примерно так:
INSERT INTO test.qwe (name,nick,test)
VALUES(
"name value",
"nick value",
[
STRUCT("adsfwerf" AS a,"asda" AS b),
STRUCT("d" AS a,"sdfds" AS b)
]
)
(Обратите внимание, что существует несколько различных синтаксисов для работы с типами ARRAY
и STRUCT
, но это наиболее лаконично, поэтому я выбрал его здесь.)
Таким образом, в качестве обходного пути, вы всегда можете построить запрос вне помощников, предоставляемых google-cloud-python
, а затем запустить его. Возможно, вы также захотите отреагировать на эту проблему и посмотреть, могут ли сопровождающие проекта предоставить какие-либо другие обходные пути или помочь в добавлении этой функциональности, или вам может потребоваться поискать другую библиотеку, которая полностью поддерживает функции, связанные с полями NESTED REPEATED
.