'IT Book'에 해당되는 글 8건

(Chapter 1) 03. Spark Core, SQL :: 2015/01/30 15:29

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 포함하고 있다.

2015/01/30 15:29 2015/01/30 15:29
Trackback Address :: http://www.yongbi.net/trackback/649
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

01. Preface :: 2015/01/28 16:06

Parallel Data Analysis (병렬 데이터 분석)는 지속적으로 증가해 왔고, 각 분야의 전문가들은 이 분야에 더 쉽게 이용할 수 있는 툴을 찾고 있었다.

Apache Spark는 MapReduce를 확장하고 일반화시켜서 이 분야에 가장 유용한 툴 중에 하나로 빠르게 자리매김했다.

Spark는 다음 3가지 주요 이점을 제공한다.

첫째, 사용하기 쉽다. High-Level API를 통해 LapTop에서 계산하고자 하는 컨텐츠에 대한 Application을 개발할 수 있다.

둘째, Spark는 빠르다. 복잡한 알고리즘을 적용하여 Interactive한 작업을 빠르게 수행할 수 있다.

셋째, Spark는 범용 엔진이다. 여러 가지 형태의 계산 (SQL, Text Processing, Machine Learning, Graph Processing)을 수행할 수 있다.

이러한 특징들로 인해 Big Data를 배우는 시작점으로 Spark를 선택한 것은 탁월한 선택이다. 이 책을 통해서 Spark를 다운로드 및 실행, Interactive하게 API를 사용하는 방법, 수행 가능한 Operation과 분산처리 등에 대해서 상세하게 배울 것이다.

마지막으로 Spark는 라이브러리를 추가할 수 있다. 그리고 Spark에서 제공하는 SQL, Machine Learning, Streaming Processing, Graph Analytics 라이브러리를 사용하는 방법을 배울 것이다.

책은 Data Scientists and Engineer들을 대상으로 한다. 그 이유는 Spark 이용하면 그들이 있는 문제의 범위를 확장하여 가장 많은 유익을 얻을 있기 때문이다.

Data Scientist들 통계학적 지식을 기반으로 Spark를 이용하면 하나의 Machine 적합한 문제를 넘어설  있다. Engineer들은 Spark 이용하여 어떻게 범용 분산 프로그램을 작성하여 어플리케이션을 동작할 있는지 배울 있다.

Engineer Data Scientist 책을 통해 서로 다른 내용들 배우지만, 그들의 분야에서 Spark 이용하여 커다란 분산 데이터 관련된 문제를 해결할 있다.

Data Scientist 의문점에 대한 답이나 Data에서 model 만드는 것이 관심이 있다. 그들은 종종 통계학적, 수학적 배경을 갖고 있다. 그리고 Python이나 R, SQL 같은 툴들을 사용한다.
책에서는 Spark에서 제공하는 Machine Learning이나 advanced analytics 라이브러리의 overview뿐만 아니라 Python이나 SQL 예제들 포함시켰다.
만약, 여러분이 Data Scientist라면 책을 읽고 나서 커다란 규모의 문제를 더 빠르게 해결하고자 할 동일한 접근방법을 적용할 있을 것이다.

만약 당신이 Engineer라면 책을 통해서 Spark Cluster 구성하는 방법, Spark Shell 사용하는 방법, 병렬 연산 처리를 위한 Spark 어플리케이션 작성하는 방법을 배울 것이다. Hadoop 익숙하다면, HDFS 어떻게 상호연동하는지, Cluster 어떻게 관리하는지에 대해서 더 쉽게 시작할 수 있다. 하지만, 여기서는 Hadoop에 대해서는 개념적인 내용만 다룰 것이다.

책에 있는 모든 예제 코드는 GitHub 있다.
예제코드는 Java, Python, Scala 짜여져 있다.

2015/01/28 16:06 2015/01/28 16:06
Trackback Address :: http://www.yongbi.net/trackback/647
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret

00. Start :: 2015/01/28 14:43

오늘날은 빅데이터가 대세다.

빅데이터에서 가장 필요한 기능은 많은 데이터가 아니라 데이터를 분석할 수 있는 기술이다.
그리고 분석된 내용을 이용하여 미래를 예측하고, 분석된 내용간의 상관관계를 규명하고,
의미있는 새로운 데이터를 뽑아내는 것이다.

누군가는 데이터 마이닝 영역이 아닌가 하는 이야기를 할지도 모른다.

하지만, 지금부터 정리하고자 하는 내용은 데이터에 대한 이야기가 아니다.
데이터를 분석하는 오픈소스에 대해서 정리하고자 한다.

세상의 트렌드가 빅데이터로 흐르고 있는 만큼, 빅데이터를 분석하고자 하는 요구에 발맞추고자
수많은 오픈소스들이 생겨났다.

기존 오픈소스의 단점을 메우기 위하여 시작된 오픈소스도 있고,
시장의 요구사항에 따라 새롭게 시작된 오픈소스도 있다.

앞으로는 이러한 오픈소스들 중에 몇가지를 간추려서
해당 오픈소스에 대해 정리한 책 내용을 발췌, 압축하여 정리하고자 한다.

그 첫번째가 아파치 오픈소스 프로젝트 중에 하나인 Spark이다.

자, 이제 Spark에 대해서 초보자를 위한 가이드로 나온 책인 Learning Spark를 시작해보자.

2015/01/28 14:43 2015/01/28 14:43
Trackback Address :: http://www.yongbi.net/trackback/646
[로그인][오픈아이디란?]
오픈아이디로만 댓글을 남길 수 있습니다
Name
Password
Homepage

Secret