본문 바로가기

책요약8

Learning Spark Chapter. 8 Tuning & Debugging 여기에서는 Spark Applicatoin 을 어떻게 설정하고 tunning 및 debugging 은 어떻게 하는지 알아보고자 한다. SparkConf 를 통해서 Spark 설정하기 Spark Application 의 Runtime 설정을 통해서 간단히 Tuning 을 해 볼 수 있다. 기본적인 설정은 SparkConf 클래스를 통해서 설정할 수 있는데. SparkConf 는 SparkContext 를 생성할 때 필요로 한다. 아래 예제에서 확인해 보자. public class SparkConfExample implements Serializable { public void execute() { SparkConf conf = new SparkConf(); conf.set("spark.app.name", .. 2015. 7. 23.
Learning Spark Chapter. 7 Cluster 환경에서 수행하기 Spark Runtime Architecture Spark Cluster 환경에 대해서 알아보기 전에 Spark 분산환경 Architecture 에 대해서 먼저 알아보자. 분산모드에서 Spark 는 중앙관리자와 수많은 Worker 들을 가지는 master/slave 구조를 이용한다. 중앙관리자를 driver 라고 하고 Worker 들을 executor 라고 한다. Spark Application 은 Cluster Manager 를 통해 여러 대의 장비에서 수행이 된다. Spark 는 Standalone Cluster Manager 라는 내부 Cluster Manager 를 갖고 있다. 또한 Hadoop YARN 이나 Apache Mesos 와도 연동이 된다. Driver Driver 란 사용자 프로그램을.. 2015. 7. 23.
Learning Spark Chapter. 6 Spark 프로그래밍 고급편 Accumulators map() 이나 filter() 함수를 사용할 때, driver program(Spark Application) 에서 정의한 변수들을 전달한다. 하지만 실제로 worker node 에서 task 들이 수행될 때 각 변수들의 copy 본을 갖게 되고, 이 copy 본을 갱신 등 조작하게 된다. 이 때 driver program 에서는 이 변수들의 변경사항을 확인할 수 없는데, Accumulators 와 Broadcast 변수를 통해 데이터를 공유할 수 있다. package com.tomining.spark.tutorial.example.ch6; import java.io.Serializable; import java.util.Arrays; import org.apache.common.. 2015. 7. 23.
Learning Spark Chapter. 5 Loading & Saving Data Spark 에서 사용할 수 있는 파일 포멧은 아래와 같다. Text File JSON CSV SequenceFiles Protocol buffers Object files Text File 텍스트형 파일을 RDD 로 읽으려면 간단히 textFile() 을 사용하면 된다. JavaRDD lines = sc.textFile("REAMME.md"); 만약 여러 파일을 읽어 RDD 로 만들고 싶다면 2가지 방법이 있다. textFile(“디렉토리 경로”) 또는 textFile(“디렉토리/*txt”) 디렉토리 경로를 전달하거나 wildcard 를 활용할 수 있다. wholeTextFiles() PairRDD 로 반환되며, key 는 파일명이 된다. RDD 를 파일로 저장하려면, saveAsTextFile() 을 .. 2015. 7. 17.