spark-shell

现要求统计用户收藏数据中,每个用户收藏商品数量。

1.在Linux上,创建/data/spark3/wordcount目录,用于存储实验所需的数据。

view plain copy
mkdir -p /data/spark3/wordcount
切换目录到/data/spark3/wordcount下,并从http://192.168.1.100:60000/allfiles/spark3/wordcount/buyer_favorite下载实验数据。

view plain copy
cd /data/spark3/wordcount
wget http://192.168.1.100:60000/allfiles/spark3/wordcount/buyer_favorite
2.使用jps查看Hadoop以及Spark的相关进程是否已经启动,若未启动则执行启动命令。

view plain copy
jps
/apps/hadoop/sbin/start-all.sh
view plain copy
/apps/spark/sbin/start-all.sh
将Linux本地/data/spark3/wordcount/buyer_favorite文件,上传到HDFS上的/myspark3/wordcount目录下。若HDFS上/myspark3目录不存在则需提前创建。

view plain copy
hadoop fs -mkdir -p /myspark3/wordcount
hadoop fs -put /data/spark3/wordcount/buyer_favorite /myspark3/wordcount
3.启动spark-shell

view plain copy
spark-shell
4.编写Scala语句,统计用户收藏数据中,每个用户收藏商品数量。

先在spark-shell中,加载数据。

view plain copy
val rdd = sc.textFile(“hdfs://localhost:9000/myspark3/wordcount/buyer_favorite”);
执行统计并输出。

view plain copy
rdd.map(line=> (line.split(’\t’)(0),1)).reduceByKey(+).collect

去重:使用spark-shell,对上述实验中,用户收藏数据文件进行统计。根据商品ID进行去重,统计用户收藏数据中都有哪些商品被收藏。

1.在Linux上,创建/data/spark3/distinct,用于存储实验数据。

view plain copy
mkdir -p /data/spark3/distinct
切换到/data/spark3/distinct目录下,并从http://192.168.1.100:60000/allfiles/spark3/distinct/buyer_favorite下载实验数据。

view plain copy
cd /data/spark3/distinct
wget http://192.168.1.100:60000/allfiles/spark3/distinct/buyer_favorite
2.使用jps查看Hadoop,Spark的进程。保证Hadoop、Spark框架相关进程为已启动状态。

3.将/data/spark3/distinct/buyer_favorite文件,上传到HDFS上的/myspark3/distinct目录下。若HDFS目录不存在则创建。

view plain copy
hadoop fs -mkdir -p /myspark3/distinct
hadoop fs -put /data/spark3/distinct/buyer_favorite /myspark3/distinct
4.在Spark窗口,编写Scala语句,统计用户收藏数据中,都有哪些商品被收藏。

先加载数据,创建RDD。

view plain copy
val rdd = sc.textFile(“hdfs://localhost:9000/myspark3/distinct/buyer_favorite”);
对RDD进行统计并将结果打印输出。

view plain copy
rdd.map(line => line.split(’\t’)(1)).distinct.collect

排序:电商网站都会对商品的访问情况进行统计,现有一个goods_visit文件,存储了电商网站中的各种商品以及此各个商品的点击次数。

商品id(goods_id) 点击次数(click_num)

view plain copy
商品ID 点击次数
1010037 100
1010102 100
1010152 97
1010178 96
1010280 104
1010320 103
1010510 104
1010603 96
1010637 97
现根据商品的点击次数进行排序,并输出所有商品。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值