일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 교차검증
- hive
- cross validation
- pig
- merge
- T-검정
- join
- 가설검정
- 유사도
- k-means
- 결정계수
- SQL on 하둡
- 딕셔너리
- 데이터프레임
- 다중공선성
- dict
- Sawzall
- 분산분석
- DBSCAN
- 밀도기반
- Python
- pca
- list
- 하둡
- distribution
- SPLIT
- 병렬 쿼리 시스템
- DataFrame
- p-value
- 분포
- Today
- Total
one of a kind scene
4-2 데이터 처리 기술_분산 컴퓨팅 기술 part3_SQL on 하둡(임팔라) 본문
분산 컴퓨팅 기술 part3_SQL on 하둡(임팔라)
SQL on 하둡 : 실시간 SQL 질의 분석 기술 중 임팔라에 대해서 살펴봄
임팔라외 SQL on 하둡 참고
2019/11/18 - [ADP] - 4-1 데이터 처리 프로세스_대용량의 비정형 데이터 처리방법
1. SQL on 하둡 개요
• 실시간 처리라는 측면에서 하둡의 제약사항을 극복하기 위한 시도중 하나인 SQL on 하둡은 실시간 SQL 질의 분석 기술
• SQL on 하둡 기술은 하둡에 저장된 대용량 데이터를 대화형식의 SQL 질의를 통해서 처리하고 분석하는 것. 이 중에서 임팔라(Impala)에 대해서 살펴봄
2. 임팔라의 개념 및 특징
• SQL on 하둡 기술 중 먼저 대중에게 공개된 기술, Cloudera(클라우데라)에서 드레멜(Dremel)의 논문을 읽은 후 실시간 애드혹(ad-hoc)질의가 가능할 것 같다는 기술적 영감을 얻어서 개발을 시작
• 임팔라는 분석과 트랜잭션 처리를 모두 지원하는 것을 목표로 만들어진 SQL 질의 엔진
• 하둡(Hadoop)과 Hbase에 저장된 데이터를 대상으로 SQL질의를 할 수 있음
• 고성능을 낼 수 있도록 자바(Java) 대신 C++언어를 사용
• 하이브(Hive)가 하둡에 저장된 다양한 형태의 비정형 데이터를 처리하는 표준 SQL 솔루션으로 사용되고 있지만,
• 더 빠른 처리가 필요한 비즈니스 요구 사항 때문에 임팔라 같은 기술이 대두됨
3. 임팔라의 구성요소
구분 | 설명 |
클라이언트 | - 임팔라에 접속해서 테이블 관리, 데이터 조회 등의 작업 수행 - ODBC/JDBC 클라이언트, 임팔라쉘 등에 해당 |
메타스토어 | - 임팔라로 분석할 대상 데이터들의 정보를 관리 - 하이브의 메타데이터를 같이 사용 |
임팔라 데몬 | - 시스템에 ImpalaD로 표시됨 - 클리이언트의 SQL 질의를 받아 데이터 파일들의 읽기/쓰기 작업을 수행 - 임팔라 데몬은 질의 실행 계획기, 질의 코디네이터, 질의 실행엔진으로 구성됨 |
스테이트 스토어 | - 임팔라 데몬들의 상태를 체크하고 상태정보를 관리해주는 데몬 - 임팔라 데몬에 장애가 생기면 다른 데몬들에게 이 사실을 알려서 이후부터는 장애가 발생한 데몬에게는 질의 요청이 가지 않도록함 |
스토리지 | - 분석할 데이터의 저장소로 현재는 에이치베이스(HBase), 하둡 분산 파일 시스템(HDFS) 두 가지를 지원 |
4. 임팔라 동작 방식
• 모든 노드에 임팔라 데몬이 구동되며, 사용자는 이 데몬들이 구동된 임의의 노드에 JDBC, ODBC, 임팔라쉘을 이용하여 질의를 요청할 수 있다.
• 사용자의 질의는 데이터의 지역성을 고려해서 노드 전체로 분산되어 수행됨
• 사용자의 질의 요청을 받은 코데네이터 데몬은 분산되어 수행된 각 임팔라 노드들의 부분 결과들을 취합한 후 결과값을 만들어서 사용자에게 제공
• 실제 운영 환경에서는 라운드 로빈 방식으로 사용자 질의를 분산시켜서 질의에 대해 전 노드들이 코디네이터 역할을 고르게 수행할 수 있도록 해야함
• 라운드 로빈 : 여러 프로세스들이 (1/n등분해서) 순서대로 돌아가면서 처리되는 스케줄링 방식
5. 임팔라의 SQL 구문
• 임팔라는 기본적으로 하이브의 SQL을 이용하지만, 모든 하이브 SQL을 지원하는 것은 아님
• 따라서, 어떤 구문이 지원되는지 확인이 필요
6. 임팔라 데이터 모델
• 임팔라는 HDFS(하둡 분산 파일시스템)에 데이터를 저장하며, 어떤 저장포맷 사용하느냐에 따라 데이터 조회시 처리 성능이 달라짐
'ADP > 이론' 카테고리의 다른 글
4-3 데이터 처리 기술_클라우드 인프라 기술 part2_서버 가상화 (0) | 2020.01.23 |
---|---|
4-3 데이터 처리 기술_클라우드 인프라 기술 part1_클라우드 컴퓨팅 (0) | 2020.01.22 |
4-2 데이터 처리 기술_분산 컴퓨팅 기술 part2_병렬 쿼리 시스템 (0) | 2019.12.22 |
4-2 데이터 처리 기술_분산 컴퓨팅 기술 part1_MapReduce (0) | 2019.12.16 |
4-2 데이터 처리 기술_분산 데이터 저장 기술 part3_NoSQL 데이터베이스 (0) | 2019.11.22 |