1.读取一个本地文件,将结果打印到屏幕上。
注意:示例必须只有一个worker 且本地文件与worker在同一台服务器上。
1 2 3 4 5 6 7 8
| scala> sc.textFile("/opt/TestFile/test_WordCount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).collect ```  # ```shell scala> sc.textFile("hdfs://hadoop:9000/TestFile/test_WordCount.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("hdfs://hadoop:9000/output/1208") [root@hadoop sbin]# hadoop dfs -ls /output/1208
|
输入命令
结果

3.单步运行WordCount —–> RDD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| scala> val rdd1 = sc.textFile("/opt/TestFile/test_WordCount.txt")
scala> rdd1.collect
scala> val rdd2 = rdd1.flatMap(_.split(" "))
scala> rdd2.collect
scala> val rdd3 = rdd2.map((_,1))
scala> rdd3.collect
scala> val rdd4 = rdd3.reduceByKey(_+_)
scala> rdd4.collect
|

(1)RDD说明:RDD 弹性分布式数据集
(2)特性:
(a)依赖关系:rdd2依赖于rdd1
(b)算子
- Transformation 延时计算: flatMap,map,reduceByKey
- Action 触发计算:collect