hadoop - HBase 预拆分和最大区域大小

标签 hadoop hbase bigdata cloudera-cdh

我无法找到问题的答案:

我想预拆分 HBase 表,例如在5个地区。我已将配置中的最大文件大小设置为 10GB。 (当然只是例子)。如果我将所有 5 个区域都填满表怎么办? HBase 会为此创建第 6 个区域吗?

我发现它会自动分成 2 个区域,但我需要确定和一些解释。

感谢大家的回答。

最佳答案

让我们首先讨论一下预拆分。

仅当我们知道键的分布时才推荐使用,否则如果数据中存在任何偏差,预拆分可能会导致数据负载不均匀。

这是 Hbase 用于自动和可配置的表分片的一般性质。

从 Cloudera Hbase 站点引用:-

无论是否使用预分割,当一个区域达到一定限度时,它会自动分割成两个区域。

您可以通过设置配置“hbase.regionserver.region.split.policy”或配置表描述符来配置要使用的默认拆分策略。我们还可以实现我们自己的自定义拆分策略,并在创建表时将其插入,或者通过修改现有表:

HTableDescriptor tableDesc = new HTableDescriptor("example-table");
tableDesc.setValue(HTableDescriptor.SPLIT_POLICY, <SplitPolicy.class.getName()>);
//add columns etc
admin.createTable(tableDesc);

更多信息:- https://hortonworks.com/blog/apache-hbase-region-splitting-and-merging/

关于hadoop - HBase 预拆分和最大区域大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49745979/

相关文章:

eclipse - 映射减少分布式缓存

hadoop - 在map/reduce任务中拆分键/值输入文件

hadoop - HFile 创建 - 添加了一个在词法上不大于先前键的键

java - Spark序列化错误: When I insert Spark Stream data into HBase

java - Hbase 表不一致[区域未部署在任何区域服务器上]

java - 高级 Java 优化

apache-spark - Hadoop 最好的 spark 2.4 版本

r - 测试缓冲区是否已在 R 中刷新

hadoop - 使用hadoop和hbase运行单词计数器示例

hadoop - Apache Spark : NPE during restoring state from checkpoint