那些年我做过的“学习用”项目
第一个项目:离线数仓(hadoop+flume+kafka+hive)
数据仓库
系统数据流程图
开始就是安装需要用到的软件:
hadoop
zookeeper
kafka
flume
mysql
maxwell
datax
hive
dolphinscheduler
superset
设置进程启停脚本:
lg.sh:运行hadoop102、hadoop103上生产日志数据的jar包,并把数据写入文件app.date.log文件
f1.sh:启动hadoop102、hadoop03上的flume进程,采集日志数据文件app.date.log中的数据到kafka的topic_log主题
mxw.sh:启动hadoop102上的maxwell进程,监控mysql中指定数据库的变化(首先需要开启mysql的binlog),将变化的数据写入kafka的topic_db主题
f2.sh:启动hadoop104上的flume进程,采集kafka的topic_log主题中的日志数据到hdfs中
gen_import_config.py:datax的配置文件生成脚本
gen_import_config.sh:datax的批量配置文件生成脚本
mysql_to_hdfs_full.sh:mysql全量表数据同步至hdfs的脚本
f3.sh:启动hadoop104上的flume进程,采集kafka的topic_db主题中的业务数据到hdfs中
mysql_to_kafka_inc_init.sh:mysql增量表首次全量同步业务数据至kafka
cluster.sh:启动和关闭zookeeper、hadoop、kafka、采集flume–f1、日志消费flume–f2、业务消费flume–f3、maxwell
hdfs_to_ods_log.sh:将hdfs中的日志数据导入hive的ods层中对应的表中
hdfs_to_ods_db.sh:将hdfs中的业务数据导入hive的ods层中对应的表中
ods_to_dim_init.sh:将hive的ods层数据首日装载到dim层中
ods_to_dim.sh:将hive的ods层数据每日装载到dim层中
ods_to_dwd_init.sh:将hive的ods层数据首日装载到dwd层中
ods_to_dwd.sh:将hive的ods层数据每日装载到dwd层中
dwd_to_dws_1d_init.sh:将hive中的dwd层数据 装载dws层最近1日数据表中
dws_1d_to_dws_nd.sh:将hive中的dws层最近1日数据 装载到dws层最近n日数据表中
dws_1d_to_dws_td_init.sh:将hive中的dws层最近1日数据 首日 装载到dws层历史至今数据表中
dws_1d_to_dws_td.sh:将hive中的dws层最近1日数据 每日 装载到dws层历史至今数据表中
dws_to_ads.sh:将dws层数据装载到ads层数据表中
在hive中创建按层次分布的数据仓库–使用DataGrip创建
ADS层
DWS层
DWD层
DIM层
ODS层
将报表数据(ADS层数据)导出到MySQL–使用DataX
使用脚本hdfs_to_mysql.sh:将ADS层数据导入MySQL
启动dolphinscheduler,并通过web ui访问
查看虚拟机进程
管理项目
管理工作流
为每个步骤添加脚本(这些脚本就是之前在虚拟机中编写的脚本)
执行任务
使用superset进行可视化展示
编辑各类表单
查看离线指标看板
- 标题: 那些年我做过的“学习用”项目
- 作者: 宣胤
- 创建于: 2023-04-26 16:34:06
- 更新于: 2023-05-06 19:34:00
- 链接: http://xuanyin02.github.io/2023/042646735.html
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。