Spark Core
Spark Core는 task scheduling, memory management, fault recovery, storage system interacting등을 담당하는 component를 포함하여 Spark의 기본 기능을 제공한다.
또한 Spark Core는 Spark의 main programming abstraction인 RDD (Resilient Distributed Dataset)을 정의한 API의 홈이기도 하다. RDD는 병렬 처리할 수 있는 많은 computing node에 분산되어 있는 아이템들의 집합을 나타낸다.
Spark Core에서는 이런 collection들을 다룰 수 있는 많은 API를 제공한다.
Spark SQL
Spark SQL은 Apache Hive가 SQL을 변형하여 제공하는 Hive Query Language (HiveQL)처럼 SQL을 통해 Spark와 interacting하는 것을 지원한다. Spark SQL은 Spark RDD로 database table을 표현하고, Spark operation으로 SQL query를 변환한다.
Spark에 SQL interface를 제공하는 것을 넘어, Spark SQL은 개발자가 하나의 application안에서 SQL query를 섞어서 Python, Java, Scala로 RDD가 지원하는 데이터 처리 프로그램을 개발할 수 있게 한다.
Spark stack의 나머지 부분에 의해 제공되는 풍부하고 유연한 computing environment의 밀접한 통합은 다른 오픈 소스 data warehouse tool과는 다른 부분이다. Spark SQL은 버전 1.0 이후로 포함되어 있다.
Shark는 Spark SQL보다 먼저 만들어진 UC 버클리 프로젝트이다. Spark SQL의 위에서 동작하도록 포팅되었다. Shark는 Spark가 Apache Hive를 대체하여 동작하도록 추가 기능을 제공한다. 외부 graphing and data exploration tool을 쉽게 연결하도록 하는 JDBC 서버 뿐만 아니라 HiveQL shell을 포함하고 있다.
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/649