복붙노트

[HADOOP] HBase 테이블의 영역 수를 늘리는 방법

HADOOP

HBase 테이블의 영역 수를 늘리는 방법

Split 알고리즘으로 HexStringSplit을 사용하여 8 개 영역의 사전 분할로 HBase에서 테이블을 만들었습니다. 이제 기존 테이블과 데이터를 손상시키지 않고 영역 수를 늘리고 싶습니다. 사전 분할을 만든 명령은 다음과 같습니다.

't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}을 만듭니다.

그대로 지역 수를 늘리려면이 명령을 다시 실행할 수 없습니다. 기존 테이블의 영역 수를 업데이트하는 명령이 있습니까?

해결법

  1. ==============================

    1.작성한 명령은 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}와 같이 8 개가 아닌 15 개의 영역을 생성합니다.

    작성한 명령은 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}와 같이 8 개가 아닌 15 개의 영역을 생성합니다.

    분할 명령으로 영역을 분할 할 수 있습니다.

    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입니다 (기억하세요, 16 진수입니다)

    처음으로 테스트 테이블을 가지고 시험해보십시오.

  2. from https://stackoverflow.com/questions/29603287/how-to-increase-number-of-regions-in-an-hbase-table by cc-by-sa and MIT license