Spark,在shell中运行RDD程序

在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

相关推荐
San813_LDD1 小时前
[C语言]《Dev-C++ 报错解决手册(Day0607 精华版)》
java·前端·javascript
Bode_20028 小时前
基于大数据分析的全生命周期质量追溯质量评估体系落地方案
大数据·人工智能
serve the people8 小时前
Elasticsearch(1) could you tell me how to use es if i am a beginner
大数据·elasticsearch·jenkins
一个儒雅随和的男子9 小时前
Elasticsearch出现深度分页问题怎么解决?
大数据·elasticsearch·搜索引擎
AI智图坊10 小时前
多件装组合SKU图的批量生产效率分析:从PS手工到AI自动化的工作流改造
大数据·运维·人工智能·gpt·ai作画·自动化·aigc
threelab10 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
武器大师7210 小时前
lv_binding_js 代码解读
开发语言·javascript·ecmascript
jerryinwuhan11 小时前
面向产业带与中小企业数字化转型的电商运营人才培养模式
大数据·人工智能
Patrick_Wilson11 小时前
router.replace 之后紧跟 reload,页面为什么无限刷新?
javascript·react.js·浏览器
mONESY12 小时前
JavaScript 栈、队列、数组与链表核心知识点总结
javascript·面试