본문 바로가기

Learning Spark10

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.
Learning Spark Chapter. 4 Key/Value Pairs 사용하기 key/value 로 구성된 RDD 에 대해서 알아보자. 먼저 PairRDD 는 아래와 같이 만들 수 있다. package com.tomining.spark.tutorial.example; import java.io.Serializable; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; import org.apache.spark.api.java.JavaSparkContext; import org.apache.spark.api.java.function.PairFunction; import scala.Tuple2; public class PairRDDExample implements Serializable { publ.. 2015. 7. 3.
Learning Spark Chapter. 3 RDD 프로그래밍 RDD 란? An RDD in Spark is simply an immutable distributed collection of objects. 스파크에서 RDD 란 수정불가능한 분산 Collection 이다. 각 RDD 는 여러 node에서 다룰 수 있도록 여러 조각으로 나눠서 처리된다. RDD 기본. RDD를 생성할 수 있는 방법에는 두 가지가 있다. 외부 데이터 셋을 로딩 sc.textFile(“README.md”) 처럼 local storage 나 HDFS 에서 파일을 읽어 RDD 로 생성 기존 데이터 Collection 을 기반으로 생성 sc.parallelize(Arrays.asList(“test”, “test2”)); 처럼 기존 데이터로 생성 RDD 에는 두 종류의 operation 을 가진.. 2015. 7. 3.