본문 바로가기

BigData66

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.
Spark on YARN : Where have all the memory gone? http://www.wdong.org/wordpress/blog/2015/01/08/spark-on-yarn-where-have-all-my-memory-gone/ 아래 내용은 위 Wei Dong’s Blog 의 글을 번역한 내용이다. YARN 환경에서 Spark : 메모리 용량은 어디로 갔을까? 빅데이터를 효율적으로 처리하는 것은 얼마나 많은 메모리를 가질 수 있는지, 또는 얼마나 효과적으로 가용 가능한 메모리를 제한하면서 효율적으로 사용할 수 있는지에 달려있다. 특히 Spark 에서는 그렇다. 그러나 Spark 와 YARN 에서 기본설정만으로는 메모리를 효율적으로 사용할 수 없다. 그래서 제한된 자원에서 가능한 최대의 효율을 가지려면 신중히 설정을 조절해야 한다. 이 글에서는 좋지 않은 설정(Spar.. 2015. 7. 18.