Apache Spark Scala IntelliJ: Cześć! Zakładam, że masz już zainstalowany u siebie program IntelliJ IDEA. Jeśli nie to proszę udaj się do oficjalnej strony i pobierz wersje community.
1. Instalacja wtyczek SBT oraz Scala w IntelliJ
Aby zainstalować brakujące wtyczki przejdź do: Plugins–>Browse repositories i zainstaluj kolejno wtyczki SBT oraz Scala. Gdy już wszystkie wtyczki zostaną zainsalowane zrób restart IntelliJ.

Apache Spark Scala IntelliJ:
2. Stwórz project Scala
Kliknij „Create new project” oraz wybierz moduł „Scala–>sbt”.

W następnym oknie ustaw nazwę projektu oraz wybierz poprawną wersje Scali. Dla Sparka w wersji 2.3.1 wersja Scali to 2.11.x. Ja wybrałem 2.11.8

3. Dodaj biblioteki Sparka do projektu
Otwórz plik build.sbt i dodaj następujące biblioteki. Upewnij się, że po dodaniu bibliotek zostały one pobrane. Domyślnie IntelliJ zapyta Cię przy pierwszym uruchomieniu, czy chcesz, aby import był automatyczny. Możesz wybrać tą opcję i przy kolejnym dodaniu bibliotek zostaną one pobrane automatycznie.
name := "FirstSparkScalaProject" version := "0.1" scalaVersion := "2.11.8" libraryDependencies ++= Seq( "org.apache.spark" %% "spark-core" % "2.3.1", "org.apache.spark" %% "spark-sql" % "2.3.1" )

4. Utwórz aplikacje Sparka
W tym momencie jesteśmy gotowi, aby utowrzyć aplikację Sparka. W tym celu stwórz nowy obiekt w Scali i jako nazwę podaj „FirstSparkApplication”.
package com.bigdataetl import org.apache.spark.sql.SparkSession object AnalyzerWords extends App { val spark = SparkSession.builder .master("local[*]") .appName("Word count") .getOrCreate() val data = spark.sparkContext.parallelize( Seq("I like Spark", "Spark is awesome", "My first Spark job is working now and is counting these words")) val wordCounts = data .flatMap(row => row.split(" ")) .map(word => (word, 1)) .reduceByKey(_ + _) wordCounts.foreach(println) }
5. Uruchomienie aplikacji -> Apache Spark Scala IntelliJ
Spark zostanie uruchomiony lokalnie na Twoim komputerze. Wynik działania programu powinien być taki jak poniżej.
(is,3) (Spark,3) (like,1) (first,1) (awesome,1) (job,1) (now,1) (I,1) (words,1) (working,1) (and,1) (counting,1) (these,1) (My,1)