1.概念
数据仓库是为企业制定决策,提供数据支持——改善业务流程
1.1 数据输入——三个数据
爬虫
用户行为——flume——Hive(HDFS) on spark(数仓)
业务数据——sqoop——Hive on spark
数据仓库
Azkaban/Oozie/Airflow/DS 全流程调度(任务调度)
1.2 数仓结构——分层
数仓进行备份、清洗、聚合、统计等
ODS——备份
DWD——清洗
形成宽表
DWS——按天聚合
DWT——累计聚合
形成报表
ADS——报表
1.3 数据输出
数仓输出报表系统,表格数据
用户画像
推荐系统
机器学习
2.架构设计
2.1 技术选型
数据采集传输:Flume、Kafaka(缓冲)、Sqoop、Logstash(日志文件)、DataX
数据存储:MySQL(小量数据 ADS)、HDFS(大量数据)、HBase、Redis、MongoDB
数据计算:Hive、Tez、Spark Flink、Storm(实时)
数据查询:Presto、Kylin、Impala、Druid、ClickHouse、Doris
数据可视化:Echarts、Superset、QuickBI、DataV
任务调度:Azkaba、Oozie、DolphinScheduler、Airflow
集群监控:Zabbix(离线)、Prometheus(实时)
元数据管理:Atlas
权限管理:Ranger、Sentry(被除名)
2.2 框架版本选择
选择 Apache 框架
2.3 生产集群
消耗内存的分开
数据传输紧密的放在一起
客户端尽量放在一起,方便外部访问
有依赖的尽量放在一台服务器上