BigData/Spark24 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. spark-submit 을 이용하여 Custom Argument 전달하기 Spark Application 을 작성하게 되면 실행시 argument 가 필요한 경우가 있다. spark-class 에서는 -arg 옵션을 통해서 전달했는데, spark-submit 에서는 어떻게 할 수 있을까? https://spark.apache.org/docs/1.1.0/submitting-applications.html Spark 문서(위 URL 참고) 에 보면 아래와 같이 설명하고 있다. ./bin/spark-submit \ --class --master \ --deploy-mode \ --conf = \ ... # other options \ [application-arguments] [application-arguments] 즉, command 마지막 부분에 argument 들을 나열하면.. 2015. 7. 17. 이전 1 2 3 4 5 6 다음