首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在python bigtable中进行分页

如何在python bigtable中进行分页
EN

Stack Overflow用户
提问于 2020-10-23 19:51:57
回答 1查看 106关注 0票数 0

在读取TB级的数据时,我试图在bigtable中使用python进行分页,但没有得到任何想法。您可以帮助或可以在bigtable中附加python分页的示例代码。

EN

回答 1

Stack Overflow用户

发布于 2020-10-23 20:56:02

你可以像这样做一个scan over your table,read_rows会为你提供一个迭代器:

代码语言:javascript
复制
def read_prefix(project_id, instance_id, table_id):
    client = bigtable.Client(project=project_id, admin=True)
    instance = client.instance(instance_id)
    table = instance.table(table_id)
    prefix = "phone#"
    end_key = prefix[:-1] + chr(ord(prefix[-1]) + 1)

    row_set = RowSet()
    row_set.add_row_range_from_keys(prefix.encode("utf-8"),
                                    end_key.encode("utf-8"))

    rows = table.read_rows(row_set=row_set)
    for row in rows:
        print_row(row)

read_rows返回一个处理重试的PartialRowsData对象,所以如果您的操作需要一定数量的项,您可以像这样在for循环中添加一个计数器,它应该具有与分页相同的效果:

代码语言:javascript
复制
count = 0
page_size = 10
for row in rows:
    print_row(row)
    count++
    if count % page_size == 0:
        # Do your action based on page size

还有更多的例子显示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64499470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档