本文主要是介绍(37)数仓搭建-DWS 层,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
5.1 业务术语
1 )用户
用户以设备为判断标准, 在移动统计中,每个独立设备认为是一个独立用户 。 Android
系统根据 IMEI 号, IOS 系统根据 OpenUDID 来标识一个独立用户,每部手机一个用户。
2 )新增用户
首次联网使用应用的用户。如果一个用户首次打开某 APP ,那这个用户定义为新增用
户;卸载再安装的设备,不会被算作一次新增。新增用户包括日新增用户、周新增用户、月
新增用户。
3 )活跃用户
打开应用的用户即为活跃用户,不考虑用户的使用情况。每天一台设备打开多次会被计
为一个活跃用户。
4 )周(月)活跃用户
某个自然周(月)内启动过应用的用户,该周(月)内的多次启动只记一个活跃用户。
5 )月活跃率
月活跃用户与截止到该月累计的用户总和之间的比例。
6 )沉默用户
用户仅在安装当天(次日)启动一次,后续时间无再启动行为。该指标可以反映新增用
户质量和用户与 APP 的匹配程度。
7 )版本分布
不同版本的周内各天新增用户数,活跃用户数和启动次数。利于判断 APP 各个版本之
间的优劣和用户行为习惯。
8 )本周回流用户
上周未启动过应用,本周启动了应用的用户。
9 )连续 n 周活跃用户
连续 n 周,每周至少启动一次。
10 )忠诚用户
连续活跃 5 周以上的用户
11 )连续活跃用户
连续 2 周及以上活跃的用户
12 )近期流失用户
连续 n ( 2<= n <= 4 )周没有启动应用的用户。(第 n+1 周没有启动过)
13 )留存用户
某段时间内的新增用户,经过一段时间后,仍然使用应用的被认作是留存用户;这部分
用户占当时新增用户的比例即是留存率。
例如, 5 月份新增用户 200 ,这 200 人在 6 月份启动过应用的有 100 人, 7 月份启动过
应用的有 80 人,
8 月份启动过应用的有 50 人;则 5 月份新增用户一个月后的留存率是 50% ,
二个月后的留存率是 40% ,三个月后的留存率是 25% 。
14 )用户新鲜度
每天启动应用的新老用户比例,即新增用户数占活跃用户数的比例。
15 )单次使用时长
每次启动使用的时间长度。
16 )日使用时长
累计一天内的使用时间长度。
17 )启动次数计算标准
IOS 平台应用退到后台就算一次独立的启动; Android 平台我们规定,两次启动之间的
间隔小于 30 秒,被计算一次启动。用户在使用过程中,若因收发短信或接电话等退出应用
30 秒又再次返回应用中,那这两次行为应该是延续而非独立的,所以可以被算作一次使用
行为,即一次启动。业内大多使用 30 秒这个标准,但用户还是可以自定义此时间间隔。
5.2 系统函数
5.2.1 nvl 函数
1 )基本语法
NVL (表达式 1 ,表达式 2 )
如果表达式 1 为空值, NVL 返回值为表达式 2 的值,否则返回表达式 1 的值。
该函数的目的是把一个空值( null )转换成一个实际的值。其表达式的值可以是 数字型、
字符型和日期型 。 但是表达式 1 和表达式 2 的数据类型 必须为同一个类型 。
2 )案例实操
hive (gmall)> select nvl(1,0);
1
hive (gmall)> select nvl(null,"hello");
hello
5.2.2 日期处理函数
1 ) date_format 函数(根据格式整理日期)
hive (gmall)> select date_format('2020-06-14','yyyy-MM');
2020-06
2 ) date_add 函数(加减日期)
hive (gmall)> select date_add('2020-06-14',-1);
2020-06-13
hive (gmall)> select date_add('2020-06-14',1);
2020-06-15
3 ) next_day 函数
( 1 )取当前天的下一个周一
hive (gmall)> select next_day('2020-06-14','MO');
2020-06-15
说明:星期一到星期日的英文( Monday , Tuesday 、 Wednesday 、 Thursday 、 Friday 、 Saturday 、 Sunday )
( 2 )取当前周的周一
hive (gmall)> select date_add(next_day('2020-06-14','MO'),-7);
2020-06-8
4 ) last_day 函数(求当月最后一天日期)
hive (gmall)> select last_day('2020-06-14');
2020-06-30
5.2.3 复杂数据类型定义
1 ) map 结构数据定义
map<string,string>
2 ) array 结构数据定义
array<string>
3 ) struct 结构数据定义
struct<id:int,name:string,age:int>
4 ) struct 和 array 嵌套定义
array<struct<id:int,name:string,age:int>>
这篇关于(37)数仓搭建-DWS 层的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!