求助关于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,不要求能运行,逻辑对即可;可以自定义算子,算子功能描述清楚即可)
全部评论

相关推荐

06-23 17:45
门头沟学院 Java
里面的项目啥的真的有用吗? 这些人是割韭菜吗?
HellowordX:很简单,如果你有自己稳定的学习路线和获取知识的方式就没必要,如果你啥都不懂的小白或者里边有你感兴趣的知识,我觉得挺值,我也经常为知识付费,因为时间精力有限,很多东西我不可能自己重复造轮子
点赞 评论 收藏
分享
重生我想学测开:嵌入式的问题,我准备入行京东外卖了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务