广告业务分析之需求分析
互联网平台通行的商业模式是利用免费的基础服务吸引凝聚大量用户,并利用这些用户资源开展广告或其他增值业务实现盈利从而反哺支撑免费服务的生存和发展。广告收入不仅成为互联网平台的重要收入之一,更决定了互联网平台的发展程度。
电商平台本身就汇聚了海量的商品、店铺的信息,天然适合进行商品的推广。对于电商和广告主来说,广告投放的目的无非就是吸引更多的用户,最终实现营销转化。因此非常关注不同位置广告的曝光量、点击量、购买量、点击率、购买率。
事件日志数据样例:
12345678910111213141516171819202122232425262728293031323334353637383940414 ...
会员活跃度分析之高仿日启动数据测试
数据采集 => ODS => DWD => DWS => ADS> MySQL
活跃会员、新增会员、会员留存
DAU: Daily Active User(日活跃用户)
MAU: monthly active user(月活跃用户)
假设App的DAU在1000W左右,日启动数据大概 1000W 条;
测试3天的数据:7月21日、7月22日、7月23日。1000W条数据约3.5G+,每条记录约370字节。
Hive on MR测试
使用 flume 采集数据(采集3天的数据)
修改flume的参数:1G滚动一次;加大channel缓存;加大刷新 hdfs 的缓 ...
Tez简介及安装
Hortonworks在2014年左右发布了Stinger Initiative,并进行社区分享,为的是让Hive支持更多SQL,并实现更好的性能。
让Hive的查询功能更强大。增加类似OVER子句的分析功能,支持WHERE子查询,以及调整Hive的样式系统更多的符合标准的SQL模型;
优化Hive的请求执行计划,增加 Task 每秒处理记录的数量;
引入新的列式文件格式(ORC文件),提供一种更现代、高效和高性能的方式来储存Hive数据;
引入新的runtime框架——Tez,消除Hive的延迟以及吞吐量限制。Tez通过消除不必要的task、障碍同步和对HDFS的读写作业来优 ...
会员活跃度分析之Datax数据导出
ADS有4张表需要从数据仓库的ADS层导入MySQL,即:Hive => MySQL
1234ads.ads_member_active_countads.ads_member_retention_countads.ads_member_retention_rateads.ads_new_member_cnt
MySQL 建表
1234567891011121314151617181920212223242526272829303132333435363738394041create database dwads;-- 活跃会员数drop table if exists dwad ...
DataX快速入门
DataX概述及安装
DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute(ODPS)、DRDS 等各种异构数据源之间高效的数据同步功能。
概述
为了解决异构数据源同步问题,DataX将复杂的网状的同步链路变成了星型数据链路,DataX作为中间传输载体负责连接各种数据源。当需要接入一个新的数据源的时候,只需要将此数据源对接到DataX,便能跟已有的数据源做到无缝数据同步。
DataX本身作为离线数据同步框架, ...
会员活跃度分析之留存会员
留存会员与留存率:某段时间的新增会员,经过一段时间后,仍继续使用应用认为是留存会员;这部分会员占当时新增会员的比例为留存率。
需求:1日、2日、3日的会员留存数和会员留存率
30
31
1
2
10W新会员
3W
1日留存数
20W
5W
2日留存数
30W
4W
3日留存数
10W新会员:dws_member_add_day(dt=08-01)明细
3W:特点 在1号是新会员,在2日启动了(2日的启动日志)dws_member_start_day
创建DWS层表
1234567891011121314151617181920use dws;-- ...
会员活跃度分析之新增会员
新增会员:第一次使用应用的用户,定义为新增会员;卸载再次安装的设备,不会被算作一次新增。
新增会员先计算 => 计算会员留存
需求:每日新增会员数
计算步骤:
计算新增会员
更新所有会员信息
改进后方法:
在所有会员信息中增加时间列,表示这个会员是哪一天成为新增会员
只需要一张表:所有会员的信息(id,dt)
将新增会员 插入所有会员表中
案例:如何计算新增会员
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545 ...
会员活跃度分析之活跃会员
活跃会员:打开应用的会员即为活跃会员;
新增会员:第一次使用应用的用户,定义为新增会员;
留存会员:某段时间的新增会员,经过一段时间后,仍继续使用应用认为是留存会员;
活跃会员指标需求:每日、每周、每月的活跃会员数
DWD:会员的每日启动信息明细(会员都是活跃会员;某个会员可能会出现多次)
DWS:每日活跃会员信息(关键)、每周活跃会员信息、每月活跃会员信息
每日活跃会员信息 ===> 每周活跃会员信息
每日活跃会员信息 ===> 每月活跃会员信息
ADS:每日、每周、每月活跃会员数(输出)
12ADS表结构:daycnt weekcnt monthcnt dt
备注:周、月为自然 ...
会员活跃度分析之DWD层建表和数据加载
12020-08-02 18:19:32.966 [main] INFO com.lagou.ecommerce.AppStart - {"app_active": {"name":"app_active","json": {"entry":"1","action":"1","error_code":"0"},"time":1596309 ...
会员活跃度分析之ODS建表和数据加载
ODS建表和数据加载
ODS层的数据与源数据的格式基本相同。
创建ODS层表:
12345678910use ODS;create external table ods.ods_start_log( `str` string)comment '用户启动日志信息'partitioned by (`dt` string)location '/user/data/logs/start';-- 加载数据的功能(测试时使用)alter table ods.ods_start_log add partition(dt='2020-08-02 ...