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

相关推荐

野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务