Google Dataflow - 由GoogleSheets

时间:2018-02-19 00:38:15

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

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

  • 此Java代码访问Bigquery并执行一些转换 然后输出回Bigquery。
  • 此代码可以正常访问Bigquery表。

但是,当我选择一个由像google sheet这样的联合源支持的表时,它不起作用。

它表示找不到包含Google云端硬盘范围的OAuth令牌。

Pipeline options

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你可以尝试:

gcloud auth login --enable-gdrive-access

在启动Dataflow作业之前?

答案 1 :(得分:0)

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

请参阅此link.

我只是将加载CSV数据代码段修改为BigQuery,然后创建一个可安装的触发器,每晚执行此功能以上传到Bigquery。

请注意,您无法执行需要授权的onEdit,onOpen等触发器。