Learning Spark - 1. Introduction to Apache Spark, The Genesis of Spark

마크맨 2021. 8. 17. 00:52

들어가며

새로운 팀 스터디 자료를 읽으면서 내용을 정리해 봅니다.

책은 러닝 스파크 2판이며, 한글 번역서가 없어서 kindle에 있는 원서 ebook으로 진행하기로 했습니다.

https://www.amazon.com/Learning-Spark-Lightning-Fast-Data-Analytics-ebook-dp-B08F9WVFCT/dp/B08F9WVFCT/ref=mt_other?_encoding=UTF8&me=&qid= 

 

Amazon.com

Enter the characters you see below Sorry, we just need to make sure you're not a robot. For best results, please make sure your browser is accepting cookies.

www.amazon.com

 

방식

책 읽으면서 내용 간단하게 정리하고, 스터디한 내용을 편집해서 정리할 예정입니다.

 

Chap 1. Introduction to Apache Spark

The Genesis of Spark

구글에서의 big data와 분산 컴퓨팅

구글 스케일의 검색엔진을 운영하기 위해서는 전통적인 스토리지 시스템과 RDBMS, 명령형 프로그래밍 이상의 성능이 필요

Google File System(GFS), MapReduce(MR), Bigtable 개발 및 사용

 

Yahoo에서의 Hadoop

GFS를 기반으로 Hadoop File System(HDFS) 개발

Apache로 넘기면서 Apache Hadoop이 됨.

MapReduce on HDFS는 단점이 몇개 있었음

  • 관리하기 어려웠음, 운영 복잡도가 높음
  • 일반적인 batch MapReduce API는 많은 셋업 코드가 필요하고, 실패하기 쉬웠음
  • 많은 양의 MR 태스크 잡들에서, 각 중간 계산값들이 다음 태스크를 위해 로컬 디스크에 저장되었기 때문에 디스크 IO 바운드가 걸림
  • 머신러닝, 스트리밍, interactive SQL query에 효율이 떨어졌음

이에 Apache Hive, Apache Storm, Apache Impala, Apachhe Giraph, Apache Drill, Apache Mahout같은 맞춤형 시스템들을 만들기 시작하고, 각자의 API와 클러스터 구성을 사용함 -> 복잡도 더 증가

 

AMPLab에서의 Spark 초기 단계

초기 논문에서는 Hadoop MapReduce보다 10~20배 빠름

기본 아이디어는 MapReduce에서 가져오지만, 다음을 목표로 함

  • 속도를 더 빠르게
  • 더 fault tolerant 하게
  • 병렬 구성
  • 중간 단계를 위한 in-memory 저장소 지원
  • 쉬운 API 제공
  • 다른 작업부하에 대해 일관적인 지원

2014 5월에 Apache Spark 1.0 등장

 

'' 카테고리의 다른 글

[요약] 죽을 때까지 코딩하며 사는 법  (2) 2021.06.09