From the course: 데이터 엔지니어링의 기초

Unlock this course with a free trial

Join today to access over 23,400 courses taught by industry experts.

스파크

스파크

소개할 다른 병렬 계산 프레임워크는 Spark입니다. Spark는 컴퓨터 클러스터 간에 데이터 처리 작업을 분산합니다. 그런데 왜 Spark와 같은 도구가 필요했을까요? MapReduce 기반 시스템은 작업 간에 값비싼 디스크 권한이 필요한 경향이 있습니다. Spark는 메모리에서 가능한 한 많은 처리를 유지하려고 합니다. 그런 의미에서 Spark는 MapReduce의 한계에 대한 해답이었습니다. MapReduce의 디스크 권한은 대화식 탐색 데이터 분석에서 특히 제한적이었습니다. 여기서 각 단계는 이전 단계 위에 구축됩니다. Spark는 캘리포니아 대학교에서 시작되었습니다. Berkeley의 AMPLab에서 개발되었으며, 현재 이 프로젝트는 Apache Software Foundation에서 관리하고 있습니다. Spark는 탄력적인 분산 데이터 집합 또는 RDD라는 데이터 구조에 의존합니다. 이제 전문적인 내용을 다루지 않고 이는 여러 노드 간에 분산되는 데이터를 유지하는 데이터 구조입니다. 데이터 프레임과 달리 RDD에는 명명된 열이 없습니다. 개념적 관점에서 RDD를 튜플 목록으로 생각할 수 있습니다. 이러한 데이터 구조에 대해 두 가지 유형의 작업을 수행할 수 있습니다. 변형과 동작입니다. 변형에 대해 이야기할 때, 우리는 filter, map, groupByKey, union과 같은 기능에 대해 이야기합니다. 우리가 동작에 대해 말할 때, count, first, collect, reduce와 같은 함수에 대해 이야기합니다. 변환 결과 변환된 RDD가 생성됩니다. 동작은 단일 결과를 낳습니다. Spark로 작업할 때, 사람들은 일반적으로 PySpark와 같은 프로그래밍 언어 인터페이스를 사용합니다. PySpark는 Spark에 대한 Python 인터페이스입니다. R이나 Scala와 같은 다른 언어로도 Spark에 대한 인터페이스가 있습니다. PySpark는 데이터 프레임 추상화를 보유하므로 pandas 데이터 프레임과 매우 유사한 작업을 수행할 수…

Contents