![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
sql题
文章平均质量分 58
wyaoxuexila
这个作者很懒,什么都没留下…
展开
-
sql优化方法
1,注意检查Hive表的分区字段,并尽量多地使用2,注明需要使用的列,而不是直接用 * 来获取所有列3,尽量提前做过滤,减少后续处理的数据量4,过滤条件写到子查询中,不要在外部写一个整体的大where条件5,关注字段类型虽然存在数据类型自动转换,但可能有坑。如date分区,大部分日期分区是字符串类型,不要吝啬引号:date='20190923'6,注意别名使用sql复杂时子查询别名要详尽有区分度不要使用关键词作为别名,如inner,outer,join等别名不要重复,可能原创 2021-09-23 16:38:54 · 131 阅读 · 0 评论 -
数仓知识总结
1.OLTP和OLAP的区别联机事务处理OLTP(on-line transaction processing) 主要是执行基本日常的事务处理,比如数据库记录的增删查改。比如在银行的一笔交易记录,就是一个典型的事务。OLTP的特点一般有:1.实时性要求高。我记得之前上大学的时候,银行异地汇款,要隔天才能到账,而现在是分分钟到账的节奏,说明现在银行的实时处理能力大大增强。2.数据量不是很大,生产库上的数据量一般不会太大,而且会及时做相应的数据处理与转移。3.交易一般是确定的,比如银行存取款的金额肯原创 2021-09-02 17:03:19 · 214 阅读 · 0 评论 -
行列转换问题
Hive典型应用场景之行列转换_zryowen123的博客-CSDN博客原创 2021-08-29 00:08:56 · 280 阅读 · 0 评论 -
sql问题
1.coalesce,nvlcoalesce(expression_1, expression_2, ...,expression_n)依次参考各参数表达式,遇到非null值即停止并返回该值。如果所有的表达式都是空值,最终将返回一个空值。nvl(expr1,expr2)2.split,substrsplit('abcdef', 'c') 结果:["ab", "def"]split('abcdef', 'c')[0] 结果:absubstr(string,...原创 2021-08-23 17:42:21 · 184 阅读 · 0 评论 -
连续登陆问题
题目:有一张用户签到表【temp】,标记每天用户是否签到(说明:该表包含所有用户所有工作日的出勤记录) ,包含三个字段:日期【date】,用户id【uid】,用户当天是否签到【sign:0否1是】问题1:请计算截至当前每个用户已经连续签到的天数思路:计算最近一次未签到的日期,再用当前日期减去那个日期select uid, datediff('2020-10-01',day_max) as day_cntfrom( select uid,原创 2021-08-03 16:47:39 · 118 阅读 · 0 评论 -
计算某日新增用户,及其次日、3日、3日内的留存率
计算某日新增用户,及其次日、3日、7日的留存率user_id用户event_time时间login表名select count(user_id) as '新增用户',count(l1.user_id)/count(t.user_id) as '次日留存',count(l2.user_id)/count(t.user_id) as '3日留存',count(l3.user_id)/count(t.user_id) as '7日留存'from(select user_id, ...原创 2020-11-22 12:11:24 · 1389 阅读 · 1 评论