Windowsでのspark環境構築+ideaでのWordCount例
一、windows下spark環境構築
1.JDKとscalaのインストール
2.sparkとhadoopのインストール
http://spark.apache.org/downloads.html
https://archive.apache.org/dist/hadoop/common/
遅いと国内ミラーegに行けます:
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/
spark、hadoop、scalaバージョンの問題に注意してください.私はscala 2を使っています.13.1(2.12.11に変更します.そうしないとpomファイルのdependencyが赤くなります)、spark 2.4.5,hadoop2.7.7
3.下winutils
https://github.com/steveloughran/winutils
4.Cディスクにディレクトリtmp/hiveを作成し、CMDにC:あなたのインストールディレクトリhadoopbinwinutilsと入力します.exe chmod 777 C:/tmp/hive
spark-shellのテスト
ここで問題が解決されていません:spark-shellエラーを報告します.
二、ideaにおけるWordCountの例
1.ideaでmavenを使用してsparkプロジェクトを作成し、nextで
2.pomを修正する.xmlファイル、私のpomファイルeg:
importの速度が遅い場合はmavenミラーを追加できます.
3.例のプログラム、高速にプログラムを通じるため、私はネット上でcopyの、ファイルの入出力の経路を少し直します:
ディレクトリの下に結果ファイルが生成されていることを確認します.
1.JDKとscalaのインストール
2.sparkとhadoopのインストール
http://spark.apache.org/downloads.html
https://archive.apache.org/dist/hadoop/common/
遅いと国内ミラーegに行けます:
http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/
spark、hadoop、scalaバージョンの問題に注意してください.私はscala 2を使っています.13.1(2.12.11に変更します.そうしないとpomファイルのdependencyが赤くなります)、spark 2.4.5,hadoop2.7.7
3.下winutils
https://github.com/steveloughran/winutils
4.Cディスクにディレクトリtmp/hiveを作成し、CMDにC:あなたのインストールディレクトリhadoopbinwinutilsと入力します.exe chmod 777 C:/tmp/hive
spark-shellのテスト
ここで問題が解決されていません:spark-shellエラーを報告します.
二、ideaにおけるWordCountの例
1.ideaでmavenを使用してsparkプロジェクトを作成し、nextで
2.pomを修正する.xmlファイル、私のpomファイルeg:
4.0.0
org.example
cj_spark
1.0-SNAPSHOT
2.4.5
2.12.11
org.apache.spark
spark-core_2.12
${spark.version}
org.apache.spark
spark-streaming_2.12
${spark.version}
org.apache.spark
spark-sql_2.12
${spark.version}
org.apache.spark
spark-hive_2.12
${spark.version}
importの速度が遅い場合はmavenミラーを追加できます.
mirrorId
central
Human Readable Name
http://repo1.maven.org/maven2/
alimaven
aliyun maven
http://central.maven.org/maven2
central
alimaven
aliyun maven
http://maven.aliyun.com/nexus/content/repositories/central/
central
3.例のプログラム、高速にプログラムを通じるため、私はネット上でcopyの、ファイルの入出力の経路を少し直します:
import org.apache.spark._
object WordCount {
//System.setProperty ("hadoop.home.dir", "C:\\hadoop_home\\")
def main(args: Array[String]) {
var masterUrl = "local[1]"
var inputPath = "C:\\spark_data\\data.txt"
var outputPath = "C:\\spark_data\\output"
if (args.length == 1) {
masterUrl = args(0)
} else if (args.length == 3) {
masterUrl = args(0)
inputPath = args(1)
outputPath = args(2)
}
println(s"masterUrl:${masterUrl}, inputPath: ${inputPath}, outputPath: ${outputPath}")
val sparkConf = new SparkConf().setMaster(masterUrl).setAppName("WordCount")
val sc = new SparkContext(sparkConf)
val rowRdd = sc.textFile(inputPath)
val resultRdd = rowRdd.flatMap(line => line.split("\\s+"))
.map(word => (word, 1)).reduceByKey(_ + _)
resultRdd.saveAsTextFile(outputPath)
}
}
ディレクトリの下に結果ファイルが生成されていることを確認します.