【问题标题】:How can I pass runtime parameters to BigtableIO in Java?如何在 Java 中将运行时参数传递给 BigtableIO?
【发布时间】:2018-01-29 12:11:25
【问题描述】:

根据this page,BigtableIO 不支持运行时参数(仅适用于 BigQuery、PubSub 和 Text)。在不重新实现类的情况下是否有可能的解决方法或示例?

实际上,我使用的是来自 bigtable-hbase-beam 依赖项的 CloudBigtableIO。是否期望在某个时候同时支持这两个库?

【问题讨论】:

  • 如果您的目标是在运行时将突变写入不同的表,您可能必须定义一个分区的管道以写入不同的表。您是否有任何特殊原因需要支持 Bigtable 的运行时参数?
  • 你的目标是什么?你想用运行时参数做什么? (我不确定在这种情况下“运行时参数”实际上是什么意思)。我是图书馆的维护者,所以我很乐意提供帮助,只要我有更多信息。
  • 我的主要目标是在从模板运行作业时让 Bigtable instanceId 和 tableId 可配置。要从模板运行作业,您可能可以传递不同的参数以使 IO 参数可配置,但它们需要接受 ValueProvider 实例。为了构建管道,我使用了 CloudBigtableIO.writeToTable() 和 CloudBigtableTableConfiguration 实例。由于该配置实例不接受 ValueProvider 实例,因此我不能这样做。 (在下一条评论中继续)
  • 白天我看到BigtableIO class 现在接受 ValueProvider 实例,但仅在主分支中,尚未发布。我个人发现 hbase-beam 库更易于管理,因此我特别有兴趣了解更多有关此库的信息。

标签: google-cloud-dataflow apache-beam google-cloud-bigtable apache-beam-io


【解决方案1】:

从拉取请求 https://github.com/apache/beam/pull/4357 开始,我们现在支持参数。 Here 是您可能会感兴趣的代码。

您引用的文档 page 也包含 Bigtable 的更新描述。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-06
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 2018-10-02
    • 1970-01-01
    相关资源
    最近更新 更多