Hive 구성 요소는 다음 서비스를 제공할 수 있습니다. 1. SQL 문을 mapreduce 코드로 변환합니다. 2. 저장을 위해 HDFS를 사용하여 데이터를 저장할 수 있습니다. 3. MapReduce를 사용하여 데이터를 계산할 수 있습니다. hive는 데이터 추출, 변환 및 로드에 사용되는 Hadoop 기반 데이터 웨어하우스 도구입니다. Hive 데이터 웨어하우스 도구는 구조화된 데이터 파일을 데이터베이스 테이블에 매핑할 수 있고 SQL 문을 MapReduce 작업으로 변환하여 실행할 수 있는 SQL 쿼리 기능을 제공합니다. .
이 튜토리얼의 운영 환경: Windows 7 시스템, Dell G3 컴퓨터.
데이터 웨어하우스를 구축할 때 Hive 구성 요소는 매우 중요한 역할을 합니다. Hive가 Hadoop 기반의 중요한 데이터 웨어하우스 도구라는 것을 알고 있지만 이를 적용하는 방법은 추가 탐색이 필요합니다.
Hive란 무엇입니까
hive는 데이터를 추출, 변환, 로딩하는 데 사용되는 Hadoop 기반의 데이터 웨어하우스 도구로, 대규모 데이터를 저장, 쿼리, 분석할 수 있는 데이터의 일종입니다. Hadoop 메커니즘에 저장됩니다. Hive 데이터 웨어하우스 도구는 구조화된 데이터 파일을 데이터베이스 테이블에 매핑할 수 있으며 SQL 문을 MapReduce 작업으로 변환하여 실행할 수 있는 SQL 쿼리 기능을 제공합니다. Hive의 장점은 학습 비용이 저렴하고 SQL과 같은 문을 통해 빠른 MapReduce 통계를 구현할 수 있어 전문적인 MapReduce 애플리케이션을 개발하지 않고도 MapReduce를 더 간단하게 만들 수 있다는 것입니다. hive는 데이터 웨어하우스의 통계 분석에 매우 적합합니다
Hive의 용도
1. SQL 문을 mapreduce 코드로 변환
2. HDFS를 사용하여 데이터를 저장할 수 있습니다
3. 데이터를 계산할 수 있습니다. 계산에 MapReduce를 사용하면 장점은 무엇입니까? 컴퓨팅/확장 기능이 함께 설계되었습니다(컴퓨팅 엔진으로 MR, 스토리지 시스템으로 HDFS)
일반적으로 Hive는 서비스를 다시 시작할 필요가 없으며 클러스터의 규모를 자유롭게 확장할 수 있습니다. . (3) 통합 메타데이터 관리 제공(4) 확장성: Hive는 사용자 정의 기능을 지원하므로 사용자는 필요에 따라 자체 기능을 구현할 수 있습니다.
(5) 내결함성: 우수한 내결함성, 노드 문제가 있는 경우 Hive의 단점
(1)hive의 HQL 표현 능력이 제한적입니다 1) pagerank와 같은 반복 알고리즘을 표현할 수 없습니다 2) Data kmeans와 같은 마이닝 (2) 하이브의 효율성은 상대적으로 낮습니다1) 하이브에서 자동으로 생성된 맵리듀스 작업은 일반적으로 충분히 지능적이지 않습니다.
- 2) 하이브 튜닝이 어렵고 세분성이 거칠습니다.
- 3)hive는 제어성이 좋지 않습니다
- 1) Hive에서 처리되는 데이터는 HDFS
- 2) 기본 Hive 분석 데이터의 기본 구현은 MapReduce
- 3) Executor는 Yarn에서 실행됩니다. 위 내용 요약
Hive를 사용하는 이유
(1) Hive와 기존 데이터베이스의 비교
Hive는 대용량 데이터의 오프라인 데이터 분석에 사용됩니다. Hive는 SQL 데이터베이스처럼 보이지만 적용 시나리오는 완전히 다릅니다. Hive는 배치 데이터의 통계 분석에만 적합합니다.
(2) Hive의 장점Hive는 HDFS를 사용하여 데이터를 저장하고 MapReduce를 사용하여 데이터를 쿼리하고 분석합니다. Hadoop MapReduce를 직접 사용하여 데이터를 처리하면 인건비 비용이 많이 들고 MapReduce를 사용하여 복잡한 쿼리 논리를 개발하는 것이 너무 어렵기 때문입니다. Hive를 사용하면 작업 인터페이스가 SQL과 유사한 구문을 채택하여 빠른 개발 기능을 제공할 뿐만 아니라 MapReduce 작성을 방지하여 개발자의 학습 비용을 줄이고 기능 확장을 더욱 편리하게 만듭니다.
Hive는 어떤 문제를 해결하나요?
Hive는 MR을 작성할 수 없는 사람들도 MR을 사용할 수 있도록 빅데이터의 쿼리 기능을 해결합니다. 그 핵심은 HQL을 MR로 변환하는 것입니다. MR을 작성하는 것은 비효율적이고 고통스럽습니다. Hive의 출현은 JAVAEE 형제에게 지름길과 좋은 소식을 가져왔습니다.
Hive 아키텍처 원리
1. 사용자 인터페이스: 클라이언트
CLI(하이브 셸), JDBC/ODBC(자바 액세스 하이브), WEBUI(브라우저 액세스 하이브)2. 메타데이터: 메타스토어메타데이터에는 테이블 이름, 테이블이 속한 데이터베이스(기본값은 기본값), 테이블 소유자, 열/파티션 필드, 테이블 유형
(외부 테이블인지 여부), 테이블 데이터가 있는 디렉터리 등이 포함됩니다. .;
메타데이터 데이터: Metastore
메타데이터에는 테이블 이름, 테이블이 속한 데이터베이스(기본값은 기본값), 테이블 소유자, 열/파티션 필드, 테이블 유형
(외부 테이블인지 여부), 테이블의 데이터가 있는 디렉토리 등 ;
기본적으로 내장된 Derby 데이터베이스에 저장됩니다. Metastore를 저장하려면 MySQL을 사용하는 것이 좋습니다.
3. Hadoop
은 저장을 위해 HDFS를 사용하고 계산을 위해 MapReduce를 사용합니다.
4. 드라이버: Driver
(1) 파서(SQL 파서): SQL 문자열을 추상 구문 트리 AST로 변환합니다. 이 단계는 일반적으로 antlr과 같은 타사 도구 라이브러리를 사용하여 테이블과 같은 AST에 대한 구문 분석을 수행합니다. 존재 여부, 필드 존재 여부, SQL 의미 체계가 잘못된지 여부.
(2) 컴파일러(물리적 계획): AST를 컴파일하여 논리적 실행 계획을 생성합니다.
(3) Optimizer(쿼리 최적화 프로그램): 논리적 실행 계획을 최적화합니다.
(4) 실행: 논리적 실행 계획을 실행 가능한 물리적 계획으로 변환합니다. Hive의 경우 MR/Spark입니다.
Hive는 Hadoop을 기반으로 구축되었으며 모든 Hive 데이터는 HDFS에 저장됩니다. 데이터베이스는 블록 장치 또는 로컬 파일 시스템에 데이터를 저장할 수 있습니다. Hive는 데이터 웨어하우스 애플리케이션용으로 설계되었으므로 데이터 웨어하우스의 콘텐츠에는 더 많은 읽기와 쓰기가 필요합니다. 따라서 Hive
에서 데이터를 다시 쓰는 것은 권장되지 않습니다. 모든 데이터는 로드 시 결정됩니다. 데이터베이스의 데이터는 일반적으로 자주 수정되어야 하므로 INSERT INTO... VALUES를 사용하여 데이터를 추가하고 UPDATE... SET을 사용하여 데이터를 수정할 수 있습니다.
Hive와 데이터베이스 비교
Hive는 SQL과 유사한 쿼리 언어인 HQL(Hive Query Language)을 사용하기 때문에 Hive를 데이터베이스로 이해하기 쉽습니다. 실제로 구조적인 관점에서 볼 때 유사한 쿼리 언어를 사용하는 것 외에 Hive와 데이터베이스는 공통점이 없습니다. 이 섹션에서는 여러 측면에서 Hive와 데이터베이스의 차이점을 설명합니다. 데이터베이스는 온라인 애플리케이션에서 사용할 수 있지만 Hive는 데이터 웨어하우스용으로 설계되었습니다. 이를 알면 애플리케이션 관점에서 Hive의 특성을 이해하는 데 도움이 됩니다.
1. 쿼리 언어
SQL은 데이터 웨어하우스에서 널리 사용되므로 SQL과 유사한 쿼리 언어인 HQL은 Hive의 특성에 맞게 특별히 설계되었습니다. SQL 개발에 익숙한 개발자라면 Hive를 이용해 쉽게 개발할 수 있습니다. 2. 데이터 저장 위치 Hive는 Hadoop을 기반으로 구축되었으며 모든 Hive 데이터는 HDFS에 저장됩니다. 데이터베이스는 블록 장치 또는 로컬 파일 시스템에 데이터를 저장할 수 있습니다. 3. 데이터 업데이트: Hive는 데이터 웨어하우스 애플리케이션용으로 설계되었으므로 데이터 웨어하우스의 콘텐츠에는 더 많은 읽기와 쓰기가 필요합니다. 따라서 Hive에서 데이터를 다시 쓰는 것은 권장되지 않습니다. 모든 데이터는 로드 시 결정됩니다. 데이터베이스의 데이터는 일반적으로 자주 수정해야 하므로 INSERT INTO... VALUES를 사용하여 데이터를 추가하고 UPDATE... SET을 사용하여 데이터를 수정할 수 있습니다.
4. 인덱스: Hive는 데이터를 로드하는 동안 데이터에 대한 처리를 수행하지 않거나 데이터를 스캔하지 않으므로 데이터의 일부 키가 인덱스되지 않습니다. Hive가 조건에 맞는 데이터의 특정 값에 접근하려면 전체 데이터를 무차별 대입해서 스캔해야 하므로 접근 지연 시간이 높습니다. MapReduce의 도입으로 인해 Hive는 데이터에 병렬로 접근할 수 있으므로 인덱스가 없어도 Hive는 여전히 많은 양의 데이터에 접근할 수 있는 이점을 발휘할 수 있습니다. 데이터베이스에서는 일반적으로 하나 또는 여러 개의 열에 인덱스가 생성되므로 특정 조건에서 소량의 데이터에 액세스할 때 데이터베이스의 효율성이 높고 대기 시간이 짧습니다. 데이터 액세스 대기 시간이 길기 때문에 Hive는 온라인 데이터 쿼리에 적합하지 않습니다. 5. 실행: Hive에서 대부분의 쿼리 실행은 Hadoop에서 제공하는 MapReduce를 통해 구현됩니다. 데이터베이스에는 일반적으로 자체 실행 엔진이 있습니다.
6. 실행 지연: Hive가 데이터를 쿼리할 때 인덱스가 없으므로 전체 테이블을 스캔해야 하므로 지연이 높습니다. Hive 실행 대기 시간을 높이는 또 다른 요인은 MapReduce 프레임워크입니다. MapReduce 자체는 대기 시간이 높으므로 MapReduce를 사용하여 Hive 쿼리를 실행할 때도 대기 시간이 길어집니다. 대조적으로, 데이터베이스의 실행 대기 시간은 낮습니다. 물론, 이 낮은 것은 조건부입니다. 즉, 데이터 규모가 데이터베이스의 처리 능력을 초과할 만큼 클 때 Hive의 병렬 컴퓨팅은 그 장점을 분명히 보여줄 수 있습니다.
7. 확장성: Hive는 Hadoop을 기반으로 구축되었으므로 Hive의 확장성은 Hadoop의 확장성과 일치합니다(세계에서 가장 큰 Hadoop 클러스터는 Yahoo!에 있으며 규모는 2009년). 약 4000노드. ACID 의미 체계의 엄격한 제한으로 인해 데이터베이스에는 확장 행이 매우 제한되어 있습니다. 현재 가장 발전된 병렬 데이터베이스인 오라클은 이론상 확장 능력이 100유닛 정도에 불과하다.
8. 데이터 규모: Hive는 클러스터에 구축되고 MapReduce를 사용하여 병렬 컴퓨팅을 수행할 수 있으므로 이에 따라 데이터베이스는 더 작은 데이터 규모를 지원할 수 있습니다.
더 많은 프로그래밍 관련 지식을 보려면 프로그래밍 교육을 방문하세요! !

위 내용은 Hive 구성 요소는 어떤 서비스를 제공합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

안전한 시험 브라우저
안전한 시험 브라우저는 온라인 시험을 안전하게 치르기 위한 보안 브라우저 환경입니다. 이 소프트웨어는 모든 컴퓨터를 안전한 워크스테이션으로 바꿔줍니다. 이는 모든 유틸리티에 대한 액세스를 제어하고 학생들이 승인되지 않은 리소스를 사용하는 것을 방지합니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경
