【问题标题】:Google Dataflow - BigQuery job backed by GoogleSheetsGoogle Dataflow - GoogleSheets 支持的 BigQuery 作业
【发布时间】:2018-07-29 05:13:17
【问题描述】:

我有一个用 Java 编写的 Google Dataflow 批处理作业。

  • 此 Java 代码访问 Bigquery 并执行一些转换 然后输出回 Bigquery。
  • 这段代码可以很好地访问 Bigquery 表。

但是,当我选择由联合来源(如 google 表格)支持的表格时,它不起作用。

它说没有找到具有 Google Drive 范围的 OAuth 令牌。

Pipeline options

PipelineOptions options = PipelineOptionsFactory.fromArgs(args).withValidation().create();
Pipeline p1 = Pipeline.create(options);

有什么想法吗?

【问题讨论】:

  • 你读过cloud.google.com/bigquery/…吗? “如果您使用 BigQuery API,除了 BigQuery 的范围之外,还请求 Google Drive 的 OAuth 范围。”我不熟悉 Dataflow API,但您需要以某种方式在请求中提供明确的云端硬盘访问权限。
  • 是的,我知道如何使用独立的 Python 脚本和 BigQuery API 来做到这一点。我只是不知道如何正确使用 Google Data Flow。

标签: google-bigquery google-cloud-dataflow google-sheets-api


【解决方案1】:

回答我自己的问题,但为了解决这个问题,我将使用 Google Apps 脚本作为原生表上传到 Bigquery。

请看这个link.

我只是将 Load CSV 数据代码 sn-p 修改到 BigQuery 中,然后创建一个可安装的触发器,以每晚执行此功能以上传到 BigQuery。

请注意,您不能执行 onEdit、onOpen 等需要授权的触发器。

【讨论】:

    【解决方案2】:

    你可以试试:

    gcloud auth login --enable-gdrive-access
    

    在启动 Dataflow 作业之前?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多