Apache Hive란 무엇인가요?
Apache Hive는 방대한 규모에서 분석할 수 있는 내결함성을 갖춘 분산 데이터 웨어하우스 시스템입니다. 데이터 웨어하우스는 정보에 입각한 데이터 중심 의사 결정을 내릴 수 있도록 쉽게 분석할 수 있는 정보의 중앙 스토어를 제공합니다. Hive는 사용자가 SQL를 사용하여 페타바이트 데이터를 읽고 쓰고 관리할 수 있도록 합니다.
Hive는 대규모 데이터 세트를 효율적으로 저장하고 처리하는 데 사용되는 오픈 소스 프레임워크인 Apache Hadoop을 기반으로 빌드되었습니다. 따라서 Hive는 Hadoop과 긴밀하게 통합되며 페타바이트 규모의 데이터를 신속하게 처리하도록 설계되었습니다. Hive가 특별한 이유는 SQL과 유사한 인터페이스로 Apache Tez 또는 MapReduce를 활용하여 대규모 데이터 세트를 쿼리할 수 있다는 것입니다.
Hive는 어떻게 작동하나요?
Hive는 SQL에 익숙하고 프로그래머가 아닌 사람도 HiveQL이라는 SQL과 유사한 인터페이스를 사용하여 페타바이트 규모의 데이터를 처리할 수 있도록 만들어졌습니다. 기존의 관계형 데이터베이스는 중소 규모의 데이터 세트에 대한 대화형 쿼리를 위해 설계되었으므로 대규모 데이터 세트를 제대로 처리하지 못합니다. Hive는 대신 배치 처리를 사용하므로 대규모 분산 데이터베이스에서 신속하게 작동합니다. Hive는 HiveQL 쿼리를 MapReduce 또는 Tez 작업으로 변환하여 Apache Hadoop의 분산 작업 예약 프레임워크인 YARN(Yet Another Resource Negotiator)에서 실행됩니다. Hadoop 분산 파일 시스템(HDFS) 또는 Amazon S3와 같은 분산 스토리지 솔루션에 저장된 데이터를 쿼리합니다. Hive는 데이터베이스 및 테이블 메타데이터를 메타스토어에 저장합니다. 메타스토어는 데이터를 쉽게 추상화하고 검색할 수 있는 데이터베이스 또는 파일 기반 스토어입니다.
Hive에는 Hive 메타스토어에서 데이터를 읽어 Hive, Apache Pig, MapReduce 간의 원활한 통합을 촉진하는 테이블 및 스토리지 관리 계층인 HCatalog가 포함되어 있습니다. 메타스토어를 사용하면 HCatalog를 통해 Pig와 MapReduce가 Hive와 동일한 데이터 구조를 사용할 수 있으므로 각 엔진에 대해 메타데이터를 재정의할 필요가 없습니다. 사용자 지정 애플리케이션 또는 써드 파티 통합은 HCatalog용 RESTful API인 WebHCat을 사용하여 Hive 메타데이터를 액세스하고 재사용할 수 있습니다.
Hive를 사용하면 어떤 이점이 있나요?
신속함
Hive는 배치 처리를 사용하여 페타바이트 규모의 데이터를 신속하게 처리하도록 설계되었습니다.
익숙함
Hive는 프로그래머가 아닌 사람도 사용할 수 있는 SQL과 유사한 익숙한 인터페이스를 제공합니다.
확장성
Hive는 필요에 따라 쉽게 배포하고 확장할 수 있습니다.
Apache Hive와 Apache HBase의 차이점은 무엇인가요?
Apache HBase는 페타바이트 규모의 데이터에 무작위로 엄격하게 일관된 실시간 액세스를 가능하게 하는 NoSQL 분산 데이터베이스입니다. Apache Hive는 SQL과 유사한 쿼리 기능을 제공하는 분산 데이터 웨어하우스 시스템입니다.
특징 |
Apache Hive |
Apache HBase |
연산 |
대용량 데이터 스토어용으로 설계된 SQL과 유사한 쿼리 엔진입니다. 여러 파일 형식을 지원합니다. |
사용자 지정 쿼리 기능을 갖춘 지연 시간이 짧은 분산 키 값 스토어입니다. 데이터는 열 지향 형식으로 저장됩니다. |
처리 유형 |
Apache Tez 또는 MapReduce 컴퓨팅 프레임워크를 사용한 배치 처리 |
실시간 처리 |
대기 시간 |
컴퓨팅 엔진의 응답성에 따라 중간~높음입니다. 분산 실행 모델은 동일한 데이터 볼륨에 대해 RDBMS와 같은 모놀리식 쿼리 시스템에 비해 뛰어난 성능을 제공합니다. |
낮지만 일관성이 없을 수 있습니다. HBase 아키텍처의 구조적 한계로 인해 쓰기 부하가 심한 경우 지연 시간이 급증할 수 있습니다. |
Hadoop 통합 |
처리용 Apache Tez 또는 MapReduce, 스토리지용 HDFS 또는 Amazon S3를 사용하여 Hadoop을 기반으로 실행됩니다. |
HDFS 또는 Amazon S3에서 실행됩니다. |
SQL 지원 |
HiveQL을 통해 SQL과 유사한 쿼리 기능을 제공합니다. |
자체적으로 SQL을 지원하지 않습니다. SQL 기능을 위해 Apache Phoenix를 사용할 수 있습니다. |
스키마 |
모든 테이블에 대해 정의된 스키마 |
스키마 없음 |
데이터 유형 |
정형 및 비정형 데이터를 지원합니다. INT, FLOAT, VARCHAR와 같은 일반적인 SQL 데이터 유형에 대한 기본 지원을 제공합니다. |
비정형 데이터만 지원합니다. 사용자가 Java 지원 데이터 유형에 대한 데이터 필드 매핑을 정의합니다. |
Hive의 사용 사례에는 어떤 것이 있나요?
Guardian은 보험과 자산 관리 상품 및 서비스를 통해 2,700만 명의 회원에게 필요한 보안을 제공합니다. Guardian은 Amazon EMR을 사용하여 S3 데이터 레이크에서 Apache Hive를 실행합니다. Apache Hive는 배치 처리에 사용됩니다. S3 데이터 레이크는 소비자가 보험 부문의 Guardian 상품과 타사 상품을 모두 조사하고 구매할 수 있도록 하는 디지털 플랫폼인 Guardian Direct를 향상시킵니다.
FINRA(Financial Industry Regulatory Authority)는 미국에서 가장 큰 독립적인 보안 규제 기관으로, 금융 거래 사례를 모니터링하고 규제합니다. FINRA는 Amazon EMR을 사용하여 S3 데이터 레이크에서 Apache Hive를 실행합니다. EMR 클러스터에서 Hive를 실행하면 FINRA는 SQL을 사용하여 최대 900억 이벤트의 거래 데이터를 처리하고 분석할 수 있습니다. 클라우드 데이터 레이크는 FINRA의 온프레미스 솔루션에 비해 최대 2천만 달러의 비용을 절감하고 복구 및 업그레이드에 필요한 시간을 대폭 단축했습니다.
미국 등록 투자 자문사인 Vanguard는 최대 뮤추얼 펀드 제공업체이자 두 번째로 큰 상장지수펀드 제공업체입니다. Vanguard는 Amazon EMR을 사용하여 S3 데이터 레이크에서 Apache Hive를 실행합니다. 데이터는 S3에 저장되며 EMR은 해당 데이터를 기반으로 Hive 메타스토어를 구축합니다. Hive 메타스토어에는 EMR 클러스터의 데이터 및 테이블에 대한 모든 메타데이터가 포함되어 있어 데이터를 쉽게 분석할 수 있습니다. 또한 Hive를 사용하면 분석가가 S3 데이터 레이크에 저장된 데이터에 대해 임시 SQL 쿼리를 수행할 수 있습니다. Amazon EMR을 사용하여 S3 데이터 레이크로 마이그레이션한 결과 150명 이상의 데이터 분석가가 운영 효율성을 실현하고 EC2 및 EMR 비용을 60만 달러 절감할 수 있었습니다.
AWS는 Hive를 어떻게 지원할 수 있나요?
Amazon EMR은 가장 쉽고 빠르며 비용 효율적인 관리형 Hadoop 프레임워크를 제공하여 고객이 동적으로 확장 가능한 EC2 인스턴스에서 방대한 양의 데이터를 처리할 수 있도록 합니다. 또한 고객은 EMR에서 Apache Hive, Spark, HBase, Presto, Flink 등 널리 사용되는 다른 분산 프레임워크를 실행할 수 있습니다.
Amazon EMR에 대해 자세히 알아보기
지금 무료 AWS 계정을 만들어 AWS에서 Apache Hive를 시작하세요.