Я пытаюсь добавить таблицу в другую таблицу с помощью панд, извлекая данные из BigQuery и отправляя их в другой набор данных BigQuery. В то время как схема таблицы точно такая же, я получаю ошибку "" Пожалуйста, убедитесь, что структура и "
pandas_gbq.gbq.InvalidSchema: убедитесь, что структура и типы данных в кадре данных соответствуют схеме таблицы назначения. "
Эта ошибка возникла ранее, когда я пошел на перезапись таблиц, но в этом случае наборы данных слишком велики, чтобы сделать это (и это не является устойчивым решением).
df = pd.read_gbq(query, project_id="global-dashboard-146013", credentials=bigquery_key,
dialect='standard')
pd.io.gbq.to_gbq(df, dataset, projectid,
if_exists='append',
table_schema=[{'name': 'Date','type': 'STRING'},
{'name': 'profileId','type': 'STRING'},
{'name': 'Opco','type': 'STRING'},
{'name': 'country','type': 'STRING'},
{'name': 'deviceType','type': 'STRING'},
{'name': 'userType','type': 'STRING'},
{'name': 'users','type': 'INTEGER'},
{'name': 'sessions','type': 'INTEGER'},
{'name': 'bounceRate','type': 'FLOAT'},
{'name': 'sessionsPerUser','type': 'FLOAT'},
{'name': 'avgSessionDuration','type': 'FLOAT'},
{'name': 'pageviewsPerSession','type': 'FLOAT'}
],
credentials=bigquery_key)
Схема в BigQuery выглядит следующим образом:
Date STRING
profileId STRING
Opco STRING
country STRING
deviceType STRING
userType STRING
users INTEGER
sessions INTEGER
bounceRate FLOAT
sessionsPerUser FLOAT
avgSessionDuration FLOAT
pageviewsPerSession FLOAT
Я тогда получаю следующую ошибку:
Traceback (последний вызов был последним): файл "..file.py", строка 63, в
Основной ()
Файл "..file.py", строка 57, в основном
updating_general_data (bigquery_key)
Файл "..file.py", строка 46, в update_general_data
Полномочия = bigquery_key)
Файл
".. \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ сайт-пакеты \ панды \ ю \ gbq.py",
строка 162, в to_gbq
учетные данные = учетные данные, подробный = подробный, private_key = private_key)
Файл
".. \ AppData \ Local \ Programs \ Python \ Python37-32 \ Lib \ сайт-пакеты \ pandas_gbq \ gbq.py",
строка 1141, в to_gbq
«Пожалуйста, убедитесь, что структура и» pandas_gbq.gbq.InvalidSchema: Пожалуйста, убедитесь, что структура и
типы данных в DataFrame соответствуют схеме таблицы назначения.
Мне кажется, что есть матч 1 на 1. Я видел, что другие потоки говорят об этом, и эти потоки в основном говорят о форматах даты, хотя формат даты в этом случае уже является строкой, а затем с table_schema, все еще сделанным в виде строки.