在Intellij中開發Spark--demo
- 演示在Intellij中開發Spark,使用sbt構建工具,scala語言。
- 執行方式:1.在intellij中直接執行spark。2.打包執行(參考官網快速開始中Self-Contained Applications節的內容)
新建工程SparkStudy
1.新建sbt專案
2.開啟SBT檢視
開發
在build.sbt中新增spark依賴
lazy val commonSettings=Seq(
version := "1.0",
scalaVersion := "2.10.6"
)
lazy val root = (project in file("."))
.settings(
commonSettings,
name:="SparkStudy",
libraryDependencies += "org.apache.spark" % "spark-core_2.10" % "1.6.1"
)
-
此時需要等依賴都下載完成,如果下載失敗需要重新下載,下載完成後專案的External Libraries中會出現下載好的依賴。
編寫WordCount物件
import org.apache.spark.{SparkConf, SparkContext}
/**
* Created by zhouliang6 on 2017/6/20.
*/
object WordCount {
def main(args: Array[String]) {
val logFile ="D:\work\SparkStudy\\application.log";
val conf = new SparkConf().setAppName("WordCount").setMaster("local");
val sc = new SparkContext(conf)
val logData = sc.textFile(logFile, 2).cache()
val numAs = logData.filter(line => line.contains("a")).count()
val numBs = logData.filter(line => line.contains("b")).count()
println("Lines with a: %s, Lines with b: %s".format(numAs, numBs))
print("---------------");
}
}
1.配置直接在intellij中執行
點選執行
執行結果
2.配置打成jar包在外部執行
- 1.直接點選SBT檢視中--》SBT Tasks-》package--》打包完成
- 2.或者配置run Configuration,然後在點選執行--》打包完成
命令列中執行
- 進入sparkstudy_2.10-1.0.jar目錄下執行如下命令。
spark-submit --class "WordCount" --master local[4] sparkstudy_2.10-1.0.jar
執行結果
相關文章
- 在IntelliJ IDEA中,開發一個摸魚看書外掛IntelliJIdea
- 在Intellij IDEA中如何配置MavenIntelliJIdeaMaven
- JavaFX: IntelliJ 開發 Window 應用JavaIntelliJ
- Intellij IDEA開發Scala程式IntelliJIdea
- 基於Intellij 外掛開發指南IntelliJ
- 在IntelliJ IDEA中多執行緒併發程式碼的除錯方法IntelliJIdea執行緒除錯
- 在 Intellij IDEA 中的 Debug 使用詳解IntelliJIdea
- 在安卓開發中開始應用NFC安卓
- ubuntu下使用IntelliJ idea開發scalaUbuntuIntelliJIdea
- Intellij idea開發Hadoop MapReduce程式IntelliJIdeaHadoop
- Mac下使用IntelliJ IDEA開發ScalaMacIntelliJIdea
- 在Eclipse中開發angularjsEclipseAngularJS
- 使用IntelliJ IDEA編寫Scala在Spark中執行IntelliJIdeaSpark
- 研發流程在敏捷開發中的詳解敏捷
- Java開發工具——IntelliJ IDEA 2021JavaIntelliJIdea
- spark開發環境搭建intellij+Scala+sbtSpark開發環境IntelliJ
- 在 Laradock 中開發 Vue 專案Vue
- 聊聊 Interface 在 Laravel 開發中的使用Laravel
- 怎樣在敏捷開發中做到“事半功倍”敏捷
- 在eclipse中開發hadoop MapReduceEclipseHadoop
- 探討敏捷開發在軟體開發中的應用敏捷
- [原] Intellij IDEA開發Android,祝還在使用eclipse的早日脫離苦海IntelliJIdeaAndroidEclipse
- 在IntelliJ IDEA中建立和執行java/scala/spark程式IntelliJIdeaJavaSpark
- 開發經驗漫談 -- Git在開發流程中的運用Git
- Java開發工具 IntelliJ IDEA 2022JavaIntelliJIdea
- IntelliJ IDEA 2022(Java開發工具)IntelliJIdeaJava
- Java開發必裝的IntelliJ IDEA外掛JavaIntelliJIdea
- Wiki 開發工具 IDE IntelliJ IDEA 使用教程IntelliJIdea
- puppeteer在開發過程中的實踐
- 在Mac OS中搭建superset開發環境Mac開發環境
- RxJava在安卓開發中應用原始碼RxJava安卓原始碼
- 類簇在iOS開發中的應用iOS
- Wireshark在多媒體開發中的使用
- SpringBoot專案在IntelliJ IDEA中實現熱部署Spring BootIntelliJIdea熱部署
- 使用IntelliJ IDEA 搭建 spring mvc開發環境IntelliJIdeaSpringMVC開發環境
- IntelliJ IDEA/Android Studio外掛開發指南IntelliJIdeaAndroid
- IntelliJ IDEA 2022 for Mac(Java開發工具)IntelliJIdeaMacJava
- IntelliJ IDEA 2021 好用的Java開發工具IntelliJIdeaJava