Я попробовал 2 подхода для импорта большой таблицы в Google BigQuery, около 50 000 000 строк, 18 ГБ, во фрейм данных в Google Datalab, чтобы выполнить машинное обучение с использованием Tensorflow.
Сначала использую (все необходимые модули импортируются):
data = bq.Query('SELECT {ABOUT_30_COLUMNS...} FROM `TABLE_NAME`').execute().result().to_dataframe()
Затем он хранится Running...
до бесконечности. Хотя я делаю LIMIT 1000000
, это не меняется.
Во-вторых использую:
data = pd.read_gbq(query='SELECT {ABOUT_30_COLUMNS...} FROM `TABLE_NAME` LIMIT 1000000', dialect ='standard', project_id='PROJECT_ID')
Сначала он работает хорошо, но когда он переходит примерно к 450000 строкам (рассчитывается с использованием процентного и общего количества строк), он застревает на:
Got page: 32; 45.0% done. Elapsed 293.1 s.
И я не могу найти, как включить allowLargeResults в read_gbq (). Как говорится в документе, я пытаюсь:
data = pd.read_gbq(query='SELECT {ABOUT_30_COLUMNS...} FROM `TABLE_NAME` LIMIT 1000000', dialect ='standard', project_id='PROJECT_ID', configuration = {'query': {'allowLargeResult': True}})
Тогда я получаю:
read_gbq() got an unexpected keyword argument 'configuration'
Вот почему мне даже не удалось импортировать 1 000 000 строк в Google Cloud Datalab. Я действительно хочу импортировать в 50 раз больше данных.
Есть идеи по этому поводу?
Спасибо