求助关于sql的面试题
服务器每天产生30亿的访问日志,
每一行日志包括字段:device_id, country, channel_id,date,ip, ......
其中device_id表示设备,country表示国家,channel_id表示渠道,date表示日期,......
已知device_id去重总数不到10亿,每天缓慢增加,缓慢到可以忽略不计;
已知country长度最长3个大写字母,channel_id取值范围是100-999;
已知device_id为36个字符组成;
现在要分析:
1、不同国家的device_id去重计数是多少,
2、不同渠道的device_id去重计数是多少,
3、不同渠道独有的device_id去重计数是多少,(因为一个设备可能在不同渠道出现,也可能只在某一个渠道出现)
4、渠道100的设备与其他渠道(101~999)的设备重复率是多少,
要求:
1、写出各个要求的伪sql(不限方言)
2、在计算第四点时如果是 10亿的device_id表 left join 10亿的device_id表,速度较慢,如何解决?
(不限方言,最好是spark,不要求能运行,逻辑对即可;可以自定义算子,算子功能描述清楚即可)
每一行日志包括字段:device_id, country, channel_id,date,ip, ......
其中device_id表示设备,country表示国家,channel_id表示渠道,date表示日期,......
已知device_id去重总数不到10亿,每天缓慢增加,缓慢到可以忽略不计;
已知country长度最长3个大写字母,channel_id取值范围是100-999;
已知device_id为36个字符组成;
现在要分析:
1、不同国家的device_id去重计数是多少,
2、不同渠道的device_id去重计数是多少,
3、不同渠道独有的device_id去重计数是多少,(因为一个设备可能在不同渠道出现,也可能只在某一个渠道出现)
4、渠道100的设备与其他渠道(101~999)的设备重复率是多少,
要求:
1、写出各个要求的伪sql(不限方言)
2、在计算第四点时如果是 10亿的device_id表 left join 10亿的device_id表,速度较慢,如何解决?
(不限方言,最好是spark,不要求能运行,逻辑对即可;可以自定义算子,算子功能描述清楚即可)
全部评论
相关推荐
11-03 13:11
广东东软学院 游戏后端
后端转测开第一人:再怎么劝退也没用的 某些群体总以为在一个幸存者偏差的软件上看见了极少数秋招上岸某个大厂的个例就幻想上了 事实上自己打开ssob沟通1000+连个小厂面试都没 点赞 评论 收藏
分享
点赞 评论 收藏
分享
360集团公司氛围 372人发布