大数据项目介绍

发布于:2024-04-26 ⋅ 阅读:(19) ⋅ 点赞:(0)

目录

项目阶段

1.数据库与数据仓库的区别

2.文件数据转化为结构化数据

3.结构化数据操作

4.HiveSQL

5.数据导入流程

6.项目介绍

7.电商介绍

8.项目业务介绍

9.数仓分层架构

10.技术架构

11.项目人员及开发周期介绍

12.项目开发周期

13.项目服务器选择

14.CDH介绍

15.ClouderaManager架构

16.服务器


项目阶段

1.数据库与数据仓库的区别
数据库和数据仓库都是将数据转为结构化数据处理(表数据)
联机事务处理 0LTP 数据库 面向事务进行数据处理,数据的增删改查
联机分析处理 OLAP 数据仓库 面向分析进行数据处理,数据存储和查询 一次写入 多次读取
2.文件数据转化为结构化数据
(1)Kettle 读取文件数据存储到数据库,也可以将文件数据导入存储到数仓中
(2)编程代码 Python
3.结构化数据操作
使用SQL,结构化查询语言(DDL,DML,DQL,DCL(权限管理))。
4.HiveSQL
在进行表数据操作时,是将表的数据成两部份操作
表元数据(表明,字段名,字段类型,约束等),hive的metastore管理
表行数据(记录的一条条数据),hdfs管理
5.数据导入流程
(1)用户办理业务将数据传入数据库
(2)数据库数据导入数仓(工具有kettle,python等)
(3)数仓的Hive操作(写sql)
(4)将操作结果进行BI展示
6.项目介绍
项目名称 黑马甄选
数仓形式 离线数仓开发
业务类型 电商业务
7.电商介绍
(1)B2B B2C C2C
(2)项目属于 新零售电商
(3)新零售 线(网站,app,小程序)+线下(实体体验店)+物流(自营物流)
(4)项目行业:果蔬生鲜类
(5)商业模式 B2C 企业售卖商品给个人
8.项目业务介绍
门店业务:线下实体店、及时达(快递物流)、社区团购、三方平台(在第三方平台开设店铺)
线上商城:线上的B2C的网站
商品批发:app 经销商在app中下单采购
大客户团购:app 公司在app中下单采购
自营商品:商品贴牌
​
线下到线上:
    有线下的连锁商店,为了线上购物需求,开发了网站,app,小程序
    在三方平台开设店铺
    线下商店 根据规模不同可以商品批方 获取企业团购
线上到线下:
    现有线上网站,引入新零售场景,开始发展线下(开设店铺,发展物流)
9.数仓分层架构
(1)传统数仓架构(不考虑需求,全都获取)
    数据是自上而下进行开发 ,上是上游数据。
    在导入数据时,直接将所有数据导入数仓,在根据需求从数仓中筛序数据进行计算
    该架构模式会造成数仓中存储大量无用数据
        用户数据
        订单数据
        商品数据
        业务需求
            计算用户总量
            计算每天新增用户量
            计算每天留存用户量
            月增用户量
            月留存用户量
    传统数仓架构,需求变化快
(2)离线数仓架构(先看需求,只获取需要的,缺点:易导致多个数据集市的数据混乱和不一致)
    自下而上,先确认下游的计算需求,根据计算需求向上找要计算的数据,将需要计算的数据导入数仓
    维度表,分组数据
    事实表,计算内容
        用户主题分析 用到时间维度表 年月日
        商品主题分析 用到时间维度表 时分秒
10.技术架构
-- 技术架构与数仓架构区别:数仓架构描述的是数据处理流程,技术架构描述的是实现数仓用的技术组成
数据源存储
    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.项目人员及开发周期介绍
项目经理
    管控整个项目的开发进度
    进行部门和人员协调
产品经理
    负责产品设计
        网站,app产品
数据分析师或数据产品经理
    负责主题需求设计
数据开发
    进行数仓搭建开发
业务开发
    网站,app
    前端开发
    后端开发
测试开发
    产品测试,检查功能是否完整,计算结果是否正确
大数据运维开发
    大数据软件安装,业务的上线部署,服务器维护
12.项目开发周期
产品调研:说明该项目开发原因,形成立项报告进行审批
数仓设计:设计数仓分层,技术选型,数仓表设计
数仓开发
集成测试:测试数仓开发的代码是否计算正确
上线部署
13.项目服务器选择
物理服务器还是云服务器
    成本问题
    项目中选择物理机 配置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%
14.CDH介绍
--(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架构
--(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.服务器
服务器说明
hadoop01 192.168.88.80
hadoop02 192.168.88.81
账户 root
密码 123456
注意:需要通过域名访问hadoop服务,就需要更改windos下域名解析文件
访问Server: http://hadoop01:7180/cmf/login
账号密码均为admin