摘要: //本周回流用户数=本周用户活跃数-本周新增用户数-上周活跃用户数 一旦遇到减法问题就使用left join就对了 insert into table ads_back_count select "2019-12-20", concat(date_add(next_day("2019-12-20", 阅读全文
posted @ 2020-03-04 10:34 柱子Z 阅读(287) 评论(0) 推荐(0)
摘要: 1.每日用户留存明细 //以下例子是留存一天的 insert overwrite table dws_user_retention_day partition(dt="2019-12-21") select nm.mid_id, nm.user_id, ..., nm.create_date, 1 阅读全文
posted @ 2020-03-04 10:31 柱子Z 阅读(221) 评论(0) 推荐(0)
摘要: 全篇以安卓手机通用埋点字段进行分析 1.每日活跃设备分析 insert overwrite table dws_uv_detail_day partition(dt="2019-12-20") select mid_id, concat_ws("|",collect_set(user_id)) us 阅读全文
posted @ 2020-03-04 10:28 柱子Z 阅读(308) 评论(0) 推荐(0)
摘要: ROWS窗口函数中的行选择器 rows between [n|unbounded preceding]|[n|unbounded following]|[current row] and [n|unbounded preceding]|[n|unbounded following]|[current 阅读全文
posted @ 2020-02-29 16:13 柱子Z 阅读(254) 评论(0) 推荐(0)
摘要: row_number:会对所有数值,输出不同的序号,序号唯一且连续,如:1、2、3、4、5。 rank:会对相同数值,输出相同的序号,而且下一个序号间断,如:1、1、3、3、5。 dense_rank:会对相同数值,输出相同的序号,但下一个序号不间断,如:1、1、2、2、3。 1.ROW_NUMBE 阅读全文
posted @ 2020-02-29 12:03 柱子Z 阅读(688) 评论(0) 推荐(0)
摘要: 首先我们知道聚合函数(如sum()、avg()、max()等等)是针对定义的行集(组)执行聚集,每组只返回一个值。 窗口函数也是针对定义的行集(组)执行聚集,可为每组返回多个值。如既要显示聚集前的数据,又要显示聚集后的数据。 窗口查询有两个步骤:将记录分割成多个分区,然后在各个分区上调用窗口函数。 阅读全文
posted @ 2020-02-29 11:25 柱子Z 阅读(287) 评论(0) 推荐(0)
摘要: 0) HDFS小文件影响:(1)影响 NameNode 的寿命,因为文件元数据存储在 NameNode 的内存中。(2)影响计算引擎的任务数量,比如每个小的文件都会生成一个 Map 任务。1) 数据输入小文件处理:(1)合并小文件:对小文件进行归档(Har)、自定义 Inputformat 将小文件 阅读全文
posted @ 2020-02-28 20:36 柱子Z 阅读(168) 评论(0) 推荐(0)