개발일기 정답찾기

Apache Spark 분산 처리 시스템 - 유딩동 Tistory 본문

IT/cloud

Apache Spark 분산 처리 시스템 - 유딩동 Tistory

유딩동 2021. 12. 6. 13:08

 

 

AWS Glue에 들어가기 앞서 꼭 알고 넘어가야 할 개념, Spark

 

 

 

Apache Spark란?
분산 클러스터 컴퓨팅 프레임 워크

대용량 데이터를 연산해야 하는 일이 있습니다. 이때 데이터를 여러대의 CPU가 나누어서 각자 맡은 분야를 parallel환경에서 연산하고 마지막에 merge하여 연산을 처리한다면 그 속도는 분산된 수만큼 빠르게 처리가 가능합니다.

- Apache Spark는 빅 데이터 워크로드에 주로 사용되는 오픈 소스 분산 처리 시스템

- 빠른 성능을 위해 인 메모리 캐싱과 최적화된 실행을 사용
- 일반 배치 처리, 스트리밍 분석, 기계 학습, 그래프 데이터베이스 및 임시 쿼리를 지원 

- 캘리포니아 대학교 버클리 에서 개발된 이후, Apache 재단에서 관리

Apache Spark 특징

1. 빠른 성능 
- 데이터 변환에 대한 효율적인 쿼리 계획을 생성

- 입력, 출력 및 중간 데이터를 인 메모리에 RDD(Resilient Distributed Dataset)로 저장

 -> I/O 비용 없이 반복 또는 대화형 워크로드를 빠르게 처리, 높은성능

 

2. 다양한 언어 지원
 :  Java, Scala 및 Python을 지원


3.다양한 워크플로 생성 
 : 기계 학습(MLlib), 스트림 처리(Spark Streaming) 및 그래프 처리(GraphX)용 애플리케이션을 구축하는 데 도움이 되는 몇 가지 라이브러리가 포함


4. Amazon EMR 기능 집합과 통합 
 : Amazon EMR Step API로 Apache Spark 작업을 제출하고, EMRFS와 함께 Apache Spark를 사용하여 Amazon S3에 있는 데이터에 직접 액세스하며, Amazon EC2 스팟 용량을 사용하여 비용을 절감하고, 워크로드에 맞춰 장기 실행 또는 휘발성 클러스터를 시작할 수 있습니다. Amazon EMR은 하둡 YARN에서 Apache Spark를 설치 및 관리하고, 사용자는 클러스터에 다른 하둡 에코시스템 애플리케이션을 추가가능

 

Comments