https://spark.apache.org/docs/latest/quick-start.html

 

Quick Start - Spark 2.4.5 Documentation

Quick Start This tutorial provides a quick introduction to using Spark. We will first introduce the API through Spark’s interactive shell (in Python or Scala), then show how to write applications in Java, Scala, and Python. To follow along with this guide,

spark.apache.org

위 페이지에 있는 'Quick Start' tutorial을 따라하다가 생긴 이슈 사항에 대해 정리.

  •  설치
    • 내 환경 : MacOS 
    • 설치목록
      • Spark
      • sbt
        • sbt란?
          • simple build tool의 약자로 그냥 일반 빌드 툴인듯 하나 scala 를 빌드하기 위한 기능이 잘 제공되고 있는듯하다. 
        • 이 튜토리얼에서 .scala 파일을 빌드하기 위해 이 툴을 사용하므로 일단 설치.
    • 설치팁
      • spark, sbt 의 tgz 파일을 각각 다운 받는다. 
      • 해당 파일의 압축을 푼다. ( tar -xvzf ".tgz 파일명")
      • SPARK_HOME, SBT_HOME 을 환경변수로 등록하고
      • PATH 환경변수에 SPARK_HOME/bin SBT_HOME/bin을 추가한다.
        • .bach_profile 에 설정하는 방법을 인터넷에서 찾아볼것.
      • 참고) brew 나 이런걸로 설치되면 나중에 지우고 할때 개운치 못한 느낌이 들어서 홈디렉토리 아래 util 폴더를 생성하고 그 아래 모든 설치를 진행함... 나중에 지우기 편하게...
      • JDK는 이미 설치되어 있었음.
  • scala에 대해 알게된 것들 (함수등의 기능)
    • map
    • flatMap
    • collect
    • reduce
    • count
    • java 와 동일한 import 방식 (* ==> _  로 바뀐것만 빼고)
    • cache (뭐 내가 쓸랑가 싶지만...)
    • groupByKey  
      • groupByKey(identity) 에서 identity가 도통 뭔지.... 위에 선언도 안되어 있고 예약어 느낌도 아님.
  • Spark Application 생성 
    • object 가 main 함수를 가져야함.
    • SparkSession 을 명시적으로 생성해줘야함 (spark-shell에서는 이미 지정되어있음.)
  • SBT build
    • build.sbt 파일 필요 (폴더 최상위 위치)
    • src/main/scala 폴더 아래에 스칼라 파일 위치 (sbt에서 요구하는 폴더구조가 있는 듯.)
    • build.sbt 작성시, scala 와 spark 버젼을 넣어줘야 하는데 실제 설치된것과 다른 버젼을 적었더니 실패함.
      • spark 버젼 확인 : sc.version
      • scala 버젼 확인 : util.Properties.versionString

Next

  • spark 2.0부터 RDD 기반 방식이 아닌 DataSet 기반 동작을 추천함. 성능도 더 좋다고 함. 
  • RDD  guideline은 건너띄고 DataSet 가이드로 고고!

+ Recent posts