私たちは、コマンドラインの中で単語頻度統計火花を完了するために、対話モードで学んできた、このセクションでは、それらのScalaのコードの完全なアイデアSBT環境の使用、および単語頻度統計を説明します。
1つのシステム、ソフトウェア、および前提制約
- CentOSの192.168.100.200でIPマシンの7台の64ワークステーション、ホスト名danjiは、読者は自分の実際の状況に応じて設定されています
- Linuxの単語頻度統計に完成Scalaの対話モード
https://www.jianshu.com/p/92257e814e59 - 統計は、名前/ワードとして、HDFSにアップロードWordファイルでなければなりません
- 最初のテストプログラムは、のScalaの考え方完了した
https://www.jianshu.com/p/ec64c70e6bb6を - アイデア2018.2
- 操作の影響を除去するための許可は、すべての操作をルートするために行われています
2操作
- 1でのsbtプロジェクトのアイデアを作成して
選択し、ファイル- >新規作成- >プロジェクト- > Scala-> sbt->次の
いくつかの時間がかかります。 - 設定は2依存性:
build.sbtに以下を追加します。
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.1.0"
- 3 WordCount.scalaは、次の内容ではsrc /メイン/のScalaではクラスを作成します
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object ScalaWordCount {
def main(args: Array[String]): Unit = {
//在windows下执行,必须设置本地的hadoop安装路径,倘若打成jar包,上传到linux,则不需要设置
System.setProperty("hadoop.home.dir", "C:\\hadoop2.7.2")
val conf: SparkConf = new SparkConf().setAppName("WordCount").setMaster("local[2]")
// 创建SparkContext
val sc: SparkContext = new SparkContext(conf)
sc.textFile("hdfs://192.168.100.200:9000/word")
.flatMap(_.split(" "))
.map((_,1))
.reduceByKey(_+_)
.saveAsTextFile("hdfs://192.168.100.200:9000/outputscala")
// 释放资源
sc.stop()
}
}
- ビューHDFSのサービスの中で4実行、あなたは結果を見ることができますoutputscala。
上記の我々は、プロセスScalaの単語頻度の統計に使用火花です。