Apache Hive: for business intelligence use and real-time I/O use (Korean)

1,722 views

Published on

"아파치 하이브: 비즈니스 인텔리전스와 실시간 조회 관점에서" 슬라이드는 제 10회 ACC (http://acc.zdnet.co.kr)에서 아파치 하이브 기여자 최종욱이 발표한 내용을 담고 있습니다. 최근 스팅어가 추구하는 방향, 그리고 달성한 성과와 HBase 통합 분야의 발전을 소개합니다.

Published in: Technology
1 Comment
14 Likes
Statistics
Notes
  • 잘 봤습니다. 간략해서 빠르게 보고 키워드 건져 갑니다.

    페이스 북으로 공유하려고 했더니 슬라이드 썸네일의 한글은 아예 날아가 버리고, 요약부분의 한글은 깨져 버리는 군요. 아... slideshare 너무하는데요? 영문 버전도 있으시면 공개해 주실 수 있나요?
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
1,722
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
49
Comments
1
Likes
14
Embeds 0
No embeds

No notes for slide

Apache Hive: for business intelligence use and real-time I/O use (Korean)

  1. 1. 아파치 하이브! 비즈니스 인텔리전스와
 실시간 조회 관점에서 아파치 하이브 기여자 최종욱(Teddy Choi)
 teddyjchoi@gmail.com
  2. 2. 발표자 • 최종욱 (Teddy Choi)
 teddyjchoi@gmail.com" • 현 아파치 하이브 기여자
 전 KT 넥스알 선임 연구원 • 벡터화, HBase 지원, 오류 수정 등 다양한 분야에서 작업
  3. 3. 오늘의 두 주제 1. 고급 분석 (비즈니스 인텔리전스) 2. 실시간 조회
  4. 4. 1. 비즈니스 인텔리전스 (Business Intelligence) • “구슬이 서말이라도 꿰어야 보배” • 의사결정에 필요한 정보를 제공 • 비즈니스 인텔리전스 제품들이 자 료에 대한 통찰을 제공하며, 이 제품 들은 SQL을 바탕으로 데이터를 다 룬다. 또한 기존의 분석가들도 SQL 에 익숙하다. SQL
  5. 5. 아파치 하이브
 (Apache Hive) • 페이스북에서 익숙한 SQL 언어로 하 둡에서 대용량 자료를 다루기 위해 만 들고 오픈소스로 공개했다. • 그 동안 많은 경쟁자들이 도전한다. 클 라우데라의 임팔라(Impala), 타조 (Tajo), 샤크(Shark) 등. • ODBC 드라이버 전문 제작 업체 심바 테크놀로지스에 따르면, 하이브는 여 전히 SQL 온/인 하둡 제품들의 실질 적인 표준으로 자리잡고 있다. 엑셀, 탈렌드, 마이크로스트래티지, SAP 하 나 등 주요 BI 관련 제품이 지원한다. 가장 많은 인증 기능도 제공한다. SAPHANA
  6. 6. 관련 제품들 클라우데라 임팔라" 아파치 하이브" 스팅어 계획 페이스북 프레스토" IBM Big SQL" 아파치 타조" 피보탈 HAWQ SQL 인 하둡 SQL 온 하둡
  7. 7. 상호작용적 분석을 위해 다양한 기법 적용 (인메모리, MPP, LLVM, …) 관련 제품들 SQL 인 하둡의 선구자, 맵리듀스의 한계로 상호작용적 분석에는 부적합 아파치 하이브! 스팅어 계획 클라우데라 임팔라! 페이스북 프레스토! IBM Big SQL! 아파치 타조! 피보탈 HAWQ SQL 인 하둡 SQL 온 하둡
  8. 8. 관련 제품들 독자적인 자료 처리, 클러스터 추가 구성 클라우데라 임팔라! 아파치 하이브" 스팅어 계획 하둡 2 얀(YARN) 기반, 하둡 클러스터를 사용 SQL 인 하둡 페이스북 프레스토! IBM Big SQL! 아파치 타조! 피보탈 HAWQ SQL 온 하둡
  9. 9. 관련 제품들 하이브 메타스토어 중심 클라우데라 임팔라! 아파치 하이브! 스팅어 계획 페이스북 프레스토! IBM Big SQL! 아파치 타조" (하이브 메타스토어 지원) 피보탈 HAWQ SQL 인 하둡 SQL 온 하둡
  10. 10. 스팅어 계획 (Stinger Initiative) • 차세대 하이브를 이끌기 위한 광범위한 커뮤니티 주도의 노력이다 • • 규모: 테라~페타바이트 규모의 질의 를 다루기 위해 설계된 유일한 SQL 하둡 인터페이스 • • 속도: 상호작용적 질의 시간(초 단위) 을 위해 하이브 질의 성능을 100배까 지 향상 SQL: 하둡을 이용하는 분석 응용을 위한 가장 다양한 범위의 SQL 구문 을 지원 이 모든 것이 하둡 내에서 이뤄진다
  11. 11. 속도: 상호작용적 질의 수행 Stinger Phase 3: Interactive Query In Hadoop Query+27:+Pricing+Analy'cs+using+Star+Schema+Join++ Query+82:+Inventory+Analy'cs+Joining+2+Large+Fact+Tables+ 1400s 190x* Improvement* 3200s 200x* Improvement* 65s 39s 14.9s 7.2s TPCIDS*Query*27* Hive 10 Hive 0.11 (Phase 1) TPCIDS*Query*82* Trunk (Phase 3) All*Results*at*Scale*Factor*200*(Approximately*200GB*Data)* © Hortonworks Inc. 2013. Page 12
  12. 12. SQL: SQL 구문 확장 SQL: Enhancing SQL Semantics Hive+SQL+Datatypes+ Hive+SQL+Seman'cs+ SQL Compliance INT* SELECT,*INSERT* TINYINT/SMALLINT/BIGINT* GROUP*BY,*ORDER*BY,*SORT*BY* BOOLEAN* JOIN*on*explicit*join*key* FLOAT* Inner,*outer,*cross*and*semi*joins* DOUBLE* SubIqueries*in*FROM*clause* Hive 12 provides a wide array of SQL datatypes and semantics so your existing tools integrate more seamlessly with Hadoop STRING* ROLLUP*and*CUBE* TIMESTAMP* UNION* BINARY* Windowing*Func:ons*(OVER,*RANK,*etc)* DECIMAL* Custom*Java*UDFs* ARRAY,*MAP,*STRUCT,*UNION* Standard*Aggrega:on*(SUM,*AVG,*etc.)* DATE* Advanced*UDFs*(ngram,*Xpath,*URL)** VARCHAR* SubIqueries*in*WHERE,*HAVING* CHAR* Expanded*JOIN*Syntax* SQL*Compliant*Security*(GRANT,*etc.)* INSERT/UPDATE/DELETE*(ACID)* © Hortonworks Inc. 2013. Available* Hive*0.12* Roadmap*
  13. 13. 규모: 페타바이트 규모의
 SCALE: Interactive Query at Petabyte Scale 상호작용적 질의 Sustained Query Times Smaller Footprint Apache Hive 0.12 provides sustained acceptable query times even at petabyte scale Better encoding with ORC in Apache Hive 0.12 reduces resource requirements for your cluster File+Size+Comparison+Across+Encoding+Methods+ Dataset:+TPCLDS+Scale+500+Dataset+ 585+GB+ (Original+Size)+ 505+GB+ (14%+Smaller)+ Impala+ 221+GB+ (62%+Smaller)+ Hive+12+ 131+GB+ (78%+Smaller)+ Encoded*with* Text+ © Hortonworks Inc. 2013. Encoded*with* RCFile+ Encoded*with* Parquet+ Encoded*with* ORCFile+ •  Larger Block Sizes •  Columnar format arranges columns adjacent within the file for compression & fast access
  14. 14. 벡터화 (Vectorization) • • C1 C2 R1 R2 예를 들어 기존 날짜 관련 SQL 함수 는 복잡한 처리 논리를 담은 객체를 매 레코드마다 생성하길 반복했으나 벡터화(vectorization)로 단 한 번 만 생성하여 재사용한다. R3 마이크로소프트 SQL 서버 개발팀에 서 설계를 주도한다. 최종욱은 시간, 문자열 자료형 관련 벡터화 부분을 설계 및 구현했다. R7 R4 R5 R6 R8 R9 기존 실행 C3 벡터화된 실행 • 레코드 단위 처리와 달리, 컬럼 단위 로 처리한다. 객체 생성 횟수를 줄이 고 CPU 캐쉬 적중률을 높여 처리 성 능을 높인다. C4 C5
  15. 15. 실제 적용한 최적화 기법들 • Effective Java 2판 항목 5: 불필요한 객체의 생성을 피 하자 • Timestamp 관련 함수들 최적화 (YEAR, MONTH, …) • • 연도나 월 등 단순한 필드는 객체 미생성 • • 생성이 느린 Calendar, DateFormat 객체는 최대한 재사용 String 없이 byte 배열로 직접 접근 정규식 관련 함수들 최적화 (LIKE, RLIKE) • • 접미사 등 단순한 정규식은 Pattern 객체 미생성 • String 없이 byte 배열로 직접 접근 • • 생성이 느린 Pattern 객체는 최대한 재사용 UTF-8 디코딩 부분도 객체 생성을 최소화 이로써 해당 기능의 성능이 2~4배로 향상
  16. 16. 중간 요약 1. 하이브는 빅데이터 비즈니스
 2. 하이브는 실시간 빅데이터
 인텔리전스 제품 연동에 적합하다 조회 기능도 향상 중이다
  17. 17. 2. 실시간 조회 • 이메일, 채팅 등이나 유저 클릭 등의 데이터가 생성되는 동시에 저장하 고 언제든지 불러오고 싶지만. 테라 ~페타 바이트 단위로 쌓이고 밀리 초~나노 초 안에 조회해야한다면? 배치 처리 위주의 하둡이 다루기 힘 든 분야다. • 페이스북, 라인 메신저 등의 글로벌 인터넷 서비스 회사에서 부딪힌 문 제다. 금융, 의료, 보안 등의 분야도 마찬가지다.
  18. 18. NoSQL 이력서 쓰는 방법 • • 기존의 관계형 데이터베이스로 다 루기 힘든 대용량의 자료를 실시간 으로 다루기 위해 등장한 새로운 데 이터베이스의 통칭이다. 분산 시스 템, 비정형 자료, SQL 미지원, 비정 규화, 약한 일관성 등의 특징 중 일 부를 공유한다. 몽고디비, 카우치디비, HBase, 카 산드라 등이 유명하다. SQL 한 번이라도
 써본 적 있어? 아니 상관 없어. “NO SQL 전문가” 라고 적어 NoSQL 인기에 묻어가기
  19. 19. 아파치 HBase • HBase는 레코드 단위의 실시간 처 리를 제공하는 NoSQL 제품이다. 카산드라나 몽고디비 등 경쟁제품 과 달리 하둡 클러스터에서 작동한 다. 하둡의 보완재 역할을 한다. • 페이스북과 라인 메신저 등의 성공 사례가 나왔다. • SQL과 다른 독자적인 질의 언어를 사용하여 프로그래머들에게 부담이 된다.
  20. 20. SQL 온 HBase • HBase를 SQL로 다루는 기술이 다. 하이브, 임팔라에서 기본으로 지 원하나, 단일키 등 기본적인 기능을 지원한다. • 세일즈포스에서 피닉스(Phoenix) 를 공개했다. 복합키, 스킵 스캔, 이 차 색인 등 다양한 최적화 도입으로 성능을 높였다. 반면 고급 분석 함수 와 조인 등의 SQL 기능 구현이 부 족한 부분이 있어 이를 보완할 방법 이 필요하다.
  21. 21. 하이브-HBase 최적화 사례 • 최종욱은 하이브에서 HBase 이중 키 지원 및 질의문 최적화 기능 추가 했다. • 주어진 질의문의 조건절을 논리합 표준형(DNF)으로 변환하고 각 조 건별 중복 범위 제거 등의 최적화 기 술을 도입하여 10GB 테이블을 대 상으로 단건 및 복수건 처리 시간을 수 분~수 시간에서 밀리 초~수 초 로 단축했다. • 조만간 관련 내용을 하이브 본 코드 에 반영할 계획이다.
  22. 22. 변환 단계 1. 로우키와 무관한 컬럼 제거 2. 논리합 표준형으로 변환 SELECT … WHERE … > (…AND…) OR (…AND…) 3. AND 절 별 범위 처리 (…AND…) OR (…AND…) > (…~…) OR (…~…) 4. 전체 중복 범위 처리 5. 수행계획 SQL 변환 및 전달 (0~1000) + (4000~5000) > (BETWEEN 0 AND 1000)
 OR (BETWEEN 4000 AND 5000)
  23. 23. 고려중인 방안 1. 순수하게 하이브로 제작 2. 피닉스 연동
  24. 24. 요약 1. 하이브는 빅데이터 비즈니스
 2. 하이브는 실시간 빅데이터
 인텔리전스 제품 연동에 적합하다 조회 기능도 향상 중이다
  25. 25. 함께 볼만한 오픈소스들 " • • 타조(Tajo): 하이브의 맵리 듀스 등 병목구간을 제거한 분산 데이터웨어하우스. 한 국 업체인 그루터 등이 참 여. " 올챙이(Tapole): 하이브 등 다양한 DB를 지원하는 편리한 웹 DB 클라이언트. • 피그(Pig): 인기가 높은 하 둡 데이터 처리용 스크립트 언어.
  26. 26. 감사합니다. " 질문 있나요?
  27. 27. 참고 자료 • “State of the Hive Market” Simba Technologies, 2013 http://www.slideshare.net/ GeorgeChow1/2013-1028hugstateofthemarket-27709824 • “Apache Hive and Stinger: SQL in Hadoop” Hortonworks, 2013 http:// www.slideshare.net/alanfgates/strata-stingertalk-oct2013 • “분석 소프트웨어 실행 화면” MicroStrategy, 2013 http://www.microstrategy.com/ platforms/analytics • “NoSQL” Geek And Poke, 2011 http://geekandpoke.typepad.com/geekandpoke/ 2011/01/nosql.html • “상표” 해당 상표 소유 회사 또는 단체, 2013 • “Wild bee hive” Carly Lesser & Art, 2013 http://www.flickr.com/photos/wiredwitch/ 2302523896/ under CC BY-SA 2.0 • “Q&A” Quinn Dombrowski, 2013 http://www.flickr.com/photos/quinnanya/ 4080820343/ under CC BY-SA 2.0

×