开发者社区> 问答> 正文

HBase如何查询全表数据?

HBase如何查询全表数据?

展开
收起
芯在这 2021-12-08 15:35:28 1013 0
1 条回答
写回答
取消 提交回答
  • HBase scan 命令用来查询全表数据,使用时只需指定表名即可。

    scan 指定条件输出时,需要使用大括号将参数包含起来。

    注意指定列族和列名称使用 COLUMN 限定符;指定输出行键范围使用 STARTROW 和 ENDROW 限定符,此时输出行不包括 ENDROW 行。例如,上图中 ENDROW=>0003,只会输出行键为 0002 的记录,不会输出 0003 记录。

    上述限定条件也可以联合使用,中间用逗号隔开即可。

    在 HBase 中,具有相同行键的单元格,无论其属于哪个列族,都可以将整体看作一个逻辑行, 使用 count 命令可以计算表的逻辑行数。

    在关系型数据库中,有多少条记录就有多少行,表中的行数很容易统计。而在 HBase 里,计算逻辑行需要扫描全表的内容,重复的行键是不纳入计数的,且标记为 tombstone 的删除数据也不纳入计数。

    执行 count 命令其实是一个开销较大的进程,特别是应用在大数据场景时,可能需要持续很长时间,因此,用户一般会结合 Hadoop 的 MapReduce 架构来进行分布式的扫描计数。

    2021-12-08 15:36:15
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
大数据时代的存储 ——HBase的实践与探索 立即下载
Hbase在滴滴出行的应用场景和最佳实践 立即下载
阿里云HBase主备双活 立即下载