繁体   English   中英

如何定义hbase行键,以便当表中的记录数为百万时以最佳方式获得下标

[英]how to we define hbase rowkey so we get reords in optimize manner when millons of records in table

我有3千万条记录放入表中,但是当尝试从中查找一条记录时,我将花费大量时间进行检索。 您能否建议我如何生成行键,以便我们能够快速获取记录。

现在,我已经将1,2,3的自动增量ID用作行键,以及需要采取哪些步骤来提高性能。 让我知道你的担心

通常,当我们要提高SQL结构化表的性能时,我们会遵循一些基本/常规调整,例如将适当的索引应用于查询中使用的列。 将适当的逻辑分区或存储桶应用于表。 给缓冲区足够的内存来执行一些复杂的操作。

当涉及大数据时,特别是如果您使用hadoop,真正的问题在于硬盘和缓冲区之间的上下文切换。 和不同服务器之间的上下文切换。 您需要确保如何减少上下文切换以获得更好的性能。

一些注意事项:

使用解释功能了解查询结构并尝试提高性能。

如果您使用整数row-key,那么它将提供最佳性能,但始终在表的开头创建row-key / index。 因为后来的性能被杀死。

在Hive / Impala中针对hbase表创建外部表时,将hbase行键映射到Hive / Impala中的字符串列。 如果不这样做,则查询中不使用行键,并扫描整个表。

永远不要在行键查询中使用LIKE,因为它会扫描整个表。 使用BETWEEN或=,<,> =。 如果您没有在查询中使用针对行键列的过滤器,则行键设计可能是错误的。 行键应设计为包含查找特定数据子集所需的信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM