본문 바로가기

spark4

rdd mapPartitions와 foreachPartition 비교 쓰면서 늘 헷갈리는게 foreachPartition인 것 같다. 이게 무슨 용도로 있는 함수인가... 그래서 이번 기회에 mapPartitions와 foreachPartition을 비교해 보기로 했다. 아래와 같이 코드를 작성한다. num_rdd = sc.parallelize(range(100000), 10) num_rdd.getNumPartitions() getNumPartitions를 찍어보면 10개가 찍히는 걸 확인할 수 있다. 이제 map으로 돌릴 함수를 선언하자 def square(num_list): for num in num_list: yield num * num mapPartitions의 경우 yield 값을 넘겨주어야 iterate 동작을 할 수가 있다. 이제 이 함수를 mapPartiti.. 2024. 2. 5.
IntelliJ에서 scala 사용해보기 우선 mac 기준으로 IntelliJ와 JDK는 깔려 있다는 가정하에 IntelliJ에서 IntelliJ IDEA > Plugins에서 scala를 검색해보자. 위의 그림과 같이 SBT와 Scala가 검색이 되는데 이 두 개의 플러그인을 모두 설치하자. 설치한 후에는 IntelliJ 리스타트~ 하기 전에 scala sdk부터 설치를 하자. 아래의 링크로 들어가서 scala sdk를 설치하자. https://www.scala-lang.org/download/ 나 같은 경우에는 Mac OS 버전인 scala-2.12.4tgz을 다운 받았다. 적절한 폴더에 압축을 풀어주자. (나 같은 경우에는 JAVA JDK와 비슷한 위치에 압축을 풀음.) 기왕이면 SCALA_HOME과 PATH도 ~./bash_profile.. 2018. 2. 23.
[SPARK] tutorial (pyspark) Apache Spark with the Python http://nbviewer.ipython.org/github/spark-mooc/mooc-setup/blob/master/spark_tutorial_student.ipynb 사이트에 있는 내용을 번역함. Spark Context - spark에서 통신은 driver와 executor 사이에서 발생한다. driver는 실행에 필요한 spark job들을 가지고 있으며, 이러한 spark job들은 executor에서 실행되기 위해 task 단위로 쪼개진다. - spark와 API를 사용하기 위해서는 SparkContext 사용이 필요하다. SparkContext가 생성되면, 마스터에게 동작 가능한 core들을 요청한다. 마스터가 동작 가능한 core들을.. 2015. 11. 24.
[SPARK] docker로 스파크 설치하기 (우분투 14.04) DOCKER를 이용해서 우분투 14.04 환경에서 SPARK를 설치해보자. (이게 가장 쉬우니깐..) https://hub.docker.com/r/jupyter/all-spark-notebook/ DOCKER HUB에서 위의 사이트 이미지가 spark 사용하기에는 가장 적합한 것 같다. (ipython notebook도 설치 되어 있고, scala, python2, python3 모두 연결되어 있음) 아래 명령어로 docker hub에서 이미지를 가져온다. $> sudo docker pull jupyter/all-spark-notebook 위의 명령어를 실행하면 아래와 같이 이미지를 다운받고 extract 하는 과정을 볼 수가 있다. image 다운이 다 되었으면, 아래의 명령어를 통해 다운 받은 ima.. 2015. 11. 23.