[Spark-Study] Day-3 스파크 예제를 위한 셋팅

2021. 7. 1. 11:09BigDATA/spark

반응형

spark 예제 돌려보기

sbt로 build를 하기 위해 필요한 것은 아래와 같다.

1. 소스

2. build.sbt

sbt clean 한뒤에 sbt package를 해보자!

spark-submit 해보기!

/usr/local/Cellar/apache-spark/3.1.1/bin/spark-submit --class MnMcount target/scala-2.12/main-scala-chapter2_2.12-1.0.jar mnm_dataset.csv

 

인텔리J에 셋팅 해보기!

인텔리J에서 프로젝트를 Open 해보자!

아래와 같이 인텔리J에 프로젝트를 잘 가져왔다.

프로젝트 구조는 위와 같다.

MnMcount 소스

// scalastyle:off println

import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._

/**
  * Usage: MnMcount <mnm_file_dataset>
  */
object MnMcount {
  def main(args: Array[String]) {
    val spark = SparkSession
      .builder
      .appName("MnMCount")
      .getOrCreate()

    if (args.length < 1) {
      print("Usage: MnMcount <mnm_file_dataset>")
      sys.exit(1)
    }
    // get the M&M data set file name
    val mnmFile = args(0)
    // read the file into a Spark DataFrame
    val mnmDF = spark.read.format("csv")
      .option("header", "true")
      .option("inferSchema", "true")
      .load(mnmFile)
    // display DataFrame
    mnmDF.show(5, false)

    // aggregate count of all colors and groupBy state and color
    // orderBy descending order
    val countMnMDF = mnmDF.select("State", "Color", "Count")
        .groupBy("State", "Color")
        .sum("Count")
        .orderBy(desc("sum(Count)"))

    // show all the resulting aggregation for all the dates and colors
    countMnMDF.show(60)
    println(s"Total Rows = ${countMnMDF.count()}")
    println()

    // find the aggregate count for California by filtering
    val caCountMnNDF = mnmDF.select("*")
      .where(col("State") === "CA")
      .groupBy("State", "Color")
      .sum("Count")
      .orderBy(desc("sum(Count)"))

    // show the resulting aggregation for California
    caCountMnNDF.show(10)
  }
}
// scalastyle:on println

mnm_dataset.csv는 아래 파일 참고!

mnm_dataset.csv
1.13MB

 

끝~

인텔리J  업그레이드 -> 플러그인 셋팅 -> 런 스파크!

2021.07.29 - [BigDATA/spark] - Upgrade IntelliJ IDEA for Big Data Tool Plug-In & running spark!

반응형
LIST