【问题标题】:Bigtable node client: How to set read offset for pagination?Bigtable 节点客户端:如何设置分页的读取偏移量?
【发布时间】:2018-09-16 10:11:45
【问题描述】:

我正在使用createReadStream 从 Bigtable 中读取行。我想对结果进行一些分页,因此限制和偏移是必要的。有一个限制选项,所以这很棒。但是,我找不到设置偏移量的方法。我该怎么办?

【问题讨论】:

    标签: node.js google-cloud-bigtable


    【解决方案1】:

    使用https://cloud.google.com/nodejs/docs/reference/bigtable/0.13.x/Table#createReadStream start 是一个选项。 当您检索第一页时。您可以使用最后一行键设置下一页的开始 (将需要排除所有页数 > 1 的第一个结果)

    【讨论】:

    • 嗯,这是一种方法。但后来我需要第 n-1 页来获取第 n 页。中间不可能得到任意页面,我认为这对用户来说是一种糟糕的体验。
    • Bigtable 没有行 offset 索引,它只有一个主行 key 索引。如果此功能对您很重要,您可以在 Bigtable 之上构建二级索引,将行位置映射到键。
    • @IgorBernstein,您能否扩展一下您的评论并发布一个答案,解释如何构建您建议的二级索引?谢谢。
    • 我只是说 OP 可以创建一个单独的表来跟踪行的偏移量。在最简单的情况下,应用程序代码可以将页码存储为键,将起始键存储为值。在不知道架构、数据分布或使用模式的情况下,我认为我无法对此进行太多扩展(是否仅附加?随机插入?)
    猜你喜欢
    • 2015-11-29
    • 2016-02-20
    • 2018-01-11
    • 2019-05-18
    • 2014-03-13
    • 2014-08-21
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    相关资源
    最近更新 更多