任务描述
掌握项目的总体功能,及实现流程。预习项目中所使用到的技术和知识点。
任务指导
一、项目效果展示
图1-数据统计大屏页面
图2-航空实时监控页面
二、项目架构
1、总体架构:
2、技术架构
- 技术清单:
功能 | 组件 | 说明 |
---|---|---|
消息中间件 | Kafka | 数据缓冲 |
数据采集和清洗 | Spark Streaming | 实时数据处理 |
存储 | HDFS | 分布式文件系统 |
HBase | 分布式列式存储 | |
MySQL | 关系数据库 | |
实时计算 | Spark Streaming | 分布式实时数据处理 |
监控管理调度运维 | YARN | 分布式资源调度分配 |
Zookeeper | 集群节点协调 | |
ELK | 运行日志监控 | |
项目开发框架 | Spring Boot | 项目后端开发框架 |
Vue | 项目前端开发框架 |
三、项目主要涉及的技术
1、技术选型:项目的解决方案
以Vue+ECharts图标库为前端,SpringBoot为后端,以Hadoop HDFS为底层存储,Spark作为数据清洗和计算完成以上架构实现。
- 实时数据采集:SparkStreaming
- 中间件:Kafka
- 数据计算分析框架:Spark
- 数据存储,持久化:HDFS,HBase
- 对外暴露查询接口:SpringBoot
2、平台总体分为4个层级,按数据流入及数据处理顺序,依次分为
1)数据导入层
数据导入需满足以下要求:
- 已开启Hadoop HDFS框架环境,已开启HBase框架环境;
- 数据导入期间不进行任何操作,防止节点终端造成数据冗余;
- 高可用:在down掉一个节点后不影响数据传输。
2)数据存储层
- 数据存储方式多样,对于非结构化的文件类数据存储在HDFS;
- 对于海量的业务数据主要存储在HBase,方便进行操作。
3)数据分析层
4)应用层
应用层主要为前端可视化用:
- 可视化平台:对数据进行分析和展示,提供多种多维度报表和图表展示。
- 实时飞行轨迹:主要根据历史数据进行数据模拟飞行,通过读取历史数据上传到Kafka消息队列。SparkStreaming读取数据后根据电子围栏api获得清洗后扇区数据并保存到MySQL中,供后端调用。
四、参考资料
- 《Linux操作系统》
- 《大数据开发技术(Hadoop)》
- 《Python语言程序设计》、《Python高级应用》
- 《Hive快速大数据分析》
- 《数据分析与实战(Python)》
- 《数据可视化技术》