实习Day4:被SQL搞到头疼的一天
其实在学校里学过基本的sql语法,但都是三年前的了,都忘光了,所以今天开始实打实写sql的时候还是一直卡壳,一直报错。
- 分区 之前看Hive SQL相关文档的时候,以为自己了解了分区,但其实不然。公司里的数据表存在很大的冗余,每天的数据都会存一个增量表,以及从创建表到当前日期的全量表。因此对于全量表来说,确定分区只要设定dt=前一天日期就可以,具体的日期筛选可以同通过相关的字段进行筛选;而如果要直接用增量表时,才需要dt>开始日期,dt<结束日期。之前把分区直接理解成一个时间的字段了。
- distinct的使用 公司的Hive SQL教程里,说明count(distinct ) 尽量少用,因为如果这么写的话,只用到1个reducer,相当于把所有数据放在了一台机器上运行,导致运行得很慢。因此,可以先用group by将数据分散,这样运行起来会快一点。
- 基础指标 刚开始得时候可能光看各种基础指标理解的不够透彻,各个表之间的逻辑也不太能理清,因此可以尝试把每个基础指标自己去实现一下,锻炼了写SQL的能力,也熟悉了各种业务。
自学Day4
看了 浙大版的概率论与数理统计,但感觉有些我之前不懂的地方书里仍然没有讲的很清楚,比如说二项分布和泊松分布两者的近似,也是自己专门找的解释的。可能这些问题之前囫囵吞枣只为了考试的时候不会注意到吧,现在也慢慢学会思考一下背后的原因了,对我来说可能是一种进步吧,毕竟以前的基础实在太不扎实了。
感想Day4
今天没啥特别的感想。日常觉得自己太菜…