복붙노트

[HADOOP] Hbase 자동으로 모든 열 / 행 키 증가

HADOOP

Hbase 자동으로 모든 열 / 행 키 증가

나는 Hbase에 익숙하지 않다.

할 수있는 / 어떻게 자동 증가 행 키를 Hbase 수 있습니까? (각 삽입 행 키처럼 자동 증가 자체가되어야합니다)

또는 다른 열을 자동으로 증가시킬 수 있습니까? (각 삽입물에 대해이 열은 1 씩 자동 증분되어야 함)

해결법

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

    1.HBase에서는 monolitically 증가하는 행 키를 권장하지 않습니다. 참고 자료 : http://hbase.apache.org/book/rowkey.design.html, p.6.3.2. 실제로 전역 적으로 정렬 된 행 키를 사용하면 분산 응용 프로그램의 모든 인스턴스가 동일한 영역에 쓰여 지므로 병목 현상이 발생합니다.

    HBase에서는 monolitically 증가하는 행 키를 권장하지 않습니다. 참고 자료 : http://hbase.apache.org/book/rowkey.design.html, p.6.3.2. 실제로 전역 적으로 정렬 된 행 키를 사용하면 분산 응용 프로그램의 모든 인스턴스가 동일한 영역에 쓰여 지므로 병목 현상이 발생합니다.

    자동 증가 ID를 사용하지 않고 분산 시스템에서 고유 한 ID 만 가져야하는 경우 "호스트 이름"+ "PID"+ "TIMESTAMP"를 키로 사용할 수 있습니다. 이렇게하면 각 행마다 고유하게 나타납니다.

    테이블에 전역 자동 증가가 필요하다면 (키 또는 열의 값이 될 수 있음) incrementColumnValue 호출을 사용할 수 있습니다. - 테이블에서 별도의 행을 만들거나 전용 테이블을 만듭니다. 실제 값을 저장하면 프로세스는 다음 행을 가져 오기 전에 새 행을 삽입하기 전에 incrementColumnValue를 호출합니다. 그러나 이렇게하면 간격이 없다는 것을 보장 할 수 없습니다. incrementColumnValue를 호출 한 후 클라이언트가 실패하면 카운터가 증가하지만 행이 삽입되지 않습니다.

    즉, 제안 된 모든 솔루션은 클라이언트 측이며, HBase에서이 기능에 대한 서버 측 구현은 없습니다.

  2. from https://stackoverflow.com/questions/26890944/hbase-auto-increment-any-column-row-key by cc-by-sa and MIT license