【问题标题】:Use Bigquery API or bq command line tool to create new table使用 Bigquery API 或 bq 命令行工具创建新表
【发布时间】:2015-11-20 16:34:56
【问题描述】:

我正在尝试以编程方式从预先存在的表中生成新的 bigquery 表。我知道如何使用 bq 命令行工具创建新视图

bq --project_id='myProject' mk --view="SELECT * FROM [MYDATASET.database]" myProject.newTable

但这会创建一个视图,这对我没有帮助,我需要创建一个表有很多原因。

我很乐意创建一个视图,然后能够定期从该视图生成一个新表,但如果不通过 bigquery Web 界面手动操作,我无法弄清楚如何做到这一点。

我将不胜感激。

布拉德

【问题讨论】:

    标签: google-bigquery


    【解决方案1】:

    如果是普通表(不是视图),可以使用复制命令:

    bq cp <source> <destination>
    

    如果您尝试物化视图,或者如果您需要在流程中修改表的内容(例如,添加/删除/转换字段),您可以使用目标表运行查询:

    bq query \
      --destination_table=<destination> \
      --allow_large_results \
      --noflatten_results \
      'SELECT ... FROM <source>'
    

    查询选项更强大,但您需要为运行查询付费。副本免费。

    【讨论】:

    • 当我尝试使用 bq cp 并且 是一个视图时,我收到错误“Using table DATASET:dataBase.tablename is not allowed for this operation because其类型。尝试使用其他类型为 TABLE 的表。”我正在尝试其他选项,但查询很复杂,需要很长时间才能处理。
    • 如果源表是视图,bq cp 将不起作用。所以你需要使用查询版本。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 2012-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多