복붙노트

[HADOOP] HBase는 HDFS에 대한 무작위 액세스를 어떻게 가능하게합니까?

HADOOP

HBase는 HDFS에 대한 무작위 액세스를 어떻게 가능하게합니까?

HBase가 HDFS에 저장된 파일을 가지고있는 데이터베이스라는 점을 감안할 때, HDFS 내에서 단 하나의 데이터에 무작위로 액세스 할 수있는 방법은 무엇입니까? 어떤 방법으로 이것을 달성 할 수 있습니까?

Apache HBase 참조 가이드 :

두 장을 모두 스캔해도이 질문에 대한 높은 수준의 대답은 밝혀지지 않았습니다.

그렇다면 HBase는 HDFS에 저장된 파일에 무작위로 액세스 할 수 있습니까?

해결법

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

    1.HBase는 해당 키에 의해 인덱싱 (정렬) 된 HFiles에 데이터를 저장합니다. 임의의 키가 주어지면 클라이언트는 지역 서버가 행을 요청할시기를 결정할 수 있습니다. 영역 서버는 행을 검색 할 영역을 결정한 다음 올바른 행에 액세스하기 위해 영역을 통해 2 진 검색을 수행합니다. 이는 블록 수, 블록 크기, 시작 키 및 종료 키를 알 수있는 충분한 통계를 확보함으로써 수행됩니다.

    HBase는 해당 키에 의해 인덱싱 (정렬) 된 HFiles에 데이터를 저장합니다. 임의의 키가 주어지면 클라이언트는 지역 서버가 행을 요청할시기를 결정할 수 있습니다. 영역 서버는 행을 검색 할 영역을 결정한 다음 올바른 행에 액세스하기 위해 영역을 통해 2 진 검색을 수행합니다. 이는 블록 수, 블록 크기, 시작 키 및 종료 키를 알 수있는 충분한 통계를 확보함으로써 수행됩니다.

    예 : 테이블에 10TB의 데이터가 포함될 수 있습니다. 그러나 테이블은 크기가 4GB 인 영역으로 나뉩니다. 각 영역에는 시작 / 끝 키가 있습니다. 클라이언트는 테이블의 영역 목록을 가져 와서 찾고있는 키가있는 영역을 결정할 수 있습니다. 영역은 블록으로 분할되므로 영역 서버는 해당 블록을 통해 2 진 검색을 수행 할 수 있습니다. 블록은 기본적으로 키, 속성, 값, 버전의 긴 목록입니다. 각 블록에 대해 시작 키가 무엇인지 알면 액세스 할 파일 하나와 바이트 오프셋 (블록)이 이진 검색에있는 곳을보기 위해 읽기 시작을 결정할 수 있습니다.

  2. ==============================

    2.hbase를 사용하여 hbase acess hdfs 파일을 hbase하십시오. 당신은 세부 사항을 얻기 위하여 url를 검사 할 수있다 : http://hbase.apache.org/book/hfilev2.html

    hbase를 사용하여 hbase acess hdfs 파일을 hbase하십시오. 당신은 세부 사항을 얻기 위하여 url를 검사 할 수있다 : http://hbase.apache.org/book/hfilev2.html

  3. from https://stackoverflow.com/questions/21248903/how-does-hbase-enable-random-access-to-hdfs by cc-by-sa and MIT license