Выпуск запущенного запроса в Google Collab + Bigquery - PullRequest
0 голосов
/ 25 февраля 2020

Я следовал пошаговому примеру и вставил этот фрагмент:

https://colab.research.google.com/notebook#snippetFileIds =% 2Fv2% 2Fexternal% 2Fnotebooks% 2Fsnippets% 2Fbigquery.ipynb & snippetQuery = Использование% 20BigQuery% 20 с% 20Pandas % 20API

однако я могу выполнить запрос, но затем появляется ошибка:

TypeError                                 Traceback (most recent call last)
<ipython-input-22-b9e37aa67e26> in <module>()
      9     COUNT(*) as total
     10   FROM `bigquery-public-data.samples.gsod`
---> 11 ''', project_id=project_id).total[0]
     12 
     13 df = pd.io.gbq.read_gbq(f'''

8 frames
/usr/local/lib/python3.6/dist-packages/pyarrow/table.pxi in pyarrow.lib.RecordBatch.from_arrays()

TypeError: from_arrays() takes at least 2 positional arguments (1 given)

Я пробовал несколько баз данных, но безуспешно.

Есть идеи?

1 Ответ

0 голосов
/ 26 февраля 2020

Я следовал инструкциям из раздела Использование BigQuery с Pandas API Colab , и он отлично работает для меня. Сначала вам нужно создать проект Cloud Platform, если у вас его еще нет, а затем включить биллинг и BigQuery API.

При запуске первого фрагмента кода необходимо щелкнуть ссылку, которая отображается в консоли, скопировать код подтверждения и вставить его в консоль в поле Enter verification code:

from google.colab import auth
auth.authenticate_user()

Перед запуском второго фрагмента кода вам необходимо изменить имя поля project_id на имя вашего фактического проекта, который вы создали в GCP:

import pandas as pd

# https://cloud.google.com/resource-manager/docs/creating-managing-projects
project_id = 'your Cloud Platform project ID'
sample_count = 2000

row_count = pd.io.gbq.read_gbq('''
  SELECT 
    COUNT(*) as total
  FROM `bigquery-public-data.samples.gsod`
''', project_id=project_id).total[0]

df = pd.io.gbq.read_gbq(f'''
  SELECT
    *
  FROM
    `bigquery-public-data.samples.gsod`
  WHERE RAND() < {sample_count}/{row_count}
''', project_id=project_id)

print(f'Full dataset has {row_count} rows')

После этого вы получите следующий вывод :

enter image description here

Надеюсь, это поможет вам.

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