초보자를 위한 Apache Hive Ultimate 자습서: 처음부터 Hive 배우기
게시 됨: 2020-03-20Apache Hive는 Hadoop을 기반으로 구축된 오픈 소스 데이터 웨어하우스 시스템입니다. Hadoop 파일에 저장된 대용량 데이터 세트를 쿼리하고 분석하는 데 사용됩니다. 이 Apache Hive 자습서 는 기본, 특성 및 사용법을 이해하는 데 도움이 됩니다.
디지털 시대에는 매일 약 2500조 바이트의 데이터가 생성됩니다. 이러한 데이터 폭발을 억제하려면 혁신적인 기술이 필요합니다. 그리고 Hive는 업계 최고의 Hadoop 에코시스템에서 정형 및 반정형 데이터를 처리하는 도구 중 하나입니다. 점점 더 많은 고용주가 빅 데이터의 기능을 활용하려고 함에 따라 Hadoop 도구에 정통한 사람들을 찾고 있습니다. 따라서 Hadoop Hive 자습서 는 초보자를 위한 빅 데이터 과정의 필수 구성 요소입니다.
목차
하이브란? 간단한 용어로 설명하십시오.
Apache Hive를 사용하면 개발자가 데이터를 요약하고, 쿼리를 실행하고, 대규모 데이터 세트를 분석할 수 있습니다. HDFS(Hadoop Distributed File System) 위에 구축되어 데이터를 테이블로 구성하여 데이터에 더 많은 구조를 제공합니다. 또한 Hive는 HiveQL 또는 HQL 언어를 사용하여 데이터에 대해 SQL과 유사한 쿼리를 수행합니다.
SQL이 기존 데이터베이스에서 실행되는 동안 HQL은 쿼리를 MapReduce 작업으로 자동 변환할 수 있습니다. Hive는 SQL 쿼리를 Hadoop 클러스터에서 실행할 일련의 작업으로 변환하여 Hadoop의 복잡성을 추상화합니다. 따라서 Apache Hive를 마스터하려면 SQL에 대한 기본적인 지식이 필요합니다. 하지만 자바를 배울 필요는 없습니다.
Apache Hive 자습서 로 이동 하여 최신 작업 환경에서의 사용에 대해 논의해 보겠습니다.
Hive를 사용해야 하는 이유는 무엇입니까?
기존의 데이터베이스 시스템은 오늘날 빅 데이터 애플리케이션에서 생성되는 많은 양의 데이터를 처리할 수 있는 장비가 없습니다. 그리고 Hadoop은 이 문제를 해결하는 프레임워크입니다. 다양한 도구가 Hadoop 모듈을 지원하며 Hive가 그 중 하나입니다. Apache Hive를 사용하여 다음 작업을 수행할 수 있습니다.

- 테이블을 분할하고 버킷할 수 있으므로 HDFS(Hadoop Distributed File System)에 저장된 데이터를 처리할 수 있습니다. 테이블은 HDFS에서 직접 정의됩니다.
- JDBC/ODBC 드라이버는 기존 기술과의 통합에 사용할 수 있습니다.
- 데이터 요약과 함께 스키마 유연성 및 진화를 제공하여 보다 쉬운 분석을 촉진합니다.
- 복잡한 Hadoop MapReduce 작업을 작성하지 않아도 됩니다.
- 파티션 및 버킷 개념으로 빠른 데이터 검색 가능
- SQL 개발자를 위해 배우고 구현하기가 매우 쉽습니다.
- 빠르고 확장 가능한 시스템
- Hive는 Text 파일, Sequence 파일, RC 파일, ORF 파일, Parquet 파일 및 AVRO 파일과 같은 다양한 종류의 파일을 지원합니다.
Hive 아키텍처의 주요 구성 요소는 무엇입니까?
1. 사용자 인터페이스: 쿼리를 제출하고 지침을 처리하고 관리할 수 있습니다. CLI(명령줄 인터페이스) 및 웹 UI를 통해 외부 사용자가 Hive에 연결할 수 있습니다.
2. 메타스토어: 이름에서 알 수 있듯이 메타스토어는 데이터베이스의 메타데이터를 보관합니다. 여기에는 테이블의 구성과 위치에 대한 정보가 포함됩니다. 또한 파티션 메타데이터도 저장합니다. 기존의 관계형 데이터베이스에 존재하므로 클러스터의 분산 데이터를 모니터링할 수 있습니다. 데이터를 추적하고 복제하며 백업을 제공합니다.
3. 드라이버: HiveQL 문을 수신하는 프로세스 엔진의 일부입니다. 드라이버는 명령문을 실행하기 위한 세션을 생성하고 수명 주기를 모니터링합니다. 또한 명령문의 실행 중에 생성된 메타데이터를 저장합니다.

