项目简介
通过大数据技术架构,解决工业物联网制造行业的数据存储和分析、可视化、个性化推荐问题。一站制造项目主要基于Hive数仓分层来存储各个业务指标数据,基于sparkSQL做数据分析。核心业务涉及运营商、呼叫中心、工单、油站、仓储物料。
推荐教程:大数据Hive+Spark离线数仓工业项目实战
项目介绍及环境构建
1. 项目目标
- 项目1:在线教育
- 学习如何做项目,项目中大数据工程师要负责实现的内容和流程
- 学习数仓基础理论:建模、分层
- 项目2:一站制造
- 企业中项目开发的落地:代码开发
- 代码开发:SQL【DSL + SQL】
- SparkCore
- SparkSQL
- 数仓的一些实际应用:分层体系、建模实现
2. 内容目标
- 项目业务介绍:背景、需求
- 项目技术架构:选型、架构
- 项目环境测试
- **目标**:了解项目应用背景
- **实施**
- **工业**
- 产业分类
- 第一产业:植业、林业、畜牧业、水产养殖业等直接以自然物为生产对象的产业
- 第二产业:工业、建筑业
- 第三产业:交通运输业、通讯产业、商业、餐饮业、金融业、教育产业
- 定义:属于第二产业,指的是采集原料,并把它们加工成产品的工作和过程
- 划分
- 开采业:对自然资源的开采,对采矿、晒盐、森林采伐等
- 加工业:粮油加工、食品加工、 轧花、缫丝、纺织、制革等
- 制造业:炼铁、炼钢、化工生产、 石油加工、机器制造、木材加工等,以及电力、自来水、煤气的生产和供应等
- 机修业:对工业品的修理、翻新,如机器设备的修理、 交通运输工具的修理等
物理网:IOT**(Internet Of Things)
- 定义:指的是互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络
- 特点
- 物物相连
- 远程监控和设备控制
- 设备自动化,提升用户体验
- 设备故障分析处理
- 场景
- 智能设备:手机、平板、手表、眼镜、汽车
- 智能家居:门、空调、洗衣机、水壶、窗帘、灯具、马桶、牙刷
- 智能机器人:语音助手、家庭管家、工业机器手臂、快递机器人
- ……
- **工业物联网:IIOT**(Industrial Internet of Things)
- 定义:指数以亿计的工业设备,在这些设备上装置传感器,连接到网络以收集和共享数据
- 发展
- IDC预测,**到2024年全球物联网的联接量将接近650亿,是手机联接量的11.4倍**
小结
- 了解项目应用背景
- **目标**:**掌握项目业务需求**
- 这个项目属于哪个行业?
- 为什么要做这个项目?
- 这个项目的目的是什么?
- **实施**
- **项目行业**:工业大数据
- **项目名称**:加油站服务商数据运营管理平台
- 中石化,中石油,中海油、壳牌,道达尔……
- **整体需求**
基于加油站的设备安装、维修、巡检、改造等数据进行统计分析
支撑加油站站点的设备维护需求以及售后服务的呼叫中心数据分析
提高服务商服务加油站的服务质量
保障零部件的仓储物流及供应链的需求
实现服务商的所有成本运营核算
```
- **具体需求**
- 运营分析:呼叫中心服务单数、设备工单数、参与服务工程师个数、零部件消耗与供应指标等
- 设备分析:设备油量监控、设备运行状态监控、安装个数、巡检次数、维修次数、改造次数
- 呼叫中心:呼叫次数、工单总数、派单总数、完工总数、核单次数
- 员工分析:人员个数、接单次数、评价次数、出差次数
- 报销统计分析、仓库物料管理分析、用户分析
- **报表**
- **小结**
- 这个项目属于哪个行业?
- 工业化大数据平台
- 行业:加油站服务商运营数据分析平台
- 为什么要做这个项目?
- 基于所有设备的安装、维修、巡检、改造的工单数据,辅助公司的运营,提高服务质量,做合理的成本预算
- 这个项目具体需求是什么?
- 提高服务质量,做合理的成本预算
- 需求一:对所有工单进行统计分析
- 安装工单、维修工单、巡检工单、改造工单、回访分析
- 需求二:付费分析、报销分析
- 安装人工费用、安装维修材料费用、差旅交通费用
业务流程
- **目标**:**掌握加油站设备维护的主要业务流程**
- **实施**
- step1:加油站服务商联系呼叫中心,**申请服务**:安装/巡检/维修/改造加油机
- step2:呼叫中心联系对应服务站点,**分派工单**:联系站点主管,站点主管分配服务人员
- step3:服务人员**确认工单**和加油站点信息
- step4:服务人员在指定日期到达加油站,进行**设备检修**
- step5:如果为安装或者巡检服务,安装或者巡检成功,则服务完成
- step6:如果为维修或者改造服务,需要向服务站点**申请物料**,物料到达,实施结束,则**服务完成**
- step7:服务完成,与加油站站点服务商确认服务结束,完成**订单核验**
- step8:工程师**报销**过程中产生的费用
- step9:呼叫中心会定期对该工单中的工程师的服务做**回访**
- **小结**
- 掌握加油站设备维护的主要业务流程
- **工单分析、费用分析、物料分析、回访分析**
技术选型
- **目标**:**掌握加油站服务商数据运营平台的技术选型**
- **实施**
- **数据生成**:业务数据库系统
- Oracle:工单数据、物料数据、服务商数据、报销数据等
- **数据采集**
- Sqoop:离线数据库采集
- **数据存储**
- Hive【HDFS】:离线数据仓库【表】
- **数据计算**
- **SparkCore**:类MR开发方式【写代码调用方法函数来处理:面向对象 + 面向函数】
- 对非结构化数据进行代码处理
- 场景:ETL
- **SparkSQL**:类HiveSQL开发方式【面向表】
- 对数据仓库中的结构化数据做处理分析
- 场景:统计分析
- 开发方式
- DSL:使用函数【DSL函数 + RDD函数】
- SQL:使用SQL语句对表的进行处理
- 功能:离线计算 + 实时计算
- 注意:SparkSQL可以解决所有场景的分布式计算,离线计算的选型不仅仅是SparkSQL
- SparkSQL/Impala/Presto
- 使用方式
- Python/Jar:spark-submit
- ETL
- **==ThriftServer:SparkSQL用于接收SQL请求的服务端,类似于Hive的Hiveserver2==**
- **PyHive :Python连接SparkSQL的服务端,提交SQL语句**
- JDBC:Java连接SparkSQL的服务端,提交SQL语句
- spark-sql -f :运行SQL文件,类似于hive -f
- beeline:交互式命令行,一般用于测试
- **数据应用**
- MySQL:结果存储
- Grafana:数据可视化工具
- **监控工具**
- Prometheus:服务器性能指标监控工具
- **调度工具**
- AirFlow:任务流调度工具
- **技术架构**
小结
- 本次项目的技术架构是什么?
- Lambda架构:离线计算层 + 实时计算层 + 数据服务层
- 项目中用到了哪些技术?
- 数据生成:Oracle
- 数据采集:Sqoop
- 数据存储:Hive
- 数据处理:SparkSQL
- 数据应用:MySQL + Grafana
- 数据监控:Prometheus
- 任务调度:AirFlow
- 版本控制:Git + Gitee
- 资源容器:Docker