一个去重的问题

一个去重的问题

老师你写的代码我看懂了,但是我有个疑问

第一步的时候,如果同一个人在同一个直播间不同时间播了会产生重复数据

   val videoInfoFieldRDD = videoInfoRDD.map(line => {
      val videoInfo = JSON.parseObject(line)
      val uid = videoInfo.getString("uid")
      val vid = videoInfo.getString("vid")
      val area = videoInfo.getString("area")
      (vid, (uid, area))
    })

虽然在第五步会去重

val reduceRDD = joinMapRDD.reduceByKey(_ + _);

但是是否在第一步的时候直接加个distinct(),减少join时的数据量会更好?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

这样不行,在第三步还需要用到vid进行join,第一步提前基于uid做了去重后面就没法用vid进行关联了。

  • crazycrush 提问者 #1
    {"uid":"8407173251001","vid":"14943445328940001","area":"US","status":"1","start_time":"1494344544","end_time":"1494344570","watch_num":101,"share_num":"21","type":"video_info"}
    {"uid":"8407173251001","vid":"14943445328940001","area":"US","status":"1","start_time":"1494344599","end_time":"1494344699","watch_num":11,"share_num":"22","type":"video_info"}

    我的意思是有vid和uid同时重复的数据 不是只有uid重复 只去vid重复的 这个实际情况中也存在吧 一个主播在不同的时段在同一个直播间直播

    2023-10-22 17:42:41
  • 徐老师 回复 提问者 crazycrush #2
    这里主播每次开播生成的直播间vid都是不重复的,和YY里面的房间号的概念是不一样的。
    2023-10-22 17:45:43
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师