1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
package
mydemo
import
org.apache.spark.{SparkConf, SparkContext}
object
MyWordContextDemo {
def
main(args
:
Array[String])
:
Unit
=
{
// 创建一个 Config
val
conf
=
new
SparkConf().setAppName(
"MyWordContext"
)
// 创建 SparkContext 对象
val
sc
=
new
SparkContext(conf)
// 使用sc 对象执行相应的算子
sc.textFile(args(
0
))
// 从第一个参数获取文件路径并打开
.flatMap(
_
.split(
" "
))
// 先 map 再压平
.map((
_
,
1
))
// 将单词和 1 构成元组
.reduceByKey(
_
+
_
)
// 根据Key 进行 Reduce,并将 value 累加
.saveAsTextFile(args(
1
))
// 将结果输出到文件
// 停止 SparkContext 对象
sc.stop()
}
}
|
==> 运行程序:
---> 首先将程序打包成 jar 包
---> 执行以下命令
1
|
spark-submit --master spark
:
//bigdata0:7077 --class mydemo.MyWordContextDemo scalawordcontext.jar hdfs://192.168.10.210:9000:/output/scala/wordcontext.txt
|
---> 命令解释:
---- spark-submit spark 命令
---- --master spark://bigdata0:7077
---- --class 指定类名
---- scalawordcontext.jar 将自己与的程序打成的jar 包
---- hdfs://192.168.10.210:9000/out/scala/wordcontext.txt 指定处理好的数据输出的文件
本文转自 菜鸟的征程 51CTO博客,原文链接:http://blog.51cto.com/songqinglong/2073794