Есть ли простой способ напрямую загрузить все данные, содержащиеся в определенном наборе данных в Google BigQuery? Я фактически загружаю "как csv", делая один запрос за другим, но он не позволяет мне получать более 15 тыс. Строк, а строки, которые мне нужно загрузить, составляют более 5 МБ. Спасибо вам
Как загрузить все данные в наборе данных Google BigQuery?
Ответ 1
Вы можете запускать задания извлечения BigQuery с помощью веб-интерфейса, инструмента командной строки или API-интерфейса BigQuery. Данные могут быть извлечены
Например, используя инструмент командной строки:
Сначала установите и авторизуйтесь, используя следующие инструкции: https://developers.google.com/bigquery/bq-command-line-tool-quickstart
Затем убедитесь, что у вас есть доступное хранилище Google Cloud Storage (см. Консоль Google Cloud для этой цели).
Затем выполните следующую команду:
bq extract my_dataset.my_table gs://mybucket/myfilename.csv
Подробнее о извлечении данных с помощью API здесь:https://developers.google.com/bigquery/exporting-data-from-bigquery
Ответ 2
Подробные пошаговые инструкции для загрузки большого запроса на вывод
включить биллинг
Вы должны указать номер своей кредитной карты в Google, чтобы экспортировать вывод, и вам, возможно, придется заплатить.
Но свободной квоты (1 ТБ обработанных данных) должно хватить для многих хобби-проектов.
создать проект
привязать выставление счетов к проекту
сделайте ваш запрос
создать новый набор данных
нажмите "Показать параметры" и включите "Разрешить большие результаты", если выходные данные очень велики
экспортировать результат запроса в таблицу в наборе данных
создать корзину в облачном хранилище.
экспортировать таблицу в созданное хранилище в облачном хранилище.
убедитесь, что нажали GZIP-сжатие
используйте имя типа
<bucket>/prefix.gz
.Если выходные данные очень велики, имя файла должно иметь звездочку
*
, а выходные данные будут разбиты на несколько файлов.
загрузить таблицу из облачного хранилища на свой компьютер.
Кажется невозможным загрузить несколько файлов из веб-интерфейса, если большой файл разделен, но вы можете установить
gsutil
и запустить:gsutil -m cp -r 'gs://<bucket>/prefix_*' .
См. также: Загрузка файлов и папок из корзины Google Storage в локальную папку
.В Ubuntu 16.04 есть
gsutil
, но это не связанный пакет.Вы должны установить и настроить, как описано в: https://cloud.google.com/storage/docs/gsutil
разархивировать локально:
for f in *.gz; do gunzip "$f"; done
Вот пример проекта, который мне нужен, для которого мотивировал этот ответ.
Ответ 3
Да шаги, предложенные Майклом Маночехири, являются правильным и простым способом экспорта данных из Google Bigquery. Я написал bash script, так что вам не нужно делать эти шаги каждый раз, просто используйте мой bash script. ниже - адрес github: https://github.com/rajnish4dba/GoogleBigQuery_Scripts
область:
1. Экспорт данных на основе большого запроса SQL.
2. экспортировать данные на основе имени вашей таблицы.
3. Перенесите файл экспорта на сервер SFtp.
попробуйте и дайте мне знать ваши отзывы.
для использования ExportDataFromBigQuery.sh -h