采集:Flume/Kafka/Sqoop
存储:Mysql/Hasoop/Hbase
计算:Hive/Tez
查询:Presto/Druid/Kylin
可视化:Superset
任务调度:Azkaban全流程调度
集群监控:Zabbix
元数据管理:Atlas
脚本:Shell
数据仓库
业务数据:在处理事务过程中产生的数据(存储在mysql中,用Sqoop处理到数据仓库中)
用户行为数据:用户与客户端产品交互过程中产生的数据,比如页面浏览、点击、停留等(日志 以文件形式存储,用Flume处理到数据仓库中)
数据仓库“为企业指定决策,提供数据支持的,帮助企业改进业务流程、提高产品质量等。(备份ods、清洗dwd、聚合(dws按天 dwt总计)、统计等)
项目需求
用户行为数据采集平台搭建
业务数据采集平台搭建
数据仓库维度建模
分析,用户,流量,会员,商品,销售,地区,活动等核心主题
采用即席查询工具
对集群性能进行监控
元数据管理
质量监控
一、技术选型
技术选型考虑因素:数据量大小,业务需求,行业内经验,技术成熟度,开发维护成本,总成本预算
数据采集传输:Flume Kafka、Sqoop
数据存储:Mysql(最终数据仓库分析完的数据),HDFS(数仓的数据,海量的数据),HBase,redis,mongoBD
数据计算:Hive,Tez,Spark,Flink,Storm
数据查询:Presto,Druid(实时处理),Impala,Kylin(多维查询)
数据可视化:Superset,Echarts(难一些),QuickBI,DataV
任务调度:Azkaban
集群监控:Zabbix
元数据管理:Atlas
数据质量监控:Shell,Griffin,python
二、系统数据流程设计
web/App业务交互 ——> Nginx——>业务服务器springboot——>mysql业务数据——>Sqoop——>HDFS
web/App前端埋点用户行为数据——>Nginx——>日志springboot——>logFile——>生成Flume——>kafka(削峰)——>消费Flume——>HDFS
——>Hive(ods dwd dws dwt ads)——>Mysql(结果数据)——>数据可视化