Total220 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. RDD persist() or cache() 시 주의사항 RDD persist() 나 cache() 를 사용할 때에는 주의사항이 필요하다. 예를 들어 아래와 같이 코드를 작성했다고 가정하자. lines 라는 JavaRDD 데이터를 persist() 를 통해서 caching 처리하였다. StorageLevel.MEMORY_ONLY() 가 기본값이며, 여기서는 StorageLevel.MEMORY_ONLY_SER() 을 사용하였다. (각 level 별 차이점은 https://spark.apache.org/docs/latest/programming-guide.html#rdd-persistence 을 참고하자) package com.tomining.spark.tutorial.example.etc; import java.io.Serializable; import org... 2015. 7. 17. 이전 1 ··· 34 35 36 37 38 39 40 ··· 55 다음