Загрузка данных таблицы в формате CSV на локальный компьютер в запросе Big

def downloadGbqToCsv(self,table_name,csv):

        credentials = GoogleCredentials.get_application_default()
    bigquery = discovery.build('bigquery', 'v2', credentials=credentials)

        job_data = {
        'sourceTable': {
                    'projectId': self.project_id,
                    'datasetId': self.dataset_id,
                    'tableId': table_name,
                },
                'destinationUris': 'path/to/download',
                'destinationFormat': 'CSV',
                'compression': 'NONE'
        }


        start = time.time()
        job_id = 'job_%d' % start
        # Create the job.

        result = bigquery.jobs().insert(projectId=self.project_id,body=job_data).execute()

        return result

Как я могу загрузить данные таблицы в CSV на мой локальный компьютер?

2 ответа

Запустите Распаковку, чтобы экспортировать таблицу в Google Cloud Storage в желаемом формате, затем вы можете использовать любой инструмент GCS для загрузки файлов в локальную файловую систему.

Вот пример конфигурации извлечения задания: https://cloud.google.com/bigquery/exporting-data-from-bigquery

я использую gsutil скопировать файлы из GCS на мой локальный диск.

Если вы хотите скопировать таблицу непосредственно на локальный диск, вам нужно будет использовать tabledata.list, чтобы вывести список по строкам таблицы, и преобразовать ее в выходной формат локально. bq команда head работает так, например:

bq --format = csv head -n 100 project: dataset.table

Но это загружает только первые 100 строк. Клиент bq не поддерживает перечисление всей таблицы таким образом, так как это слишком медленно. Однако, если ваши размеры данных невелики, это сработает для вас.

Выполнение запроса и сохранение на локальном компьютере в Big Query довольно непрямо, я упаковал код и надеюсь, что он поможет.

Packages version:
google-cloud (0.27.0)
google-cloud-bigquery (0.26.0)
google-cloud-storage (1.3.1)

https://github.com/IcarusSO/bigQueryExporter

Другие вопросы по тегам