【问题标题】:BigQuery bq command - load only if table is empty or doesn't existBigQuery bq 命令 - 仅在表为空或不存在时加载
【发布时间】:2015-04-20 11:38:37
【问题描述】:

我正在使用 bq 执行加载命令,例如:

bq load ds.table gs://mybucket/data.csv dt:TIMESTAMP,f1:INTEGER

我只想在表为空或不存在时加载数据。

有可能吗?

编辑:

基本上我想通过 bq 命令行工具使用 WRITE_EMPTY API 选项:

https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.load.writeDisposition

如果表已存在且包含数据,则作业结果中会返回“重复”错误。

【问题讨论】:

标签: google-bigquery google-cloud-platform


【解决方案1】:

如果您查看包含 BigQuery CLI 源代码的 bq.py,您会发现 _Load() 方法没有实现 WRITE_EMPTY API 选项的选项。它是默认的 WRITE_APPEND 或可选的 WRITE_TRUNCATE。

正如您所指出的,API 确实支持 WRITE_EMPTY - 如果您想在 CLI 上将其视为一个选项,您可以在 https://code.google.com/p/google-bigquery/issues/list?q=label:Feature-Request 提交功能请求

【讨论】:

    【解决方案2】:

    您可以使用 BQ 命令行工具。

    获取表格信息

    bq show <project_id>:<dataset_id>.<table_id>
    

    列出表格

     bq ls [project_id:][dataset_id]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      相关资源
      最近更新 更多