2017-03-28 1 views
1

노드가 개이고 000 : 099 접두어가 붙은 여러 개의 테이블 A, B, C이 있다고 가정 해 봅시다. 테이블은 접두사를 기반으로하는 분할로 만들어 지므로 각 테이블에는 100 개의 영역이 있습니다.HBase region - region 서버 프로그래밍 지정

내가 접두사로 모든 ​​행을 지정하고 싶습니다

:

node-00
  • 000, node-01-
  • 001,
  • 등등.

아이디어는 내 일반적인 시나리오는 표 A을 처리 할 수 ​​있기 때문에, 동일한 시스템에 동일한 접두어 데이터를 보유하고있는 데이터를 변환하고 테이블 B에 넣어하는 것입니다, 다음 테이블 B를 처리 일부 변환 및 집계를 여러 번 수행합니다.

지침이 docs에 표시되지 않으며 진행 방법에 대한 제안이 필요합니다.

답변

1

영역 수가 필요한 새 테이블을 만들 수 있습니다. 그런 다음 이동 명령을 사용하여 테이블을 채우기 전에 수동 영역 균형을 조정하여 필요한 서버에 영역을 배치하십시오. 그것은

hbase(main):004:0> help move 

Here is some help for this command: 
Move a region. Optionally specify target regionserver else we choose one 
at random. NOTE: You pass the encoded region name, not the region name so 
this command is a little different to the others. The encoded region name 
is the hash suffix on region names: e.g. if the region name were 
TestTable,0094429456,1289497600452.527db22f95c8a9e0116f0cc13c680396. then 
the encoded region name portion is 527db22f95c8a9e0116f0cc13c680396 
A server name is its host, port plus startcode. For example: 
host187.example.com,60020,1289493121758 
Examples: 

    hbase> move 'ENCODED_REGIONNAME' 
    hbase> move 'ENCODED_REGIONNAME', 'SERVER_NAME' 

아니면 방법 move을 참조,이 작업을 수행 할 HBaseAdmin를 사용하려고 할 수 있습니다에 대한 도움말을 참조하십시오.