본문 바로가기

데이터 사이언스

[Hadoop] Spark 소개, 특징, 이해하기

1. Spark 소개

Apache Spark은 오픈소스 컴퓨팅 시스템으로 데이터 분석을 빠르게 하는 것을 목표로 한다.

프로그램을 빠르게 실행시키기 위해서 Spark는 RDD data abstraction을 기반으로 한 실행 모델로

임의의 긴 수식 그래프를 최적화하는데 도움을 주거나, in-memory 컴퓨팅을 지원한다.

이것은 디스크 기반 엔진들보다 쿼리를 빠르게 한다.

 

 

2. Spark 특징

  • In-memory 분산 데이터 분석
    • in-memory computing : 운영을 위한 데이터를 하드디스크가 아닌 메인 메모리에 올려 실행하는 것
  • 목표는 job의 실행속도를 빠르게 하는 것이다.
    • 예시 : 일괄처리(Batches), Machine Learning, Interactive query
  • 기존 MapReduce 패러다임에 얽매이지 않는다. 최대 Hadoop MapReduce보다 100배 더 빠르다.
  • Spark는 인메모리 클러스터 컴퓨팅을 위한 기본 요소를 제공한다.
    • 유저의 프로그램이 클러스터의 메모리에 데이터를 로드하고 쿼리를 반복적으로 하는 것을 가능하게 한다.
    • 이는 머신러닝과 그래프 컴퓨팅과 같은 반복적, 상호작용하는 프로그램에 유용하게 한다.
  • 빠른 프로그램을 위해 Spark은 scala, java, python, r에서 간결한 api를 제공한다.
  • Spark은 yarn, mesos, kubernates, 혼자, 클라우드에서 실행된다.
  • 또한 다양한 데이터 소스에 접근이 가능하다. (hdfs, cassandra, hbase, amazon-s3, google cloud-platform)

 

 

 

 

참고자료(refernece)

linkedin / Learning Hadoop/ Lynn langit

https://stackoverflow.com/tags/apache-spark/info