【问题标题】:Support for Cloud Bigtable as Sink in Cloud Dataflow支持 Cloud Bigtable 作为 Cloud Dataflow 中的接收器
【发布时间】:2015-06-09 12:40:31
【问题描述】:

是否有计划让 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. 尽管已将 GOOGLE_APPLICATION_CREDENTIALS 设置为生成的 json 密钥文件。

任何帮助将不胜感激。

【问题讨论】:

  • 我确实收到了 NPN/ALPN extension not installed 错误。让我们看看需要做些什么来纠正它..
  • 我们目前正在努力为 Cloud Bigtable 作为 Cloud Dataflow 中的源和接收器提供支持,但我还没有具体的时间表与您分享。
  • 我们将在下周开源一个 ParDo() 示例。
  • @jkff 太好了!你能给出一个大概的估计吗?我们是在谈论几天、几周、几个月吗?
  • 我必须非常含糊,因为生产就绪的 bigtable 连接器依赖于解决不同团队交叉点的几个问题,这很难预测(你遇到了其中一个问题),并且取决于其他任务的优先级。这绝对不是几天,但希望也不是几个月。抱歉,我对此无能为力。

标签: java google-cloud-dataflow google-cloud-bigtable


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    Cloud BigTable 需要 NPN/ALPN 网络 jar。目前尚未在 Dataflow 工作人员上安装此功能。所以直接从 ParDo 访问 Cloud BigTable 是行不通的。

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

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

    【讨论】:

    • 感谢您的澄清。我也有同样的怀疑。您知道该问题的解决方法吗?还是我应该坐下来等待 Google 开发团队为 Cloud Bigtable 提供支持?
    猜你喜欢
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    • 2016-06-09
    • 2020-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多