美文网首页
Spark核心编程例子

Spark核心编程例子

作者: 抬头挺胸才算活着 | 来源:发表于2021-12-29 07:50 被阅读0次
  • 案例1


答案:
https://www.bilibili.com/video/BV11A411L7CK?p=78

  • 案例2
    需求1:Top10热门品类
    根据点击数、下单数、支付数来排名
    思路:每一条数据可能是点击/搜索/下单/支付的行为,因此可以跟wordcount一样对其进行map,然后reduceByKey,最后排序,取前10名。这样的思路出来的点击数、下单数、支付数是独立的,我们需要得到一个包含这三者的元组,然后进行元组排序(先排序第一个,后排第二个...)。可能需要用join、zip、leftOuterJoin、Cogroup。
    join:在有点击数,没有下单数量的时候,整条记录都没了。
    zip:跟位置有关系,没ID没关系,无法直接拼接。
    leftOuterJoin:以左边的为主,
    cogroup:为空的时候也有,可以!
    步骤:cogroup、mapValues取出值cogroup之后的迭代器、排序、取前10个。
    优化:cogroup需要shuffle,性能有问题。
    我们可以采用下面的计算方式,也就是map、union、reduceByKey代替


需求2:



步骤:
1、取出前面计算出来的Top10品类
2、过滤前10品类的点击数据
3、map成((品类ID,sessionId),1),reduceByKey
4、map结构转化((品类ID,sessionId),sum)->(品类ID,(sessionId,sum))
5、groupByKey
6、分组排序并取前10


需求3:



1、根据用户sessionid分组,排序,取出页面



2、计算分母,也就是到过哪些页面

3、计算分子
聚合跳转个数



4、分子除以对应的分母

答案:
https://www.bilibili.com/video/BV11A411L7CK?p=110

相关文章

网友评论

      本文标题:Spark核心编程例子

      本文链接:https://www.haomeiwen.com/subject/ebmuqrtx.html