课程介绍
- 项目名称 黑马甄选
- 数仓形式 离线数仓开发
- 业务类型 电商业务
电商介绍
B2B B2C C2C
项目属于 新零售电商 新零售 线上(网站,app,小程序)+ 线下(实体体验店)+ 物流(自营物流)
项目行业 果蔬生鲜领域
商业模式 B2C 企业售卖商品给个人
项目业务介绍
- 门店业务
- 线下实体店
- 及时达(快递物流)
- 社区团购
- 三方平台 在第三发平台开设店铺
- 线上商城
- 线上的B2C的网站
- 商品批发
- app 经销商在app中下单采购
- 大客户团购
- app 公司在app中下单采购
- 自营商品
- 商品贴牌
线下到线上
- 有线下的连锁商店,为了线上购物需求,开发了网站,app,小程序
- 在三方平台开设店铺
- 线下商店 根据规模不同可以 商品批发 ,企业团购
线上到线下
现有线上网站,引入新零售场景,开始发展线下(开设店铺,发展物流)
开发需求介绍
- 销售需求
- 会员需求
- 供应链需求
- 商城需求
不同需求就是一个开发主题
需求开发完成后会有新的需求产生
项目架构介绍
数仓分层架构
- 传统数仓架构
- 数据是
自上而下
进行开发 ,上是上游数据 - 在导入数据时,直接将所有数据导入数仓,在根据需求从数仓中筛序数据进行计算
- 该架构模式会造成数仓中存储大量无用数据
- 用户数据
- 订单数据
- 商品数据
- 业务需求
- 计算用户总量
- 计算每天新增用户量
- 计算每天留存用户量
- 月增用户量
- 月留存用户量
- 传统数仓架构,需求变化快
- 数据是
- 离线数仓架构
自下而上
先确认下游的计算需求,根据计算需求向上找要计算的数据,将需要计算的数据导入数仓- 维度表 分组数据 时间维度表
- 事实表 计算内容做为事实表
- 用户主题分析 用到时间维度表 年月日 tb_dt_user
- 商品主题分析 用到时间维度表 时分秒 tb_dt_goods
技术架构
数仓架构描述的是数据处理流程
技术架构描述的是实现数仓用的技术组成
- 数据源存储
- Mysql
- SQL Server
- 数据导入 ETL
- sqoop
datax
- flume
- kettle
- 数据仓库
- 分布式存储 hdfs
- 分布式计算 mapreduce + hive
- 资源调度 yarn
- 数仓数据导出
datax
- sqoop
- kettle
- 存储结果的数据库
- mysql
- Oracle
- SQL server
PostGreSQL
- 数据展示
- FineBI
FineReport
- superset
- powerBI
- 任务调度
DS
- oozie
项目人员及开发周期介绍
项目人员构成
- 项目经理 1人
- 管控整个项目的开发进度
- 进行部门和人员协调
- 产品经理 1人
- 负责产品设计
- 网站,app产品
- 负责产品设计
- 数据分析师或数据产品经理 1人
- 负责主题需求设计
- 数据开发 2-4人
- 进行数仓搭建开发
- 业务开发
- 网站,app
- 前端开发 pc端1人 手机端1人
- 后端开发 1人
- 测试开发 1-2人
- 产品测试,检查功能是否完整,计算结果是否正确
- 大数据运维开发 1
- 大数据软件安装,业务的上线部署,服务器维
项目开发周期
产品调研 说明该项目开发原因,形成立项报告进行审批
数仓设计 设计数仓分层,技术选型,数仓表设计
数仓开发
集成测试 测试数仓开发的代码是否计算正确
上线部署
项目服务器选择
- 物理服务器还是云服务器
- 成本问题
- 项目中选择物理机 配置 128G 内存 ,20核物理CPU,40线程 ,8T HDD和 2T SSD硬盘
- 服务器数量
- 基于每天产生的数据量进行推测
- 当前项目每天产生 34G的数据
- 历史数据数量 10T
- 增量数据 未来五年(服务器进行扩容)的数据 34G
*
365*
5 = 15T - 计算时中间结果的存储 34G
*
0.5 17G * 365*5 = 7.5T 10+15+7.5=32.5T - 3副本存储 数据存储三份 32.5 * 3
- 每台服务器需要预留20%空间 97.5 / 0.8 = 122 T
- 开发需要13台服务器 预留测试服务器 2台 管理服务器3台 (namenode resourcemanager CM的主服务)
产生订单数据人数占 日活用户 30–40% 日活用户占总用户量的10%-20%
CDH介绍
CDH Cloudera’s Distribution Including Apache Hadoop
CDH 是商业版的hadoop,由Cloudera公司基于开源的hadoop进行二次开发,封装更多的功能,部分功能需要付费使用
CDH 集成了一个 CM(Cloudera Manager),使用各B(浏览器)/S(服务器)模型服务,可以在CM中通过web浏览器页面管理维护hadoop集群
CM的核心角色
server 主服务 处理CM的各类请求
agent 从服务 运行多台服务器上,接受server分配的任务
项目数据介绍
服务器说明
hadoop01 192.168.88.80
hadoop02 192.168.88.81
账户 root
密码 123456
注意: 需要通过域名访问hadoop服务,就需要更改windos下域名解析文件
mysql数据导入
账户 root
密码 123456
sqlserver
用户名: SA
密码: ITheima123
端口号: 1433