Google Cloud BigQuery load_table_from_dataframe () Parquet AttributeError - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь использовать пакет BigQuery для взаимодействия с Pandas DataFrames.В моем сценарии я запрашиваю базовую таблицу в BigQuery, использую .to_dataframe (), а затем передаю ее в load_table_from_dataframe (), чтобы загрузить ее в новую таблицу в BigQuery.

Моя первоначальная проблема заключалась в том, что str (uuid.uuid4 ()) (для случайных идентификаторов) автоматически преобразовывался в байты вместо строки, поэтому я заставляю схему вместо автоматического определения, что делать.

Теперь, однако, я передалjob_config с параметром job_config, который содержал схему, и теперь я получаю эту ошибку:

Файл "/usr/local/lib/python2.7/dist-packages/google/cloud/bigquery/client.py ", строка 903, в load_table_from_dataframe

job_config.source_format = job.SourceFormat.PARQUET AttributeError: у объекта 'dict' нет атрибута 'source_format'

У меня уже установлен PyArrow, и попытался также установить FastParquet, но это не помогло, и это не произошло, прежде чем я попытался форсировать схему.

Есть идеи?

https://google -cloud-python.readthedocs.io / en / latest / bigquery / creation.html # using-bigquery-with-pandas

https://google -cloud-python.readthedocs.io / en / latest / _modules /google / cloud / bigquery / client.html # Client.load_table_from_dataframe

Если посмотреть на фактический пакет, кажется, что он вызывает формат Parquet, но, как я уже сказал, у меня не было проблем раньше, только сейчас, когдаЯ пытаюсь дать схему таблицы.

РЕДАКТИРОВАТЬ: Это происходит только тогда, когда я пытаюсь написать в BigQuery.

1 Ответ

0 голосов
/ 25 июня 2018

Разобрался.После прополки через гугл документацию я забыл поставить:

load_config = bigquery.LoadJobConfig()
load_config.schema = SCHEMA

Упс.Никогда не загружал config config из пакета BigQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...