文章目录
一.需求描述
数据仓库( Data Waehouse ) 是为企业所有决策制定过程,提供所有系统数据支持的战略集合。通过对数据仓库中数据的分析,可以帮助企业,改进业务流程、控制成本、提高产品质量等。
数据仓库,并不是数据的最终目的地,而是为数据最终的目的地做好准备。这些准备包括对数据的:清洗,转义,分类,重组,合并,拆分,统计等等。
1)项目大致需求
- 1)用户行为数据采集平台搭建
- 2)业务数据采集平台搭建
- 3)数据仓库维度建模
- 4)分析,用户、流量、会员、商品、销售、地区、活动等电商核心主题
- 5)采用即席查询工具,随时进行指标分析
- 6)对集群性能进行监控,发生异常需要报警。
- 7)元数据管理
- 8)质量监控
2)需考虑的问题
- 1)项目技术如何选型?
- 2)框架版本如何选型?(Apache、 CDH、HDP)
- 3)服务器使用物理机还是云主机?
- 4)如何确认集群规模? (项目的数据规模计算)
二.项目框架及选型
1.技术选型
1)技术选型主要考虑因素:
- 业务需求
- 数据量大小
- 行业内经验、技术成熟度
- 开发维护成本
- 总成本预算
2)可选择技术:
- 数据采集传输: Flume,Kafka,Sqoop,Logstash, DataX
- 数据存储: MySql,HDFS,HBase, Redis,MongoDB
- 数据计算: Hive,Spark,Flink,Tez, Storm
- 数据查询: Presto,Kylin,Impala,Druid
- 数据可视化: Echarts、 Superset、QuickBI、DataV
- 任务调度: Azkaban、 Oozie .
- 集群监控:Zabbix
- 元数据管理: Atlas
2.项目架构与数据流程
系统数据处理流程:
数据仓库的输入数据源和输出系统分别是:
- 输入系统:埋点产生的用户行为数据、JavaEE后台产生的业务数据
- 输出系统:报表系统、用户画像系统、推荐系统
3.框架版本选择
1)Hadoop发行版本选择
Hadoop三大发行版本Apache/CDH/HDP如何选择?
- a)Apache: 开源、稳定、使用较多;但运维麻烦,组件间兼容性需要自己调研 (建议使用)
- b)CDH: 国内使用最多的版本,但CM不开源,并且开始要收费,一个节点1万美金
- Cloudera Manager是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得安装集群从几天的时间缩短在几个小时内,运维人员从数十人降低到几人以内,极大的提高集群管理的效率。
- c)HDP:开源,可以进行二次开发,但是没有CDH稳定,国内使用较少
2)Apache框架版本具体型号
产品 | 版本 |
---|---|
Hadoop | 2.7.2、 3.1.3 |
Flume | 1.7.0、 1.9.0 |
Kafka | 0.11.0.2、2.4.1 |
Hive | 2.3、3.1.2 |
Spark | 2.4.5 |
Sqoop | 1.4.6 |
MySQL | 5.7.29 |
Azkaban | 2.5.0 |
Java | 1.8 |
Zookeeper | 3.4.10、3.5.7 |
Kylin | 3.0.1 |
HBase | 2.2.4 |
Presto | 0.196 |
注意事项:框架选型尽量不要选择最新的框