【问题标题】:Dataflow IO to BigTable [2.9.0]数据流 IO 到 BigTable [2.9.0]
【发布时间】:2019-06-15 02:53:45
【问题描述】:

我发现了这个Bigtable with Dataflow 示例https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/blob/master/java/dataflow-connector-examples/src/main/java/com/google/cloud/bigtable/dataflow/example/HelloWorldWrite.java

但是;它使用

beam-runners-google-cloud-dataflow-java 2.4.0

在 2.9.0 中,org.apache.beam.runners.dataflow.options.DataflowPipelineOptions 不再存在。

是否有从 Dataflow 写入 BigTable 的最新示例?

我发现:https://beam.apache.org/releases/javadoc/2.0.0/org/apache/beam/sdk/io/gcp/bigtable/BigtableIO.html - 这是在正确的轨道上吗?

【问题讨论】:

  • 为什么不修改示例以支持最新的SDK?在此过程中,您将了解一些有关如何编写 Dataflow 程序的详细信息。所需的更改很小。
  • 我会更新示例。

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


【解决方案1】:

我使用了您链接到的 BigTable 连接器 example,按照说明 here 与 Dataflow Java SDK 2.9.0 一起使用,它工作正常。唯一需要的额外步骤是更改 pom.xml 文件 (line) 中的 SDK:

<beam.version>2.4.0</beam.version> 替换为<beam.version>2.9.0</beam.version>

Dataflow 作业将启动(您将在 std 输出中看到 Dataflow SDK version: 2.9.0)。成功后,您可以在 HBase shell 中验证是否写入了正确的行:

hbase(main):001:0> scan 'Dataflow_test'
ROW                                                                              COLUMN+CELL
 Hello                                                                           column=cf:qualifier, timestamp=1548151071821, value=value_21.60451762361535
 World                                                                           column=cf:qualifier, timestamp=1548151064955, value=value_21.60451762361535
2 row(s) in 1.4230 seconds

【讨论】:

  • 哦;我一定是打错了一些东西,让自己有点困惑,此后将再次工作。谢谢
猜你喜欢
  • 2018-12-15
  • 2019-07-15
  • 1970-01-01
  • 2018-09-21
  • 2022-01-12
  • 1970-01-01
  • 2019-01-26
  • 2022-12-12
  • 1970-01-01
相关资源
最近更新 更多