본문 바로가기
BigDATA/spark

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

by 태하팍 2021. 7. 1.
반응형

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!

반응형