Я работаю с Google BigQuery, используя приложение Python.
У меня есть фрейм данных с полем, которое содержит списки, назовем его «ключевые слова».У меня также есть таблица BigQuery с полем ключевых слов STRING и mode = REPEATED.
Это схема моей таблицы BigQuery:
Моя схема таблицы BigQuery
SCHEMA = [
bq.SchemaField("id", "STRING", mode="NULLABLE"),
bq.SchemaField("fecha", "DATE", mode="NULLABLE"),
bq.SchemaField("keywords", "STRING", mode="REPEATED")
]
И это мой код:
import pandas as pd
from datetime import date
from google.cloud import bigquery as bq
df_dict = {
"id": ["asdf173","qwer783","vcda619"],
"fecha": [date(2019,1,15), date(2019,1,28), date(2019,2,12)],
"keywords": [['a','b'], ['c','d','e'],['f']]
}
df = pd.DataFrame(df_dict)
client = bq.Client()
dataset = client.dataset(dataset_name)
table_ref = dataset.table(table_name)
client.load_table_from_dataframe(df, table_ref).result()
Я получаю следующую ошибку при попытке загрузить кадр данных в таблицу BigQuery:
400Предоставленная схема не соответствует идентификатору проекта таблицы: dataset-name.table-name.Ключевые слова в поле изменили тип с STRING на RECORD.
Как я могу решить эту проблему?