项目阶段
1.数据库与数据仓库的区别
sql
数据库和数据仓库都是将数据转为结构化数据处理(表数据)
联机事务处理 0LTP 数据库 面向事务进行数据处理,数据的增删改查
联机分析处理 OLAP 数据仓库 面向分析进行数据处理,数据存储和查询 一次写入 多次读取
```
2.文件数据转化为结构化数据
sql
(1)Kettle 读取文件数据存储到数据库,也可以将文件数据导入存储到数仓中
(2)编程代码 Python
```
3.结构化数据操作
sql
使用SQL,结构化查询语言(DDL,DML,DQL,DCL(权限管理))。
```
4.HiveSQL
```sql
在进行表数据操作时,是将表的数据成两部份操作
表元数据(表明,字段名,字段类型,约束等),hive的metastore管理
表行数据(记录的一条条数据),hdfs管理
```
5.数据导入流程
```sql
(1)用户办理业务将数据传入数据库
(2)数据库数据导入数仓(工具有kettle,python等)
(3)数仓的Hive操作(写sql)
(4)将操作结果进行BI展示
```
6.项目介绍
```sql
数仓形式 离线数仓开发
```
7.电商介绍
```sql
(1)B2B B2C C2C
(2)项目属于 新零售电商
(3)新零售 线(网站,app,小程序)+线下(实体体验店)+物流(自营物流)
(4)项目行业:果蔬生鲜类
(5)商业模式 B2C 企业售卖商品给个人
```
8.项目业务介绍
```sql
门店业务:线下实体店、及时达(快递物流)、社区团购、三方平台(在第三方平台开设店铺)
线上商城:线上的B2C的网站
商品批发:app 经销商在app中下单采购
大客户团购:app 公司在app中下单采购
自营商品:商品贴牌
线下到线上:
有线下的连锁商店,为了线上购物需求,开发了网站,app,小程序
在三方平台开设店铺
线下商店 根据规模不同可以商品批方 获取企业团购
线上到线下:
现有线上网站,引入新零售场景,开始发展线下(开设店铺,发展物流)
```
9.数仓分层架构
```sql
(1)传统数仓架构(不考虑需求,全都获取)
数据是自上而下进行开发 ,上是上游数据。
在导入数据时,直接将所有数据导入数仓,在根据需求从数仓中筛序数据进行计算
该架构模式会造成数仓中存储大量无用数据
用户数据
订单数据
商品数据
业务需求
计算用户总量
计算每天新增用户量
计算每天留存用户量
月增用户量
月留存用户量
传统数仓架构,需求变化快
(2)离线数仓架构(先看需求,只获取需要的,缺点:易导致多个数据集市的数据混乱和不一致)
自下而上,先确认下游的计算需求,根据计算需求向上找要计算的数据,将需要计算的数据导入数仓
维度表,分组数据
事实表,计算内容
用户主题分析 用到时间维度表 年月日
商品主题分析 用到时间维度表 时分秒
```
10.技术架构
```sql
-- 技术架构与数仓架构区别:数仓架构描述的是数据处理流程,技术架构描述的是实现数仓用的技术组成
数据源存储
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
```
11.项目人员及开发周期介绍
```sql
项目经理
管控整个项目的开发进度
进行部门和人员协调
产品经理
负责产品设计
网站,app产品
数据分析师或数据产品经理
负责主题需求设计
数据开发
进行数仓搭建开发
业务开发
网站,app
前端开发
后端开发
测试开发
产品测试,检查功能是否完整,计算结果是否正确
大数据运维开发
大数据软件安装,业务的上线部署,服务器维护
```
12.项目开发周期
```sql
产品调研:说明该项目开发原因,形成立项报告进行审批
数仓设计:设计数仓分层,技术选型,数仓表设计
数仓开发
集成测试:测试数仓开发的代码是否计算正确
上线部署
```
13.项目服务器选择
```sql
物理服务器还是云服务器
成本问题
项目中选择物理机 配置1286内存 ,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 32.5*3 = 97.5T
97.5/0.8=122T
开发需要13台服务器 预留测试服务器 2台 管理服务器(namenode resourcemanager CM的主服务)
产生订单数据人数占 日活用户 30-40% 日活用户占总用户量的10%-20%
```
4.CDH介绍
```sql
--(1)CDH Cloudera's Distribution Including Apache Hadoop
--(2)CDH 是商业版的hadoop,由cloudera公司基于开源的hadoop进行二次开发,封装更多的功能,部分功能需要付费使用
--(3)CDH 集成了一个 CM(Cloudera Manager),使用各B(浏览器)/S(服务器)模型服务,可以在CM中通过web浏览器页面管理维护hadoop集群
--(4)CM的核心角色
--server 主服务 处理CM的各类请求
--agent 从服务 运行多台服务器上,接受servGr分配的任务
```
15.ClouderaManager架构
```sql
--(1)Server:
Cloudera Manager的核心是Cloudera Manager Server。提供了统一的UI和API方便用户和集群上的CDH以及其它服务进行交互,能够安装配置CDH和其相关的服务软件,启动停止服务,维护集群中各个节点服务器以及上面运行的进程。
--(2)Agent:
安装在每台主机上的代理服务。它负责启动和停止进程,解压缩配置,触发安装和监控主机
--(3)Management Service:
执行各种监控、报警和报告功能的一组角色的服务
--(4)Database:
CM自身使用的数据库,存储配置和监控信息
--(5)Cloudera Repository:
云端存储库,提供可供Cloudera Manager分配的软件
--(6)Client:
用于与服务器进行交互的接口
1)Admin Console:管理员可视化控制台
2)API:开发人员使用API可以创建自定义的Cloudera Manager应用程序
```
16.
```sql
服务器说明
hadoop01 192.168.88.80
hadoop02 192.168.88.81
账户 root
密码 123456
注意:需要通过域名访问hadoop服务,就需要更改windos下域名解析文件
访问Server: http://hadoop01:7180/cmf/login
账号密码均为admin
```
大数据开发,数仓阶段
于 2024-04-25 21:51:19 首次发布
本文探讨了数据库与数据仓库的区别,如何通过SQL和工具如Kettle、Python进行文件数据转换和结构化数据操作,涉及Hive在数仓中的角色,以及电商项目的业务场景、数仓分层架构、技术选型,包括CDH和ClouderaManager在大数据管理中的应用。
摘要由CSDN通过智能技术生成