Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

하둡 에코시스템 위에서 환상적인 테이크오프 - DSTS 2019

632 views

Published on

하둡의 거대한 파도를 대비해서 테이크오프를 준비하는 여러분을 위해 준비한 슬라이드입니다. 하둡의 수많은 생태계에 요소들을 둘러보고 이것이 협업에 어떤 도움을 주는지를 설명합니다. 이 발표자료는 DSTS 2019 서울에서 발표되었습니다.

Published in: Software
  • Login to see the comments

하둡 에코시스템 위에서 환상적인 테이크오프 - DSTS 2019

  1. 1. 하둡 에코시스템 위에서 환상적인 테이크오프 🏄♀ 한성민
  2. 2. CONTENTS 다가오는 거대한 데이터 하둡과 에코시스템 협업을 위한 하둡 돌아보며 01 02 03 04
  3. 3. Speaker 한성민 Research Engineer golanghadoop surfing
  4. 4. 01_ 다가오는 거대한 데이터
  5. 5. 행복했던 우리들의 데이터 처리 01_다가오는 거대한 데이터 CSV를 통해서 데이터를 처리한 경험이 한번쯤 있으실 겁니다. 데이터를 읽기도 쉽고, 불러오고 저장하는 것도 쉬워서 항상 많은 사랑을 받고 있죠 😆 아마도 우리들 분석할 CSV 데이터 주피터 노트북 분석 시각화
  6. 6. 데이터 협업 환경 01_다가오는 거대한 데이터 CSV로 협업하는 것도 복잡하지는 않습니다. 물론 파일을 전달하는 것이기에, 조금 번거로울 뿐이죠 아마도 우리들 CSV 데이터 전처리 데이터 직장동료 분석 데이터 프로세싱 메일전송
  7. 7. 협업에서 찾아오는 문제들 01_다가오는 거대한 데이터 물론 협업할 때부터 보이지 않는 문제가 터지기 시작합니다. 데이터 전달일자에 갑자기 깨진 파일 (백업이 없다) 비기! 최종본 분신술 복구할려고 메일을 뒤졌지만 기간이 만료됬다.
  8. 8. 데이터베이스를 통한 협업 시도 01_다가오는 거대한 데이터 MongoDB MySQL 아마도 우리들 분석 및 전처리 데이터 변경 안내 데이터베이스를 사용하면, 협업에서 발생하는 문제를 줄일 수 있습니다. 주기적인 데이터백업
  9. 9. 그들이.. 온다.... 01_다가오는 거대한 데이터 누구나 그럴싸한 계획을 가지고 있다, 데이터베이스가 터지기 전까진
  10. 10. 오늘날에는 Data 기술의 향상이 불러온 것 01_다가오는 거대한 데이터 https://techcrunch.com/2012/08/22/how-big-is-facebooks-data-2-5-billion-pieces-of-content-and-500-terabytes-ingested-every-day/
  11. 11. 데이터가 늘어남에 따라, 늦어지는 처리 속도 01_다가오는 거대한 데이터 데이터를 10만개 정도 넣어보고...
  12. 12. 데이터가 늘어남에 따라, 늦어지는 처리 속도 01_다가오는 거대한 데이터 delimiter $ CREATE FUNCTION grade(score INT) RETURNS CHAR BEGIN DECLARE grade_score CHAR; SELECT CASE WHEN score BETWEEN 90 AND 100 THEN 'A' WHEN score BETWEEN 80 AND 89 THEN 'B' WHEN score BETWEEN 70 AND 79 THEN 'C' WHEN score BETWEEN 60 AND 69 THEN 'D' ELSE 'F' END INTO grade_score; RETURN grade_score; END $ SELECT grade((score_eng + score_math + score_science + score_history) / 4) AS grade_score, COUNT(*) AS count, CONCAT(CEILING(COUNT(*) / (SELECT COUNT(*) FROM dsts.dsts) * 100), '%') FROM dsts.dsts GROUP BY grade_score ORDER BY grade_score; 집계 함수와 CASE 문, 서브쿼리 조합 (지옥의 조합) 이용해서 전체 데이터를 취합하는 쿼리를 테스트해봅시다. *참고로 좌측의 쿼리는 전체 점수를 평균내어 아래와 같은 기준으로 등급을 매겨줍니다. 90~100 -> ‘A’ 80~89 -> ‘B’ 70~79 -> ‘C’ 60~69 -> ‘D’ 그 밖에 -> ‘F’ 결과 값은 각 등급별 사람의 수와 그 등급이 전체에서 몇 % 비중을 가지는지 보여줍니다.
  13. 13. 데이터가 늘어남에 따라, 늦어지는 처리 속도 01_다가오는 거대한 데이터 쿼리 결과를 조회하기까지 총 11초가 소요되었습니다. 이 정도면 나쁜 조건은 아닙니다.
  14. 14. 데이터가 늘어남에 따라, 늦어지는 처리 속도 01_다가오는 거대한 데이터 1천만 Rows를 가진 테이블에서의 쿼리 결과는 총 1분 50초가 소요되었습니다. 점점 작업 조회가 늦어집니다. 😢
  15. 15. 여기서 질문! 01_다가오는 거대한 데이터 만약 1억건의 데이터를 검색하고자 한다면, 어느정도의 시간이 소요될 것 같으세요?
  16. 16. 1억건 데이터에서 오는 데이터처리의 한계 01_다가오는 거대한 데이터 이제 1억건의 Rows를 가진 테이블에서의 쿼리를 실행했습니다. 결과는 총 18분 56초가 소요되었습니다 😭
  17. 17. 02_ 하둡과 에코시스템
  18. 18. 세상에 은총알은 없다.
  19. 19. 하둡을 대표하는 키워드들 02_하둡과 에코시스템 맵 리듀스 HDFS 하이브 YARN 스파크
  20. 20. 하둡이 가지고 있는 생태계 02_하둡과 에코시스템 하둡은 수 많은 프레임워크들의 생태계를 가지고 있습니다. 다양한 프레임워크들은 데이터 사이언티스트들의 업무에 맞게 골라가며 사용할 수 있게 되어있습니다.
  21. 21. 하둡의 구성 02_하둡과 에코시스템 HDFS YARN Map Reduce Others 하둡은 크게 3가지의 구조로 나눌 수 있습니다. 거대한 데이터를 처리하는 메커니즘인 맵 리듀스(MapReduce) 분산 환경에서 흩어진 리소스를 적절하게 관리해주는 얀(Yarn) 그리고 모든 데이터를 분산하여 보관하는 HDFS 하둡을 얘기할 땐 이 세가지 구성요소를 얘기합니다. YARN HDFS Resourc e Manager Name Node Node Manager Data Node Node Manager Data Node Node Manager Data Node Node Manager Data Node
  22. 22. 수 많은 데이터 프레임워크들 02_하둡과 에코시스템 코디네이터 리소스매니저 데 이 터 수 집 데 이 터 배 치 분 석 데 이 터 처 리 실 시 간 데 이 터 분 석 대 화 형 분 석 워크플로우 관리 클라우드 에디터 데이터 시각화
  23. 23. 수 많은 데이터 프레임워크들 02_하둡과 에코시스템 대화형 쿼리 엔진 데이터베이스 배치 데이터 분석 워크 플로우 코디네이터 메시지 처리 분산 리소스 관리 인메모리 데이터 처리 데이터 수집 시각화
  24. 24. 수 많은 데이터 프레임워크들 02_하둡과 에코시스템 대화형 쿼리 엔진 데이터베이스 배치 데이터 분석 워크 플로우 코디네이터 메시지 처리 분산 리소스 관리 인메모리 데이터 처리 데이터 수집 시각화 MapReduce, Apache Tez Apache Hive, Apache HBase Presto, Impala, Apache Tajo Oozie, Ambari Zookeeper Apache Spark YARN, Apache Mesos Apache Kafka Apache Sqoop, Hiho, Flume, Chunkwa Apache Zeppelin, Apache Superset
  25. 25. 03_ 협업을 위한 하둡
  26. 26. 기존 데이터 처리 과정의 비효율성 03_협업을 위한 하둡 아마도 우리들 Data Lake 분석할 CSV 데이터 주피터 노트북 시각화 ETL 쿼리 기존에는 데이터를 시각화하기 위해서 쿼리를 통해 원하는 데이터를 확인하고, 그것을 가공하고 추출해서(ETL), 시각화하기 까지 각 단계를 별도로 관리했습니다.
  27. 27. 기존 데이터 처리 과정의 비효율성 03_협업을 위한 하둡 로그 수집 트랜잭션 데이터 NOSQL Batch Adhoc 분석 로그 집계 Batch 분석 비정형 분석 서비스 아마도 우리들 데이터 저장소가 하나면 다행이지만, 업무에서 사용하는 데이터 소스가 다양하다면 업무처리는 더 복잡해집니다.
  28. 28. 하둡으로의 대체 03_협업을 위한 하둡 데이터 저장소가 하나면 다행이지만, 업무에서 사용하는 데이터 소스가 다양하다면 업무처리는 더 복잡해집니다. Batch 분석 비정형 분석 인메모리 분석 실시간 분석 Data lake (Hadoop HDFS) 아마도 우리들
  29. 29. 데이터 시각화 03_협업을 위한 하둡 여러가지 데이터 소스를 자동으로 불러와 시각화를 도와주기 때문에 매번 새로 추가된 데이터를 불러와 차트를 만드는 작업을 할 필요가 없어집니다. Apache Zeppelin Apache Superset
  30. 30. 데이터 플로우 03_협업을 위한 하둡 서비스 데이터베이스 Pub/Sub 로그 저장소 Cold Data Data lake Query EngineVisualization Workflow 아마도 우리들
  31. 31. 데이터 플로우 03_협업을 위한 하둡 Workflow (Airflow) Service Flow Hadoop HDFS Pub/Sub Visualization Query Engine 로그데이터 수집 Pipeline Pipeline Schedule Query Query
  32. 32. 04_ 돌아보며
  33. 33. 오늘 우리가 배운것을 돌아보면...
  34. 34. CSV
  35. 35. 느려
  36. 36. 데이터베이스
  37. 37. 느려
  38. 38. 하둡의 장점
  39. 39. 데이터 중앙화 데이터 플로우 분산 데이터 처리
  40. 40. 데이터 중앙화 데이터 플로우 분산 데이터 처리
  41. 41. 데이터 중앙화 데이터 플로우 분산 데이터 처리
  42. 42. Question?
  43. 43. Thank you! kenneth@pigno.se https://github.com/KennethanCeyer QNA GitHub

×