Массивы не поддерживаются в Bigquery Python API
Поддержка Python Bigquery API указывает, что массивы возможны, однако, при переходе от фрейма данных pandas к большому запросу возникает проблема структуры pyarrow.
Единственным выходом является удаление столбцов и использование JSON Normalize для отдельной таблицы.
'''from google.cloud import bigquery
project = 'lake'
client = bigquery.Client(credentials=credentials, project=project)
dataset_ref = client.dataset('XXX')
table_ref = dataset_ref.table('RAW_XXX')
job_config = bigquery.LoadJobConfig()
job_config.autodetect = True
job_config.write_disposition = 'WRITE_TRUNCATE'
client.load_table_from_dataframe(appended_data, table_ref,job_config=job_config).result()'''
Это ошибка получена. NotImplementedError: struct
1 ответ
В настоящее время это не поддерживается из-за того, как работает сериализация паркета.
В GitHub клиентской библиотеки был создан запрос на добавление DataFrame, содержащего массивы pandas:
https://github.com/googleapis/google-cloud-python/issues/8544