4. 컴파일러: HiveQL 프로세스 엔진의 이 부분은 쿼리를 AST(추상 구문 트리) 및 DAG(방향성 비순환 그래프)와 같은 MapReduce 입력으로 변환합니다.
5. Optimizer: Hive 아키텍처의 이 구성 요소는 최적화된 DAG를 제공하기 위해 실행 계획에서 변환을 수행합니다. 더 나은 성능을 위해 작업을 분할합니다.
6. 실행자: 실행 프로세스를 완료하기 위해 작업을 예약하거나 파이프라인합니다. 이를 위해 Hadoop 작업 추적기와 상호 작용합니다.
읽기: 초보자를 위한 Hadoop 자습서
이 Apache Hive 자습서 는 이러한 Hive 구성 요소가 쿼리를 수행하기 위해 서로 상호 작용하는 방식에 대해 논의하지 않고는 완료할 수 없습니다. 그래서 아래 단계를 나열했습니다.
1단계: 사용자가 CLI 또는 웹 UI에 쿼리를 입력하면 쿼리가 드라이버로 전달됩니다.
2단계: 드라이버는 확인을 위해 쿼리를 컴파일러에 전달합니다. 컴파일러는 구문의 정확성을 보장합니다.
3단계: 컴파일러는 계속 진행하기 위해 필요한 메타데이터에 대해 Metastore에 요청합니다.
4단계: 메타데이터를 수신한 후 컴파일러는 실행 계획을 드라이버에 다시 보냅니다.
5단계: 드라이버는 이 계획을 실행 엔진에 전달합니다.
6단계: 실행 엔진이 최종 단계를 수행합니다. Hadoop의 MapReduce 모듈 내의 JobTracker(이름 노드)로 작업을 보냅니다.
7단계: JobTracker는 TaskTracker(데이터 노드)에 작업을 추가로 할당합니다.
8단계: 쿼리가 실행되고 실행기로 다시 전송됩니다.
9단계: 실행자는 결과를 운전자에게 보냅니다.
10단계: 드라이버는 결과를 Hive의 사용자 인터페이스로 전달합니다.

읽기: 인도의 Hadoop 개발자 급여
Hive Shell에 대해 무엇을 알고 있습니까?
Hive Shell을 사용하면 사용자가 HQL 쿼리를 실행할 수 있습니다. Hive의 명령줄 인터페이스입니다. Hive Shell은 두 가지 모드로 실행할 수 있습니다.
- 비대화형: -f 옵션을 사용하여 HQL 쿼리가 포함된 파일의 위치를 지정합니다. 예를 들어, hive -f my-script.q
- 대화형: Hive Shell로 직접 이동하여 수동으로 쿼리를 제출하여 결과를 얻습니다. 예를 들어, $bin/hive, 하이브 셸로 이동
Hive의 몇 가지 제한 사항 나열
- 제한된 하위 쿼리 지원을 제공합니다.
- Hive 쿼리의 지연 시간이 깁니다.
- 구체화된 보기는 Apache Hive에서 허용되지 않습니다.
- 실시간 쿼리, 행 수준 업데이트, 업데이트 및 삭제 작업을 제공하지 않습니다.
- Apache Hive는 온라인 전환 프로세스 또는 OLTP에 적합하지 않습니다.
합산
이 Hadoop Hive 자습서 에서 Hive, 사용 및 아키텍처의 다양한 측면을 다뤘습니다. 우리는 또한 그 작업을 탐구하고 그 한계에 대해 논의했습니다. 이 모든 정보는 Hive 학습 여정을 시작하는 데 도움이 됩니다. 결국, 이것은 가장 널리 사용되고 신뢰할 수 있는 빅 데이터 프레임워크 중 하나입니다!
빅 데이터에 대해 더 알고 싶다면 PG 디플로마 빅 데이터 소프트웨어 개발 전문화 프로그램을 확인하세요. 이 프로그램은 실무 전문가를 위해 설계되었으며 7개 이상의 사례 연구 및 프로젝트를 제공하고 14개 프로그래밍 언어 및 도구, 실용적인 실습을 다룹니다. 워크샵, 400시간 이상의 엄격한 학습 및 최고의 기업과의 취업 지원.
세계 최고의 대학에서 온라인으로 소프트웨어 개발 과정 을 배우십시오 . 이그 제 큐 티브 PG 프로그램, 고급 인증 프로그램 또는 석사 프로그램을 획득하여 경력을 빠르게 추적하십시오.