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

相关推荐
breeze jiang14 小时前
JavaScript 单例模式:用静态属性保证 Popup 只创建一次
开发语言·javascript·单例模式
No Silver Bullet14 小时前
Vue进阶(贰幺叁)vue.config.js 中 productionSourceMap 作用详解
前端·javascript·vue.js
A153625514 小时前
WMS 仓储系统的软件有哪些?2026 主流产品分类与选型参考
大数据·人工智能
hopsky14 小时前
《HBase 权威指南》 Lars George
大数据·数据库·hbase
Elastic 中国社区官方博客14 小时前
Elasticsearch:列式索引模式 - Columnar index mode
大数据·数据库·elasticsearch·搜索引擎·全文检索
用户8471810541914 小时前
LangChain中间件教程及DeepAgents应用
javascript·agent
huabuyu15 小时前
INP 自动化归因与自愈:如何自动定位、修复并验证一次卡顿
前端·javascript
BreezeJiang15 小时前
浏览器里的 DeepSeek 到底怎么跑起来?关键在 Worker、缓存和流式消息
javascript
BreezeJiang15 小时前
单例模式真正解决的不是“只能 new 一次”,而是统一资源入口
javascript
小林ixn15 小时前
WebGPU + Transformers.js:把 DeepSeek-R1 塞进浏览器,真香!
javascript·llm·gpu