как исправить "полевые единицы уже существуют в схеме" для панд gpq - PullRequest
0 голосов
/ 18 июня 2019

Версии: Mac OS Mojave 10.14.5 Python 3.6.5 Pandas 0.24.2 pandas-gbq 0.10.0

Я пытаюсь получить данные из API корабля и загрузить их в bigquery для использования в нашемПлатформа BI (таблица).Я успешно сделал вызов API, который возвратил объект json.Я успешно превратил это в объект df панды.Когда я пытаюсь записать этот df в набор данных в BigQuery, я получаю сообщение об ошибке: «полевые единицы уже существуют в схеме», хотя таблица, которую я пишу, не существует и создается pandas-gbq.

Я попытался создать таблицу, в которую я пишу, и просто добавить поля, но я получаю похожую ошибку, которая мне нужна, чтобы убедиться, что мои схемы выровнены.Я попытался установить if_exists = replace, который также не работал.Я нашел несколько вопросов, которые предлагают убедиться, что все мои столбцы являются объектами меток времени, а не датой-временем, что также не решило проблему.

Вот мой код:

df = pd.io.json.json_normalize(data)
df.columns = df.columns.map(lambda x: x.split(".")[-1])
pandas_gbq.to_gbq(df, 'my_dataset.my_table', project_id='project-id',if_exists='replace')

Вот ошибка:

GenericGBQException: Reason: 400 POST https://www.googleapis.com/bigquery/v2/projects/forte-data/datasets/ss/tables: Field units already exists in schema

Любая помощь будет принята с благодарностью.

спасибо

...