hadoop—如何定义hbase rowkey,以便在表中有数百万条记录时以优化的方式获得reords

jc3wubiy  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(342)

我在表中有3000万条记录,但当我试图从中找到一条记录时,我会花很多时间来检索。你能告诉我如何生成行键,这样我们就可以快速获取记录了。
现在,我已经采取自动增量id 1,2,3等作为行键,以及需要采取什么步骤来提高性能。让我知道你的担心

yvgpqqbh

yvgpqqbh1#

一般来说,当我们考虑sql结构化表的性能时,我们会遵循一些基本/常规的调整,比如对查询中使用的列应用适当的索引。对表应用适当的逻辑分区或bucketing。为缓冲区提供足够的内存来执行一些复杂的操作。
当谈到大数据时,特别是如果您使用的是hadoop,那么真正的问题在于硬盘和缓冲区之间的上下文切换。以及不同服务器之间的上下文切换。您需要确定如何减少上下文切换以获得更好的性能。
注意事项:
使用explain特性了解查询结构并尝试提高性能。
如果您使用的是整数行键,那么它将提供最佳性能,但总是在表的开头创建行键/索引。因为后来的表演杀人。
在hive/impala中针对hbase表创建外部表时,请将hbase行键Map到hive/impala中的字符串列。如果不这样做,查询中将不使用行键,并且扫描整个表。
永远不要使用like-in-row键查询,因为它扫描整个表。在或=,<,>=之间使用。如果在查询中不对行键列使用筛选器,则行键设计可能是错误的。行键应该被设计为包含查找特定数据子集所需的信息

相关问题