2

我看到 Google Cloud 的示例代码中有 2 个 hbase 表扫描 API:

1)使用 google.cloud 模块 bigtable 对象 https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/bigtable/hello/main.py

from google.cloud import bigtable
client = bigtable.Client(project=project_id, admin=True)
instance = client.instance(instance_id)
table = instance.table(table_id)
partial_rows = table.read_rows(...)
partial_rows.consume_all()
for row_key, row in partial_rows.rows.items():

2) 使用 google.cloud 模块 bigtable 和 happybase 对象 https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/bigtable/hello_happybase/main.py

from google.cloud import bigtable
from google.cloud import happybase
client = bigtable.Client(project=project_id, admin=True)
instance = client.instance(instance_id)
connection = happybase.Connection(instance=instance)
table = connection.table(table_name)
for key, row in table.scan():

这两种机制中的哪一种是扫描 BigTable 的推荐方法?

此外,它们是否适合从 PySpark 使用?

4

1 回答 1

1

这些库中的任何一个都可以与 PySpark 一起使用,但是如果您正在构建一个新的应用程序,我们通常推荐我们的原生 API(第一个示例)而不是 HappyBase。

我们提供适用于 Google Cloud Bigtable 的 HappyBase 适配器,以方便开发人员使用 HappyBase 将现有工作负载从 HBase 部署迁移到 Google Cloud Bigtable。

于 2019-04-08T16:37:48.180 回答