是否有计划让Cloud Dataflow将数据写入Cloud Bigtable?它甚至可能吗?
添加自定义Sink
来处理IO可能是一个干净的选择。
作为一种解决方法,我尝试使用简单的DoFn
连接到Bigtable(同一个项目)。在startBundle
步骤中打开连接和表格,然后在finishBundle
中关闭它们。
此外,我将bigtable-hbase jar (0.1.5)
添加到类路径中,并将hbase-site.xml
的修改版本添加到资源文件夹中。
在云端运行时,我收到NPN/ALPN extensions not installed
例外。
在本地运行时,尽管已将ComputeEngineCredentials cannot find the metadata server.
设置为生成的json密钥文件,但仍会收到GOOGLE_APPLICATION_CREDENTIALS
的异常。
非常感谢任何帮助。
答案 0 :(得分:4)
我们现在拥有Cloud Bigtable / Dataflow连接器。您可以在以下位置查看更多信息:https://cloud.google.com/bigtable/docs/dataflow-hbase
答案 1 :(得分:0)
Cloud BigTable需要NPN / ALPN网络jar。目前尚未在Dataflow工作器上安装此功能。因此,直接从ParDo访问Cloud BigTable将无法正常工作。
一种可能的解决方法是使用HBase REST API设置REST服务器以访问Dataflow之外的VM上的Cloud Bigtable。 These instructions可能有所帮助。
然后,您可以向此REST服务器发出REST请求。如果您发送大量请求(即处理大量数据并需要设置REST服务器的多个实例并在它们之间实现负载平衡),这可能会有些复杂。