当前位置:   article > 正文

hadoop+hive+hbase+spark分析美团外卖数据_基于spark和hive的美团数据分析

基于spark和hive的美团数据分析

一、环境要求
Hadoop+Hive+Spark+HBase 开发环境。

start-all.sh
start-hbase.sh
nohup hive --service metastore &
hive
cd .../spark
sbin/start-all.sh
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

二、提交结果要求
1.必须提交源码或对应分析语句,如不提交则不得分。
2.带有分析结果的功能,请分析结果的截图与代码一同提交。
三、数据描述
meituan_waimai_meishi.csv 是美团外卖平台的部分外卖 SPU(Standard Product Unit ,
标准产品单元)数据,包含了外卖平台某地区一时间的外卖信息。具体字段说明如下:
在这里插入图片描述
四、功能要求
1.数据准备(10 分)
请在 HDFS 中创建目录/app/data/exam,并将 meituan_waimai_meishi.csv 文件传到该
目录。并通过 HDFS 命令查询出文档有多少行数据。

hdfs dfs -mkdir -p /app/data/exam
hdfs dfs -put meituan_waimai_meishi.csv /app/data/exam
hdfs dfs -cat /app/data/exam/meituan_waimai_meishi.csv | wc -l
  • 1
  • 2
  • 3

2.使用 Spark,加载 HDFS 文件系统 meituan_waimai_meishi.csv 文件,并分别使用 RDD
和 Spark SQL 完成以下分析(不用考虑数据去重)。(50 分)
①统计每个店铺分别有多少商品(SPU)。
②统计每个店铺的总销售额。
③统计每个店铺销售额最高的前三个商品,输出内容包括店铺名,商品名和销售额,其
中销售额为 0 的商品不进行统计计算,例如:如果某个店铺销售为 0,则不进行统计。

#RDD方法:
val fileRDD = sc.textFile("hdfs://hadoop155:9000/app/data/exam/meituan_waimai_meishi.csv")
val spuRDD = fileRDD.filter(x=>x.startsWith("spu_id")==fasle).map(x=>x.split(",",-1)).filter(x=>x.size==12)
spuRDD.count()
  • 1
  • 2
  • 3
  • 4

在这里插入图片描述

spuRDD.map(x=>(x(2),1)).reduceByKey(_+_).collect.foreach(println)
import scala.util._
spuRDD.map(x=>(x(2),Try(x(5).toDouble).toOption.getOrElse(0.0
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/911545
推荐阅读
相关标签
  

闽ICP备14008679号