[HADOOP] Hbase에서 두 테이블을 조인하는 방법
HADOOPHbase에서 두 테이블을 조인하는 방법
저는 Hbase를 처음 사용하고 두 테이블을 조인해야하는 상황을 겪었습니다. Hbase에서 Employee 테이블과 Department 테이블이 모두 생성되었다고 가정하겠습니다. Hbase를 실제로 읽음으로써 Hbase에서 테이블을 조인 할 수 없다는 것을 알게되었습니다.
Hbase 클래스와 인터페이스를 사용하여 MapReduce 코드를 작성하여이 작업을 수행 할 수있는 솔루션을 찾았습니다.
또한 누군가가 코딩에 도움이된다면 매우 도움이 될 것입니다.
해결법
-
==============================
1.가장 쉬운 방법은 HBase 테이블을 Hive 또는 Impala에로드하고 해당 도구로 SQL 조인을 수행하는 것입니다.
가장 쉬운 방법은 HBase 테이블을 Hive 또는 Impala에로드하고 해당 도구로 SQL 조인을 수행하는 것입니다.
-
==============================
2.아파치에서이 jira 문제를 살펴 봐야합니다. MultiTableInputFormat을 사용해야합니다. https://issues.apache.org/jira/browse/HBASE-3996
아파치에서이 jira 문제를 살펴 봐야합니다. MultiTableInputFormat을 사용해야합니다. https://issues.apache.org/jira/browse/HBASE-3996
참조 : hbase에서 테이블을 조인하는 방법
-
==============================
3.데이터가 크면 Hive 또는 Impala를 사용하면 비용이 많이 들고 Hbase kill (region server Down)과 같은 문제가 발생합니다. 따라서 데이터가 작지만 큰 데이터가 아닌 경우 편리합니다. mapreduce에서 Hbase 테이블 오브젝트를 사용하여 하나의 테이블을 사용하고 tablemapper를 사용하여 두 번째 테이블을 사용하십시오. 이런 식으로 2 개의 테이블을 조인 할 수 있습니다.
데이터가 크면 Hive 또는 Impala를 사용하면 비용이 많이 들고 Hbase kill (region server Down)과 같은 문제가 발생합니다. 따라서 데이터가 작지만 큰 데이터가 아닌 경우 편리합니다. mapreduce에서 Hbase 테이블 오브젝트를 사용하여 하나의 테이블을 사용하고 tablemapper를 사용하여 두 번째 테이블을 사용하십시오. 이런 식으로 2 개의 테이블을 조인 할 수 있습니다.
from https://stackoverflow.com/questions/25589288/how-to-join-two-tables-in-hbase by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 콘솔에서 Hadoop 로깅 메시지를 표시하지 않는 방법 (0) | 2019.08.07 |
---|---|
[HADOOP] 다른 평면 / 간단한 하이브 테이블에서 map [structs]를 사용하여 하이브 테이블을로드하는 방법 (0) | 2019.08.07 |
[HADOOP] 네임 노드 형식이 데이터 노드 디스크 공간을 비우지 않습니다. (0) | 2019.08.07 |
[HADOOP] HDFS에 파일을 저장하면 복제됩니까? (0) | 2019.08.07 |
[HADOOP] 하나의 매퍼 만 사용하는 하둡 gzip 입력 파일 [중복] (0) | 2019.08.07 |