Возможно ли получить большие наборы данных в панда DataFrame?Получение больших наборов данных в облако Datalab
Мой набор данных составляет ок. 1,5 Гб несжатого (вход для кластеризации), но когда я пытаюсь выбрать содержимое таблицы с помощью bq.Query(...)
он бросает исключение:
RequestException: Response too large to return. Consider setting allowLargeResults to true in your job configuration. For more information, see https://cloud.google.com/bigquery/troubleshooting-errors
Глядя на https://cloud.google.com/bigquery/querying-data?hl=en которой,
Вы должны указать таблица назначения.
Похоже, что единственное место, где можно отправлять большие запросы, - это другая таблица (а затем нажмите «Экспорт в GCS» и загрузить).
Там будет также (возможно большой обратной записи) в качестве объявления строки записываются обратно в базу данных.
Тот же набор данных прекрасно работает на моем 16Gb Laptop (несколько минут), но я смотрю на переход на DATALAB как наши движения данных в облаке.
Большое спасибо, любая помощь оценили
Спасибо. То, что найдено, это Table.to_dataframe() работает, но, похоже, не возвращается, а панель прогресса/загрузки на экране некоторое время. Я сравнил это с ручным экспортом через веб-интерфейс BQ в gzipped CSV в облачном хранилище Google, который загружал 4m + строки в pandas DataFrame за считанные секунды (с 16-гигабайтным экземпляром, как было предложено). – Chris
Да, Table.to_dataframe() не будет очень быстрым; он выполняет чтение каждой строки таблицы в Python, анализирует ее и создает словарь Python и, наконец, берет список словарей и создает фрейм данных, что много работы Python для каждой строки данных. Вы можете использовать Table.extract в Datalab для экспорта в GCS, который выполняется без ядра Python, который должен действовать как посредник, а затем использовать объект GCS, как вы упомянули. –
* Table.extract работал * Я ценю Datalab в бета-версии и иметь обратную связь, если полезно - 1. Я получил исключения с 'работы не found', когда я был BigQuery в различных проектах (поэтому чтение из project1: Dataset.Table к project2: gs: // some-bucket), потому что Datalab сейчас недоступен в ЕС, поэтому мне нужен второй проект. Использование одного проекта для решения всех этих исключений. 2. Пользовательский интерфейс в DataLab по-прежнему показывает поле «Запуск», хотя файл написан в GCS и может быть прочитан в другом ноутбуке. Большое спасибо за Вашу помощь. – Chris