Hướng dẫn tạo Spark Scala Maven project trong Intellij
1. Tạo Scala project trong Intellij
Click New Project
- Chọn Maven -> Create from archetype -> org.scala-tools.archetypes:scala-archetypes-simple
- Màn hình tiếp theo, nhập tên project, ví dụ: spark-hello-world-example
- Màn hình tiếp theo, nhập thông tin artifact-id và group-id của project
- Chọn Finish
2. Cài đặt Scala Plugin
- Chọn File > Settings (hoặc Ctrl + Alt + s )
- Chọn Plugins từ cột bên trái.
- Chọn Install để cài đặt Scala plugin.
3. Cài đặt Scala SDK
- Intellij sẽ hiển thị thông báo về Setup Scala SDK
- Chọn Setup Scala SDK
- Chọn Create
- Màn hình tiếp theo, chọn Download -> Chọn Scala version (2.12.12 tại thời điểm bài viết)
4. Cấu hình pom.xml
- Cập nhật Scala version:
<properties>
<scala.version>2.12.12</scala.version>
</properties>
- Thêm dependency:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_2.12</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-sql_2.12</artifactId>
<version>3.0.0</version>
<scope>compile</scope>
</dependency>
- Xóa build plugin
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
<args>
<arg>-target:jvm-1.5</arg>
</args>
</configuration>
</plugin>
5. Xóa file không cần thiết
- src/test
- src/main/scala/org.example.App
6. Hello World với Spark Scala
- Click chuột phải vào package của bạn, chọn New -> Scala Class -> Nhập tên và chọn loại Scala Object
package org.example
import org.apache.spark.sql.SparkSession
object SparkSessionTest extends App{
val spark = SparkSession.builder()
.master("local[1]")
.appName("Laptrinh")
.getOrCreate();
println("First SparkContext:")
println("APP Name :"+spark.sparkContext.appName);
println("Deploy Mode :"+spark.sparkContext.deployMode);
println("Master :"+spark.sparkContext.master);
val sparkSession2 = SparkSession.builder()
.master("local[1]")
.appName("Laptrinh-VN")
.getOrCreate();
println("Second SparkContext:")
println("APP Name :"+sparkSession2.sparkContext.appName);
println("Deploy Mode :"+sparkSession2.sparkContext.deployMode);
println("Master :"+sparkSession2.sparkContext.master);
}
No Comments