【问题标题】:HBase pre-splittingHBase 预拆分
【发布时间】:2023-03-15 16:02:01
【问题描述】:

我想预先拆分 HBase 表,例如在这样的5个地区hbase(main):001:0> create 'table','info',SPLITS => ['1000','2000','3000','4000']

如果其中一个区域(例如,区域为1000~2000)满足分裂条件并且已经分裂(假设分裂前称为region1,分裂后称为region2)。现在已经写入了rowkey为1001的数据,那么会写入哪个区域,region1还是region2?

我知道在没有预拆分的情况下,数据将在拆分发生时写入新区域,但预拆分也是这种情况吗?

我遇到这个问题的原因是,当预分割完成然后发生分割时,区域变得额外。我本来只写了几个预先指定的区域,那么额外的区域是如何处理的呢?

【问题讨论】:

    标签: hadoop hdfs hbase


    【解决方案1】:

    要识别区域拆分后哪个区域持有密钥,您需要检查该区域的开始和结束密钥。属于 start 和 end 键的键将在该区域可用。

    echo "list_regions 'table'" | hbase shell -n

    当一个区域取消分裂时,它将创建 2 个新区域并在新区域处于活动状态时关闭旧区域。具有新拆分的区域将具有新的区域名称。

    echo "split 'table', '500'" | hbase shell -n 
    echo "list_regions 'table'" | hbase shell -n 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-14
      • 2021-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多