【发布时间】:2018-05-29 20:03:50
【问题描述】:
我正在尝试从 Spark (Dataproc) 访问 BigTable。我尝试了几种不同的方法,对于我正在尝试做的事情,SHC 似乎是最干净的并且表现良好。
https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/tree/master/scala/bigtable-shc
但是,这种方法要求我将 Google 云项目 ID 放在 hbase-site.xml 中,这意味着我需要使用我在其上运行的每个环境(产品、暂存等)的 spark 代码构建胖 jar 文件的单独版本这是我想避免的。
有没有办法让我在运行时传入谷歌云项目ID?
【问题讨论】:
-
有趣的问题。一般来说,这个问题更多的是关于 HBase、Spark 和 shc 如何管理这个单独的 hbase-site.xml 版本,而不是与 Cloud Bigtable 集成相关的任何问题。仅供参考,Cloud Bigtable 支持 HBase 2.0.0,它也支持 Spark。
-
@SolomonDuskis 你有没有关于如何使用 hbase2 api 与 bigtable 对话的示例?我可以找到这个:github.com/apache/hbase/blob/master/hbase-spark/src/main/scala/…,但它看起来仍然非常笨重。我只想指向一个 hbase 表,取回一个数据框并从那里工作火花魔法。
-
很遗憾,我们没有 HBase2 spark 示例。 FWIW,Cloud Bigtable 团队专注于 Dataflow 集成,我们还没有很好的 Spark 集成,至少在示例方面。
-
@SolomonDuskis 我喜欢数据流,我们在来自 pubsub 的流式管道中使用它(这就是数据首先进入 bigtable 的方式),但我也有数据科学家在需要限制的笔记本上工作获取大表数据的前进方式。试图找出一种不笨拙/麻烦的方式让他们使用我们的大表数据。
-
明白。也许我们的 BigQuery 集成可能会有所帮助:cloud.google.com/bigquery/external-data-bigtable
标签: apache-spark google-cloud-dataproc google-cloud-bigtable