在hdfs中/wcinput中创建一个文件:word2.txt在里面写几个单词
启动hdfs集群
root@hadoop100 \~\]# myhadoop start \[root@hadoop100 \~\]# cd /opt/module/spark-yarn/bin \[root@hadoop100 \~\]# ./spark-shell 写个1+1测试一下 按住ctrl+D退出 进入环境:spark-shell --master yarn 逐个写代码: // 读取文件,得到RDD val rdd1 = sc.textFile("hdfs://hadoop100:8020/wcinput/word2.txt") // 将单词进行切割,得到一个存储全部单词的RDD val rdd2= rdd1.flatMap(line =\> line.split(" ")) // 将单词转换为元组对象,key是单词,value是数字1 val rdd3= rdd2.map(word =\> (word, 1)) // 将元组的value按照key来分组,对所有的value执行聚合操作(相加) val rdd4= rdd3.reduceByKey((num1, num2) =\> num1 + num2) // 收集RDD的数据并打印输出结果 rdd4.collect().foreach(println) // 将结果储存在out111中 rdd.saveAsTextFile("hdfs://hadoop100:8020/out111")在根目录下可见out111文件,文件打开后可以看到,word2.txt文件内单词被拆分RDD的执行过程 ------------------------------------------------ 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 原文链接:https://blog.csdn.net/2401_87076452/article/details/147888293