【问题标题】:Load schema json file to create table or job schema [closed]加载模式 json 文件以创建表或作业模式 [关闭]
【发布时间】:2016-11-28 20:00:53
【问题描述】:

如果我已经有了架构文件,例如:schema.json。如何使用 google-cloud-python API 加载文件以创建表或作业架构?

【问题讨论】:

    标签: python-2.7 google-bigquery google-cloud-python


    【解决方案1】:

    你可以试试这个解决方案:

    import json
    from google.cloud import bigquery
    
    bigquerySchema = []
    with open('schema.json') as f:
        bigqueryColumns = json.load(f)
        for col in bigqueryColumns:
            bigquerySchema.append(bigquery.SchemaField(col['name'], col['type']))
    
    bigqueryClient = bigquery.Client()
    tableRef = "myproject.mydataset.mytable"
    table = bigquery.Table(tableRef, schema=bigquerySchema)
    table = bigqueryClient.create_table(table)
    

    【讨论】:

    【解决方案2】:

    我认为目前这是不可能的。这就是为什么当我想加载具有许多不同列的复杂 JSON 文件时,我倾向于使用 bq cli。

    类似这样的:

    bq load --source_format=NEWLINE_DELIMITED_JSON \ [PROJECT_ID]:[DATASET].[TABLE] gs://[BUCKET]/[FILENAME].json \ [PATH TO SCHEMA FOLDER]/schema.json

    【讨论】:

      【解决方案3】:

      如果有人在 3 年后发现这个问题,现在可以在此处找到的云 shell 中完成:https://console.cloud.google.com/cloudshell/

      如果您不习惯使用命令行上传文件,可以单击编辑器图标并通过拖放进行上传。

      有关在命令行上传 JSON 数据(包括架构文件)的 Google Cloud Platform 文档可在此处找到:https://cloud.google.com/bigquery/docs/loading-data-cloud-storage-json#bigquery_load_table_gcs_json-cli

      【讨论】:

        猜你喜欢
        • 2016-08-09
        • 2013-12-13
        • 1970-01-01
        • 2021-06-12
        • 2019-04-18
        • 2021-12-11
        • 2018-06-30
        • 1970-01-01
        • 2019-03-26
        相关资源
        最近更新 更多