기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HBaseHive로 테이블에 액세스하기
HBase긴밀하게 통합되므로 저장된 데이터에서 직접 대규모 병렬 처리 워크로드를 실행할 수 있습니다. Apache Hive HBase Hive와 함께 사용하려면 일반적으로 HBase 동일한 클러스터에서 Hive를 실행할 수 있습니다. 하지만 Hive를 별도의 HBase 클러스터에서 실행할 수는 있습니다. HBaseHive와 Hive를 서로 다른 클러스터에서 별도로 실행하면 각 응용 프로그램이 클러스터 리소스를 더 효율적으로 사용할 수 있으므로 성능이 향상될 수 있습니다.
다음 절차는 Hive를 사용하여 HBase 클러스터에 연결하는 방법을 보여줍니다.
참고
Hive 클러스터를 단일 HBase 클러스터에만 연결할 수 있습니다.
Hive를 연결하려면 HBase
-
Hive를 설치하여 별도의 클러스터를 만들거나 Hive를 둘 다 HBase HBase 설치한 상태로 단일 클러스터를 생성합니다.
-
별도의 클러스터를 사용하는 경우 두 기본 노드 사이에 HBase Hand Hive 포트가 열리도록 보안 그룹을 수정하십시오.
-
Hive가 설치된 클러스터의 기본 노드에 연결하는 SSH 데 사용합니다. 자세한 내용은 Amazon EMR 관리 안내서를 사용하여 SSH 기본 노드에 연결을 참조하십시오.
-
다음 명령을 사용하여 Hive 셸을 시작하십시오.
hive
-
(선택 사항) HBase 및 Hive가 동일한 클러스터에 있는 경우에는 이 작업을 수행할 필요가 없습니다. Hive 클러스터의 HBase 클라이언트를 데이터가 포함된 HBase 클러스터에 연결합니다. 다음 예제에서는
public-DNS-name
HBase클러스터의 기본 노드의 공개 DNS 이름으로 대체됩니다 (예:)ec2-50-19-76-67.compute-1.amazonaws.com
.set hbase.zookeeper.quorum=
public-DNS-name
; -
원하는 대로 HBase 데이터에 대해 Hive 쿼리를 실행하거나 다음 절차를 참조하십시오.
Hive에서 HBase 데이터에 액세스하려면
-
Hive와 HBase 클러스터를 연결한 후 (이전 절차에서 볼 수 있음) Hive에서 외부 테이블을 생성하여 HBase 클러스터에 저장된 데이터에 액세스할 수 있습니다.
다음 예제를 주 노드의 Hive 프롬프트에서 실행하면 라는 테이블에 저장된 데이터를 참조하는 외부 테이블이 만들어집니다. HBase
inputTable
그런 다음 Hive 문을inputTable
참조하여 클러스터에 저장된 데이터를 쿼리하고 수정할 수 있습니다. HBaseset hbase.zookeeper.quorum=ec2-107-21-163-157.compute-1.amazonaws.com; create external table inputTable (key string, value string) stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' with serdeproperties ("hbase.columns.mapping" = ":key,f1:col1") tblproperties ("hbase.table.name" = "t1"); select count(key) from inputTable ;
Hive와 Hive를 결합하는 HBase 고급 사용 사례 및 예제는 AWS 빅 데이터 블로그 게시물인 Amazon에서 Apache와 Apache Hive를 사용한 대규모 병렬 분석을 결합하지 않는 Combine No SQL HBase 및 대규모