Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

카일린 Kylin, OLAP on hadoop

1.289 visualizaciones

Publicado el

JBUG 세미나에서 발표한 Apache Kylin에 관한 소개 자료입니다.

Publicado en: Software
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

카일린 Kylin, OLAP on hadoop

  1. 1. Apache Kylin 하둡 기반의 데이터 큐브 시스템
  2. 2. OLAP OLAP is an acronym for Online Analytical Processing. OLAP performs multidimensional analysis of business data and provides the capability for complex calculations, trend analysis, and sophisticated data modeling. It is the foundation for many ki …. 결국은 GROUP BY METRIC
  3. 3. 보고자 하는 것 - 남자가 봐? 여자가 봐? -> 성별로 조회수 - 어느 지역에서 검색어 추이가 어때 -> 지역별, 시간별 검색 횟수 - 남자 10대 ~ 20대 타겟 개인화를 하려 하는데 .. -> 성별, 연령별, 시간별 체류 시간 SELECT `gender`, `age`, `location`, 조회수, 검색 횟수, 체류 시간 FROM 데이터_마트 WHERE 아웃라이어 제거 조건 GROUP BY `gender`, `age`, `location` HAVING 유의미한 지표 필터링
  4. 4. 문제는 데이터 사이즈 - 엑셀 - RDB, Netezza - 데이터 마트 - Star Schema “내가 해봤는데, 하루 100만건 까지는 지지고 볶고 하면 되겠는데 아 그래, 좀 크게 잡아서 3~4백만건까지는 OK. 근데 그 이상은 좀 힘들더라 근데 커팅 형님이 도와줬지 ㅎㅎㅎ” 김철수(가명) 40대? 시니어 개발자
  5. 5. Netezza 수억원 한대요 ㄷㄷㄷ
  6. 6. 그때는 OLAP 쿼리 토요일날 돌려놓고 퇴근했어 그리고 월요일 아침정도에 거의 끝나거덩 그러면 그거 정리해서 오후에 리포팅 했지 껄껄껄 ... 김민수(가명) 40대? 시니어 개발자
  7. 7. 수십억, GROUP BY - Hadoop v1 - Hive 음.. 일단 몇시간 내로 나오긴 나오네! 그게 어디야. 세상 좋아졌네~ 껄껄껄
  8. 8. 수백억건, GROUP BY, 실시간 - Hadoop - Hive는 너무 느려! 데싸님들의 높아진 눈높이 - Spark + Zeppelin. 노트북 - Elastic Search - Apache Kylin - Google Dremel - 컬럼 Oriented, 실행 트리 - Apache Drill - Impala + Kudu - Druid 빅데이터 처리 관점으로의 OLAP Interactive OLAP 의 패러다임
  9. 9. 실시간 빅데이터 OLAP, HOW? - 열라 빨리 읽어 열라 빠르게 처리한다. - 그까이꺼 미리 다 만들어 놓는다.
  10. 10. 열라 빨리 읽어 열라 빨리 처리한다. - 저장은 Column 지향, 인코딩, 샤딩 - 병렬로 최적 실행 트리를 만들어 처리. - 당연한 장비빨. SSD, 네트웍 장비, 어마무시한 노드수 - CPU Instruction, Memory prefetch - 쿼리 컴파일 - 확률적 추정, 샘플링
  11. 11. Impala
  12. 12. Impala - Code Gen
  13. 13. Impala, LLVM Query Compile https://github.com/apache/incubator-impala/blob/master/be/src/exec/partitioned-hash-join-node.cc
  14. 14. Apache Kudu - CPU Instruction
  15. 15. 난 둘다 지롱 - Druid - 샘플링! 표본으로 모집단 추정. 참값과 달라도 쇠고랑 차지 않아요. 재 방문률 타겟팅 유효율 Top 1000 유니크 방문자. 1 2314 1212 vs 1 1841 5123 증감
  16. 16. 그까이꺼 미리 다 만들어 놓는다 - 데이터 큐브 - 전날 배치를 돌려 모든 조합을 만들어 놓는다.
  17. 17. 8개월간의 사투 - ㅋㅋㅋㅋ 야이씨 데이터가 많은데 그걸 빨리 읽어서 처리? ㅋㅋㅋㅋㅋ 카일린 고고 - 흠.. 혹시나… Impala + Kudu 어때? 오.. 괜찮네. 몇개는 역시 한계가 있는 건가. - 음?? Druid! 괜찮네.. Impala + Kudu 한계까지 커버 하네! - 현재 Druid로 새로 꾸리는 중...
  18. 18. 자, 시작합니다. 카일린(키린도 맞아요)
  19. 19. Tomcat + Spring + Calcite HBaseHive
  20. 20. 카프카 스팍 스트리밍 스팍 스트리밍 엘라스틱 서치 Parquet 스팍 스팍 SQL Parquet Hive Kylin Query 실시간 배치
  21. 21. Curse of dimension - 조합의 수. 디멘션의 개수 10개의 총 조합수 nC1 + nC2 + nC3 + … + nCn = 2^n - 1개 - 조합 수보다 중요한 건 Unique Cardinality 디멘션이 4개, 각 디멘션당 Unique Cardinality 100만개 그러면 1 0000 0400 0006 0000 0400 0000개. 1자 400경 6억 4백만. - 무식하게 다 빌드 했더니 1.7T ㄷㄷ 근데 하루 치 ㄷㄷㄷㄷㄷㄷㄷ 카일린 당신이란 사람은 대체 ㄷㄷㄷㄷ
  22. 22. 디멘션 프루닝 - Aggregation Group - Mandatory - Hierarchy - Joint - Derived 필요 없는 조합은 만들지 않는다.
  23. 23. But 현실에서는 ... 데싸 : 나는 Store 디멘션은 필요 없어 ㅎㅎㅎㅎ 데엔 : 아 그래요? 그럼 Store 빼놓고 큐브 빌드 할게요 ㅎㅎㅎㅎ 데싸 : 그래 ㅎㅎㅎㅎ 1주일 뒤 데싸 : Store별로 보는게 나을 것 같습니다. 데엔 : 데싸 당신이란 사람은 대체 ... 불필요한 Store 디멘션은 빼고 큐브 빌드
  24. 24. 네, 제가 해보겠습니다. D2에 DockerFile만들어 놨어요 http://d2.naver.com/helloworld/1057065
  25. 25. Kylin Insight - 디멘션 프루닝 - 인코딩 - 큐브 빌드 알고리즘 - 데이터 큐브 On Hadoop - 샘플링 - 샤딩
  26. 26. 부족했던 점 - 데이터는 무럭무럭 자란다. 스키마 에볼루션? 쿼리가 고정된 경우에는 적합하지만 어떤 쿼리가 들어올지 모르는 상황에서는 유즈케이스가 안맞는 것 같다. - 실시간 처리 - 큐브 병합. 주별, 월별이 아닌 n일치로 병합 그러니까 1월 + 2월분이 섞이게 된다. - 헤비 쿼리를 날리면 HBase 왜 니가 죽냐...
  27. 27. QnA

×