首页 文章

通过加载作业插入BigQuery(不是流式)

提问于
浏览
2

我希望使用Dataflow使用BQ load jobs将数据加载到BigQuery表中 - 不流式传输(流式传输对于我们的用例来说会花费太多) . 我看到Dataflow SDK内置支持通过BQ流插入数据,但我无法在Dataflow SDK中找到任何支持开箱即用的加载作业的内容 .

一些问题:

1)Dataflow SDK是否对BigQuery加载作业插入有OOTB支持?如果没有,是否有计划?

2)如果我需要自己动手,有什么好办法?

如果我必须自己动手,使用Google Cloud 端存储执行BQ加载作业是一个多步骤的过程 - 将文件写入GCS,通过BQ API提交加载作业,并(可选)检查状态,直到作业完成(或失败) . 我希望我可以使用现有的TextIO.write()功能写入GCS,但我不确定如何通过后续调用BQ API来提交加载作业(以及可选的后续调用以检查作业状态,直到完成为止 .

此外,我将在流模式下使用Dataflow,窗口为60秒 - 所以我也想每60秒执行一次加载工作 .

建议?

1 回答

  • 0

    BigQueryIO.write() 在输入 PCollection 有界时始终使用BigQuery加载作业 . 如果您希望它也使用它们,如果它是无界的,请指定 .withMethod(FILE_LOADS).withTriggeringFrequency(...) .

相关问题