python - 使用 Python 将表从 Cloud Storage 加载到 BigQuery

标签 python google-bigquery google-cloud-storage google-cloud-endpoints

有人可以分享一个用于将 json newline_delimited 文件上传到新 Bigquery 表的作业配置示例吗?

尝试根据 Google 文档执行此操作,但到目前为止尚未成功。

最佳答案

This example来自 GCP 存储库的存储库是从 GCS 加载数据的好方法。

您在代码中唯一需要调整的就是将 job.source_format 设置为新的分隔 json 文件,如下所示:

def load_data_from_gcs(dataset_name, table_name, source):
    bigquery_client = bigquery.Client()
    dataset = bigquery_client.dataset(dataset_name)
    table = dataset.table(table_name)
    job_name = str(uuid.uuid4())

    job = bigquery_client.load_table_from_storage(
        job_name, table, source)

    job.source_format = 'NEWLINE_DELIMITED_JSON'
    job.begin()

    wait_for_job(job)

    print('Loaded {} rows into {}:{}.'.format(
        job.output_rows, dataset_name, table_name))

(正确的做法是接收此参数作为函数中的输入,但这只是一个示例)。

此外,当您运行此代码时,该表应该已经存在(我在 Python API 中查找了模式自动检测,但似乎还没有)。

关于python - 使用 Python 将表从 Cloud Storage 加载到 BigQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44367140/

相关文章:

google-bigquery - 创建公共(public)数据集(或 : split storage costs and compute costs across two projects)

javascript - 通过 js 跟踪文件上传到谷歌云存储的进度?

python - 使用 python 将 BigQuery 表数据导出到具有 where 子句的 Google Cloud Storage

python - 如何在 Python 中使用带前缀的 str.get_dummies?

google-bigquery - 如何通过 BigQuery 获取 BigQuery 表元数据(记录计数或上次更新日期或创建日期)

google-bigquery - Google BigQuery - 如何使用 bq 命令删除表?

Python url 将文件检索到 Google Cloud Storage

python - 如何在 Django 应用程序中转换时区

python - 从可迭代对象中填充计数字典

python - 我如何展平字典的深度仅超过 3 个级别