如何在运行时将 google 云项目传递给 SHC BigTable 连接器?
How do I pass in the google cloud project to the SHC BigTable connector at runtime?
我正在尝试从 Spark (Dataproc) 访问 BigTable。我尝试了几种不同的方法,SHC 似乎是我尝试做的最干净的方法并且表现良好。
https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/tree/master/scala/bigtable-shc
但是这种方法要求我将 Google 云项目 ID 放在 hbase-site.xml
中,这意味着我需要为每个环境 运行 on (prod, staging, etc.) 这是我想避免的事情。
有没有办法让我在 运行 时间传入 google 云项目 ID?
据我所知,SHC 库不允许您通过 hbase 配置(查看 here)。
最简单的方法是 运行 从 VM metadata and sets it in hbase-site.xml
. We are working on an initialization that does that and installs the Hbase client for Bigtable. Check out the in-progress pull request 获取 VM 项目 ID 的初始化操作,如果您需要立即编写一个,这将是一个很好的起点。否则,我预计 PR 将在接下来的几周内合并。
或者,考虑在 SHC 中添加一个选项,用于将属性传递给它创建的 HBaseConfiguration。对于更广泛的社区来说,这将是一个有价值的功能。
我正在尝试从 Spark (Dataproc) 访问 BigTable。我尝试了几种不同的方法,SHC 似乎是我尝试做的最干净的方法并且表现良好。
https://github.com/GoogleCloudPlatform/cloud-bigtable-examples/tree/master/scala/bigtable-shc
但是这种方法要求我将 Google 云项目 ID 放在 hbase-site.xml
中,这意味着我需要为每个环境 运行 on (prod, staging, etc.) 这是我想避免的事情。
有没有办法让我在 运行 时间传入 google 云项目 ID?
据我所知,SHC 库不允许您通过 hbase 配置(查看 here)。
最简单的方法是 运行 从 VM metadata and sets it in hbase-site.xml
. We are working on an initialization that does that and installs the Hbase client for Bigtable. Check out the in-progress pull request 获取 VM 项目 ID 的初始化操作,如果您需要立即编写一个,这将是一个很好的起点。否则,我预计 PR 将在接下来的几周内合并。
或者,考虑在 SHC 中添加一个选项,用于将属性传递给它创建的 HBaseConfiguration。对于更广泛的社区来说,这将是一个有价值的功能。