스파크 SQL은 스파크에 하이브를 확장

 

A : 불꽃의에 차이 점화 SQL과 하이브


스파크 점화 SQL은 스파크의 프로젝트입니다.
하이브 JSON, 마루, JDBC 포함한 데이터 소스의 다양한 개발 RDD 그렇게 계산 엔진 쿼리 엔진 점화에 기초하여 질의를 수행 할

스파크에 하이브는 하이브의 프로젝트는
단일 쿼리 엔진으로 맵리 듀스를 통과하지 않지만, 기본 쿼리 엔진으로 점화


2 : 하이브의 기본 원리


하이브 QL 문 => 
구문 분석 => AST => 
생성 로직의 실행 계획 => 연산자 트리 => 
최적화 된 로직 실행 계획 => 최적화 운영자 나무 => 
실제 실행 계획을 생성 => 작업 트리 => 
최적화 최적화 된 실제 실행 계획 => 작업 트리 => 
최적화 최적화 작업 트리를 수행 한 후

세 : 계산 원리 하이브에 점화


1로 하이브 스파크 RDD 테이블 조작 할

2 프리미티브를 이용하여 하이브
등등 GroupByKey에서, sortByKey RDD하고 일부 동작에 대한. 스파크는 변환 작업 및 프리미티브를 사용하지 않습니다

3, 새로운 물리 실행 계획 생성 메커니즘
SparkCompiler 로직 실행 계획, 즉 운영자 트리를 사용하여이 작업 트리로 변환. 스파크 작업은 스파크에 실행을 위해 제출했다.

4 SparkContext 수명주기
스파크에 하이브는 각 사용자 세션을 제공합니다 : SQL 문의 구현을하는 SparkContext를 만들

동작 모드 로컬 및 원격 (5),
지역 : = spark.master SET 지역으로 스파크 마스터, 지역 등이 될
SparkContext 클라이언트가 JVM에서 실행,

원격 : 스파크 마스터는 마스터를 해결하기 위해 설정 한 다음 원격 모드에 있음을
SparkContext 원격 JVM에서 시작,

JVM을 SparkContext에 의해 원격 RPC와 통신

네 : 최적화 점 하이브에 점화


1,지도는 가입
기본이 가입 수행하기 위해 각 노드에 작은 테이블에 방송하는 방송 메커니즘의 사용을 지원 SQL은 조인 할 수있는 스파크를

촬영되고,이 데이터를 로컬로 읽을 수 있도록, 데이터가 각 컴퓨팅 노드에서 백업을 가지고 있는지 확인하기 위해 복제 요인의 HDFS 복제 요인을 개선하기 위해 즉, 맵리 듀스 분산 캐시 메커니즘처럼 보인다

2, 캐시 표는
일부 장면은 성능을 향상시키기 위해, 메모리에 테이블 캐시 여러 작업에 가고, 최적화 된 스파크에 하이브 내부 테이블에 여러 작업을 수행 할 필요가에 대한

다섯 : 이해 RPC


RPC (원격 프로 시저 호출) - 원격 프로 시저 호출, 네트워크를 통해 원격 컴퓨터에서 서비스 요청이며, 기본 네트워크 프로토콜 기술을 이해하지 않고

단계 :
런타임 서버에 클라이언트 RPC 호출 대략 다음과 같은 10 단계 :
1. 전화 클라이언트 핸들, 수행 전송 매개 변수는
2. 시스템 커널은 로컬 메시지 전송 네트워크 호출
3.에게 원격 호스트에 메시지
4. 서버 핸들을 메시지 및 매개 변수 인수받을
5. 원격 프로 시저를

제 프로세스 실행 결과 핸들 서버 리턴
7. 서버는 핸들을 리턴 원격 시스템 커널 호출
제 로컬 호스트 메시지가 반환
9. 클라이언트 코어에 의해 수신 된 메시지를 처리하는
제 클라이언트 핸들 복귀 데이터를 수신한다


식스 : 나머지 질문


무엇 하이브 그?
기본값은 기본 맵리 듀스 구현을 기반으로?
또 다른 밖으로 새 SQL 쿼리 엔진 후. 스파크 SQL, 하이브에 TEZ, 하이브 포함 스파크에 등등.
하이브와 HBase와의 차이 :
쿼리 엔진을 말한다 무엇 SQL?
무엇 엔진?
SQL 문에 대한 자세한 원칙이 실행?
환경 구축! !
하이브 아키텍처 패턴의 아이? ? ? - 기존의 관계형 데이터베이스에서 다른


 

추천

출처blog.csdn.net/weixin_39966065/article/details/93538139