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的执行过程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值