(一)数仓之线上教育平台

数据仓库概念

数据仓库是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合。
数据仓库是出于分析报告和决策支持目的而创建的,为需要业务智能的企业,提供指导业务流程改进、监控时间、成本、质量以及控制。

项目需求及架构设计

项目需求分析

一、数据采集平台搭建
二、实现数据仓库分层的搭建
三、实现数据清洗、聚合、计算等操作
四、统计各指标,如统计通过各地址跳转注册的用户人数、统计各平台的用户人数、统计支付金额topN的用户

项目框架

1. 技术选型

一、数据存储:Hdfs
二、数据处理:Hive、Spark
三、任务调度:Azkaban

流程设计

(一)数仓之线上教育平台

用户注册模块需求

1.baseadlog 广告基础表原始json数据
{
	"adid": "0",     //基础广告表广告id 
	"adname": "注册弹窗广告0",  //广告详情名称
	"dn": "webA"     //网站分区
}
2.	basewebsitelog 网站基础表原始json数据
{
	"createtime": "2000-01-01",  
	"creator": "admin",
	"delete": "0",
	"dn": "webC",  //网站分区
	"siteid": "2",  //网站id  
	"sitename": "114",  //网站名称
	"siteurl": "www.114.com/webC"  //网站地址
}

3.	memberRegtype 用户跳转地址注册表
{
	"appkey": "-",
	"appregurl": "http:www.webA.com/product/register/index.html",  //注册时跳转地址
	"bdp_uuid": "-",
	"createtime": "2015-05-11",
	"dt":"20190722",  //日期分区
	"dn": "webA",    //网站分区 
	"domain": "-",
	"isranreg": "-",
	"regsource": "4", //所属平台 1.PC  2.MOBILE  3.APP   4.WECHAT
	"uid": "0", //用户id
	"websiteid": "0" //对应basewebsitelog 下的siteid网站
}

4.	pcentermempaymoneylog 用户支付金额表
{
	"dn": "webA",  //网站分区
	"paymoney": "162.54", //支付金额
	"siteid": "1",  //网站id对应 对应basewebsitelog 下的siteid网站
	"dt":"20190722",  //日期分区
	"uid": "4376695",  //用户id
	"vip_id": "0" //对应pcentermemviplevellog vip_id
}

5.	pcentermemviplevellog用户vip等级基础表
{
	"discountval": "-",
	"dn": "webA",  //网站分区
	"end_time": "2019-01-01",   //vip结束时间
	"last_modify_time": "2019-01-01",
	"max_free": "-",
	"min_free": "-",
	"next_level": "-",
	"operator": "update",
	"start_time": "2015-02-07",  //vip开始时间
	"vip_id": "2",  //vip id
	"vip_level": "银卡"  //vip级别名称
}

6.	memberlog 用户基本信息表
{
	"ad_id": "0",  //广告id              
	"birthday": "1981-08-14",  //出生日期
"dt":"20190722",  //日期分区
	"dn": "webA",  //网站分区
	"email": "test@126.com", 
	"fullname": "王69239",  //用户姓名
	"iconurl": "-",
	"lastlogin": "-",
	"mailaddr": "-",
	"memberlevel": "6",  //用户级别
	"password": "123456", //密码
	"paymoney": "-",  
	"phone": "13711235451",  //手机号
	"qq": "10000",  
	"register": "2016-08-15",    //注册时间
	"regupdatetime": "-",
	"uid": "69239",  //用户id
	"unitname": "-",
	"userip": "123.235.75.48",  //ip地址
	"zipcode": "-"
}

其余字段为非统计项 直接使用默认值“-”存储即可

数据分层

在hive里分别建立三个库,dwd、dws、ads 分别用于存储etl清洗后的数据、宽表和拉链表数据、各报表层统计指标数据。

create database dwd;
create database dws;
create database ads;  

各层级 ods 存放原始数据
dwd 结构与原始表结构保持一致,对ods层数据进行清洗
dws 以dwd为基础进行轻度汇总
ads 报表层,为各种统计报表提供数据

ODS层表结构

DWD层表结构

(一)数仓之线上教育平台

DWS层表结构

宽表

(一)数仓之线上教育平台

拉链表

(一)数仓之线上教育平台

ADS层表结构

各个统计表

(一)数仓之线上教育平台

上一篇:游戏数据分析-玩家战力分析


下一篇:知识付费项目代理商哪里找?