为Hbase Table创建拆分的策略。

时间:2017-06-08 12:20:36

标签: hbase

   Can any one suggest me strategies while splitting HBASE table. I have data range starts from [a-z]. 

我把它分成了{“e”,“j”,“o”,“u”}。这会是有效的方式。

1 个答案:

答案 0 :(得分:0)

您如何分割数据?

拆分表时,需要避免热点。例如,可以通过腌制来防止这种情况。如果您的行均匀分布,那么您的拆分就可以了。

但如果您不控制数据,最好将salting应用于行键。

我将从HBase documentation

给您举例

如果你有这样的行:

foo001
foo002
foo003
foo004

然后你的所有行将进入相同的分割,这将导致热点。

如果您在行的开头添加一个随机字符串,例如“e”,“j”,“o”或“u”,那么正在进行腌制非常重要,那么您将均匀地分发数据

e-foo002
u-foo003

您的数据将更均匀地分布。你可以应用随机或决定论腌制,这取决于你,但一个决定论者更好,因为随机可能会导致腌制的棘手问题。

作为(非常)快速的结论:如果你有均匀分布的数据,你的分裂很好,否则最好应用salting

编辑:在SO的文档中解释这个可能是个好主意。