복붙노트

[HADOOP] Hbase에서 두 테이블을 조인하는 방법

HADOOP

Hbase에서 두 테이블을 조인하는 방법

저는 Hbase를 처음 사용하고 두 테이블을 조인해야하는 상황을 겪었습니다. Hbase에서 Employee 테이블과 Department 테이블이 모두 생성되었다고 가정하겠습니다. Hbase를 실제로 읽음으로써 Hbase에서 테이블을 조인 할 수 없다는 것을 알게되었습니다.

Hbase 클래스와 인터페이스를 사용하여 MapReduce 코드를 작성하여이 작업을 수행 할 수있는 솔루션을 찾았습니다.

또한 누군가가 코딩에 도움이된다면 매우 도움이 될 것입니다.

해결법

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

    1.가장 쉬운 방법은 HBase 테이블을 Hive 또는 Impala에로드하고 해당 도구로 SQL 조인을 수행하는 것입니다.

    가장 쉬운 방법은 HBase 테이블을 Hive 또는 Impala에로드하고 해당 도구로 SQL 조인을 수행하는 것입니다.

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

    2.아파치에서이 jira 문제를 살펴 봐야합니다. MultiTableInputFormat을 사용해야합니다. https://issues.apache.org/jira/browse/HBASE-3996

    아파치에서이 jira 문제를 살펴 봐야합니다. MultiTableInputFormat을 사용해야합니다. https://issues.apache.org/jira/browse/HBASE-3996

    참조 : hbase에서 테이블을 조인하는 방법

  3. ==============================

    3.데이터가 크면 Hive 또는 Impala를 사용하면 비용이 많이 들고 Hbase kill (region server Down)과 같은 문제가 발생합니다. 따라서 데이터가 작지만 큰 데이터가 아닌 경우 편리합니다. mapreduce에서 Hbase 테이블 오브젝트를 사용하여 하나의 테이블을 사용하고 tablemapper를 사용하여 두 번째 테이블을 사용하십시오. 이런 식으로 2 개의 테이블을 조인 할 수 있습니다.

    데이터가 크면 Hive 또는 Impala를 사용하면 비용이 많이 들고 Hbase kill (region server Down)과 같은 문제가 발생합니다. 따라서 데이터가 작지만 큰 데이터가 아닌 경우 편리합니다. mapreduce에서 Hbase 테이블 오브젝트를 사용하여 하나의 테이블을 사용하고 tablemapper를 사용하여 두 번째 테이블을 사용하십시오. 이런 식으로 2 개의 테이블을 조인 할 수 있습니다.

  4. from https://stackoverflow.com/questions/25589288/how-to-join-two-tables-in-hbase by cc-by-sa and MIT license