【问题标题】:Select JSON objects based on unique ID in Google Cloud Bigtable根据 Google Cloud Bigtable 中的唯一 ID 选择 JSON 对象
【发布时间】:2019-01-12 02:47:44
【问题描述】:

我最近开始在 Google Cloud Platform 上工作。假设我有一个名为 sample_table 的 Bigtable,它由 JSON 对象组成。如果我需要前 500 个对象,我有以下内容:

for key, data in sample_table.scan(limit=500):

如何使用 Python 根据键(唯一 ID)选择对象?例如:在bm_450:bm_500 之间的范围内,即450 to 500 之间的对象。

【问题讨论】:

  • 我对此并不熟悉,但在阅读后我发现您可以使用Table.read_row()“按其键读取一行”。也许有一个简单的while循环?
  • @KGSHbteamMineTeamBeastO_ 如何根据范围选择 json 对象?如果只想迭代键 bm_450 to bm_500 范围内的对象?

标签: python json python-3.x google-cloud-platform google-cloud-bigtable


【解决方案1】:

使用最新的原生 Python 客户端 (google-cloud-bigtable == 0.29.0),您可以在表实例上使用 read_rows 方法扫描行,并带有 start_keyend_key 参数:

some_rows = sample_table.read_rows(start_key="bm_450", end_key="bm_500")

请注意,在这里,您将检索bm_450(包括)和bm_500(不包括)之间的所有行。

然后你可以用这样的东西迭代行:

some_rows.consume_all() 

for row_key, row in some_rows.rows.items():
    key = row_key.decode('utf-8')
    cell = row.cells[column_family][qualifier][0]
    value = cell.value.decode('utf-8')
    print('\t{}: {}'.format(key, value))

最后一个例子的灵感来自the docs。您可以找到样品here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-03
    • 2016-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多