gpt4 book ai didi

hadoop - 如何增加 HBase 表中的区域数

转载 作者:可可西里 更新时间:2023-11-01 14:18:46 26 4
gpt4 key购买 nike

我在 HBase 中创建了一个表,其中预拆分了 8 个区域,使用 HexStringSplit 作为拆分算法。现在我想增加区域的数量,而不破坏现有表和其中的数据。我创建预拆分的命令是

创建 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}

事实上,我无法再次执行此命令以增加区域数量。是否存在更新现有表中区域数量的命令?

最佳答案

请注意,您提供的命令创建了 15 个区域,而不是 8 个:create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}

您可以使用分割命令分割区域:

hbase(main):001:0> split

Here is some help for this command:
Split entire table or pass a region to split individual region. With the
second parameter, you can specify an explicit split key for the region.
Examples:
split 'tableName'
split 'regionName' # format: 'tableName,startKey,id'
split 'tableName', 'splitKey'
split 'regionName', 'splitKey'

您应该使用 split 'regionName', 'splitKey'split 'tableName', 'splitKey',只是不要忘记提供正确的 SplitKey(中间一)到每个区域,确保均匀分配。您可以在 http://your-hbase-master:60010/table.jsp?name=your-table 查看当前区域

即:如果您有一个 StartKey 为 20000000 和 EndKey 为 40000000 的区域,您的 splitKey 将为 30000000,或者,如果您有一个具有 StartKey 20000000 和 EndKey 30000000 的区域,您的 SplitKey 将为 28000000(记住,它是十六进制)

请先尝试使用测试表,直到您对该过程有足够的信心。

关于hadoop - 如何增加 HBase 表中的区域数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603287/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com