JUNE 27-30

JOIN NOW

Apache Spark

Apache Spark는 빅데이터와 머신 러닝에 사용하는 고속 통합 분석 엔진입니다. 원래는 2009년에 UC Berkeley에서 개발되었습니다.

데이터 처리 분야에서는 가장 규모가 큰 오픈 소스 프로젝트입니다.

통합 분석 엔진인 Apache Spark는 릴리스된 이후로 다양한 산업의 기업에서 빠른 속도로 도입되었습니다. Netflix, Yahoo, eBay와 같은 인터넷 대기업들이 대규모로 Spark를 배포하였고, 8,000개가 넘는 클러스터에서 모두 합쳐 페타바이트 규모의 데이터를 처리합니다. 얼마 지나지 않아 빅데이터 분야에서는 최대 규모의 오픈 소스 커뮤니티로 성장하였고 250개 이상 조직에서 1,000명 이상이 기여하고 있습니다.
Spark - Apache Spark

UC Berkeley에서 Spark 연구 프로젝트를 시작했던 팀이 2013년에 Databricks를 설립했습니다.

Apache Spark는 공급업체와 관계없이 Apache Software Foundation에서 호스팅되는 100% 오픈 소스입니다. Databricks에서는 이 오픈 개발 모델을 유지하고자 최선을 다하고 있습니다. Databricks는 Spark 커뮤니티와 더불어, 앞으로도 개발과 커뮤니티를 전도함으로써 Apache Spark 프로젝트에 크게 이바지하고 있습니다.


Apache Spark 에코시스템

Spark SQL + DataFrames

구조화된 데이터: Spark SQL

대다수의 데이터 사이언티스트, 애널리스트, 일반 비즈니스 인텔리전스 사용자는 데이터를 탐색할 때 인터랙티브 SQL 쿼리에 의존합니다. Spark SQL은 구조적 데이터 처리를 위한 Spark 모듈입니다. 이 모듈은 일명 DataFrames라는 프로그래밍 추상화를 제공하며 분산형 SQL 쿼리 엔진 역할도 할 수 있습니다. 이것을 이용하면 수정되지 않은 하둡 Hive 쿼리를 기존 배포와 데이터에서 최대 100배 더 빠르게 실행되도록 할 수 있습니다. 또한 나머지 Spark 에코시스템과의 강력한 통합을 제공하기도 합니다(예: SQL 쿼리 처리를 머신 러닝과 통합).

Streaming

스트리밍 분석: Spark Streaming

대부분 애플리케이션은 배치 데이터를 처리하고 분석하는 기능뿐만 아니라 새로운 데이터를 실시간으로 스트리밍하는 기능도 필요합니다.
Spark를 기반으로 하는 Spark Streaming은 Spark의 사용 편의성과 내고장성을 그대로 활용하면서도 스트리밍 데이터와 과거 데이터에 강력한 인터랙티브 분석 애플리케이션을 지원합니다. HDFS, Flume, Kafka, Twitter 등의 다양한 인기 데이터 소스와 바로 통합됩니다.

MLlib 머신 러닝

머신 러닝: MLlib

머신 러닝은 빅데이터를 마이닝하여 실천 가능한 인사이트를 얻는 분야에서 빠른 속도로 부상하여 중요한 비중을 차지하게 되었습니다. Spark를 기반으로 한 MLlib은 확장 가능한 머신 러닝 라이브러리로, 고급 알고리즘(예: 여러 번의 반복을 거쳐 정확도 향상)과 빠른 속도(MapReduce보다 속도가 100배 향상)을 제공합니다. 이 라이브러리는 Spark 애플리케이션의 일부분으로 Java, Scala 및 Python에서 사용할 수 있으므로 완료된 워크플로 내에 포함할 수 있습니다.

GraphX 그래프 계산

그래프 계산: GraphX

GraphX는 Spark를 기반으로 한 그래프 계산 엔진으로, 사용자가 대규모의 구조화된 그래프 데이터를 상호작용 방식으로 구축, 변환하고 추론할 수 있도록 지원합니다. 일반적으로 사용하는 알고리즘 라이브러리를 제공합니다.

Spark Core API

일반 실행: Spark Core

Spark Core는 Spark 플랫폼의 기본 일반 실행 엔진으로, 그 외에 다른 모든 기능은 이 엔진을 기반으로 구축됩니다. 메모리 내 컴퓨팅 기능으로 빠르고 일반화된 실행 모델을 제공하며, 간편한 개발을 위해 다양한 애플리케이션과 Java, Scala, Python API를 지원합니다.

R
sql
Python
scala
Java

Apache Spark 소개 - Apache Spark의 장점

속도

상향식으로 성능을 설계한 Spark는 메모리 내 컴퓨팅과 다른 최적화 방식을 활용하여 대규모 데이터 처리에서 보다 100배 빠른 속도를 자랑합니다. 또한, Spark는 디스크에 데이터를 저장했을 때도 빠른 속도로 처리하고 현재 디스크 내 대규모 정렬에서 세계 신기록을 보유하고 있습니다.

사용 편이성

Spark는 대규모 데이터 세트를 운영하는 데 쉽게 사용할 수 있는 API를 제공합니다. 여기에는 데이터 변환을 위한 100개 이상의 연산자 컬렉션과 반구조화된 데이터 조작에 흔히 사용하는 데이터 프레임 API도 포함됩니다.

통합 엔진

Spark는 SQL 쿼리, 스트리밍 데이터, 머신 러닝, 그래프 처리에 대한 지원을 포함하여 높은 수준의 라이브러리가 패키지로 제공됩니다. 이러한 표준 라이브러리는 개발자 생산성을 향상하며, 간편하게 결합하여 복잡한 워크플로를 구현할 수 있습니다.

Databricks 클라우드에서 무료로 Apache Spark 체험하기

Databricks 통합 분석 플랫폼은 완전 관리형 클라우드 플랫폼에서 오픈 소스 Spark, 협업 노트북, 통합 워크플로, 엔터프라이즈 보안에 대해 5배의 성능을 제공합니다.

Databricks
이용해 보기

오픈 소스 Apache Spark 프로젝트는 여기에서 다운로드할 수 있습니다.