支持 Cloud Bigtable 作为 Cloud Dataflow 中的接收器

Support for Cloud Bigtable as Sink in Cloud Dataflow

是否有计划启用 Cloud Dataflow 以将数据写入 Cloud Bigtable?有可能吗?

添加自定义 Sink 来处理 IO 可能是一个干净的选择。

作为解决方法,我尝试在一个简单的 DoFn 中连接到一个 Bigtable(同一项目)。在 startBundle 步骤中打开连接和 table 并在 finishBundle.

中关闭它们

此外,我将 bigtable-hbase jar (0.1.5) 添加到类路径,并将 hbase-site.xml 的修改版本添加到获取的资源文件夹。

当 运行 在云中时,我得到一个 NPN/ALPN extensions not installed 异常。

当在本地 运行 时,尽管已将 GOOGLE_APPLICATION_CREDENTIALS 设置为生成的 json 密钥文件,但我得到一个异常,指出 ComputeEngineCredentials cannot find the metadata server.

如有任何帮助,我们将不胜感激。

Cloud BigTable 需要 NPN/ALPN 网络 jar。当前未安装在 Dataflow worker 上。因此,直接从 ParDo 访问 Cloud BigTable 是行不通的。

一种可能的解决方法是使用 HBase REST API 设置 REST 服务器以访问 Dataflow 外部虚拟机上的 Cloud Bigtable。 These instructions 可能会有所帮助。

然后您可以向此 REST 服务器发出 REST 请求。如果您发送大量请求(即处理大量数据并需要设置 REST 服务器的多个实例并在它们之间进行负载平衡),这可能会有些复杂。

我们现在有一个 Cloud Bigtable / Dataflow 连接器。您可以在以下位置查看更多信息:https://cloud.google.com/bigtable/docs/dataflow-hbase