Spark

IntelliJ Spark Scala 환경 세팅하기! + Scala class가 보이지 않는 경우 해결 방법!

케키키케 2021. 6. 24. 09:05

Spark 스터디를 하기로 마음 먹었습니다!

스터디를 시작하기 전에 환경을 구축해봅시다!

 

1. Scala Plugin 설치

IntelliJ - [File] - [Settings] - [Plugins]

scala를 검색하고 설치해줍니다. 설치 이후 인텔리제이를 재시작합니다.

 

2. 프로젝트 생성

IntelliJ - [File] - [New] - [Project]

저는 스칼라 버전 2.12로 선택하였습니다.

 

3. Scala Class 생성

[프로젝트] - [src] -  [main] - scala 에서 오른쪽 버튼을 클릭하고 Scala Class를 선택하여 생성한다.

*Scala Class가 보이지 않는 경우는 아래 방법을 참고한다.

Object를 생성한다.

나는 Hello라는 Object를 하나 생성하였다.

 

4. 샘플 코드 실행

object Hello extends App {
println("Hello World!")
}

 

5. Spark Setting

[프로젝트] - build.sbt 를 열어 아래와 같이 내용을 추가해줍니다.

저는 스칼라 버전 2.12.14, 스파크 버전 3.1.2를 선택하였습니다.

스파크 버전과 스칼라 버전 호환성 맞게 추가하시면 됩니다.

그리고 우측에 회전아이콘을 클릭합니다.

 

SparkSessionWrapper를 생성합니다.

매번 Spark Session을 생성하지 않고, 이것을 extend해서 사용합니다.

object WordCount extends SparkSessionWrapper {

  def main(args: Array[String]): Unit = {

    import spark.implicits._

    val textFile = spark.read.textFile("src/main/resources/words.txt")
    val wordCounts = textFile.flatMap(line => line.split(" "))
      .groupByKey(identity)
      .count()

    wordCounts.show()
  }
}

 

 

6. WordCount 예제 실행

[프로젝트] - [src] - [main]에 resource 디렉토리를 하나 생성합니다.

그리고 텍스트 파일을 하나 생성합니다.

 

WordCount Object를 생성하고, 아래 코드를 복붙하여 사용하세요.

object WordCount extends SparkSessionWrapper {

  def main(args: Array[String]): Unit = {

    import spark.implicits._

    val textFile = spark.read.textFile("src/main/resources/words.txt")
    val wordCounts = textFile.flatMap(line => line.split(" "))
      .groupByKey(identity)
      .count()

    wordCounts.show()
  }
}

단어 수를 세기 위해 읽어올 샘플 데이터를 위에서 생성하였는데, 경로가 일치하는지 확인합니다.

 

Scala Class가 보이지 않는 경우!

IntelliJ 화면 우측에 sbt를 누르면 새로운 창이 하나 열린다.

거기서 회전아이콘을 클릭하면 된다.

'Spark' 카테고리의 다른 글

Spark On Yarn 설치하기!  (2) 2020.12.08