实时即未来,大数据项目车联网之驾驶行程采样实时分析(17)
theme: smartblue
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第17天,点击查看活动详情
1. 驾驶行程采样实时分析
总结:驾驶行程采样分别对采样5、10、15、20min,分析四种采样样本数据,通过电量、里程、速度、gps等信息,可视化展示,得出一组最可靠的驾驶行程时间间隔。
2. 驾驶行程指标分析
创建驾驶行程视图,自动关联 hbase 驾驶行程表
讲义关联资料驾驶行程Phoenix创建视图trip_division.md
2.1 里程、SOC、行程消耗时间分析
驾驶行程行驶里程(mileage)、soc消耗(soc_comsuption)、行程时间消耗(time_comsuption),需添加上车架号,服务器时间,指标分析时间这三项基本字段
行程划分指标名称 | 分析指标1 | 分析指标2 | 分析指标3 | 分析类型 |
---|---|---|---|---|
里程-soc-行程消耗时间分析 | mileage | soc_comsuption | time_comsuption | 1 |
高速-中速-低速soc | High_BMS_SOC | Medium_BMS_SOC | Low_BMS_SOC | 2 |
高速-中速-低速里程分析 | High_BMS_Mileage | Medium_BMS_Mileage | Low_BMS_Mileage | 3 |
高速、中速、低速次数分析 | total_high_speed_nums | total_medium_speed_nums | total_low_speed_nums | 4 |
创建mysql结果表
create table vehicle_networking.t_division_result(
`id` int auto_increment comment '主键' primary key,
`vin` varchar(25) not null comment '车架号',
`name` varchar(225) not null comment '行程划分指标名称',
`analyze_value1` varchar(25) not null comment '分析指标1',
`analyze_value2` varchar(25) not null comment '分析指标2',
`analyze_value3` varchar(25) not null comment '分析指标3',
`analyze_type` int(2) not null comment '分析类型:1:里程-soc-行程消耗时间分析,2:高速-中速-低速里程soc消耗分析,
3:高速-中速-低速里程分析,4:高速、中速、低速次数分析,5:其他业务指标分析',
`terminalTime` varchar(25) not null comment '终端采集数据时间',
`processTime` varchar(25) not null comment '指标分析执行时间'
) comment '行程划分指标统计结果表';
- 插入数据语句
insert into vehicle_networking.t_division_result(vin, name, analyze_value1, analyze_value2, analyze_value3, analyze_type, terminalTime, processTime) VALUES (?,?,?,?,?,?,?,?)
- 创建结果表java对象
public class DivisionAnalysis {
private String vin;
private String name;
private String analyzeValue1;
private String analyzeValue2;
private String analyzeValue3;
private float analyzeType;
private String terminalTime;
// 省略getter、setter、construct、toString方法
}
phoenix sql查询
select "rowNum","mileage","soc_comsuption","time_comsuption" from TRIPDB."trip_division"
结果:
phoenix jdbc程序实现当前指标分析,并把结果写入mysql表中
讲义关联资料\TripDivisionPhoenixAnalysis.java
执行结果
2.2 高速、中速、低速soc消耗分析
驾驶行程高速soc消耗:High_BMS_SOC、驾驶行程中速soc消耗:Medium_BMS_SOC、驾驶行程低速soc消耗:Low_BMS_SOC
phoenix sql查询
select "rowNum","High_BMS_SOC","Medium_BMS_SOC","Low_BMS_SOC" from TRIPDB."trip_division"
结果:
phoenix jdbc程序实现当前指标分析,并把结果写入mysql表中
/**
* @desc 驾驶行程高速、中速、低速soc消耗分析
* @throws SQLException
*/
private static void tripDivisionAnalysis2() throws SQLException {
tripDivisionAnalysis("select \"rowNum\",\"High_BMS_SOC\",\"Medium_BMS_SOC\",\"Low_BMS_SOC\" from TRIPDB.\"trip_division\"", "驾驶行程高速-中速-低速soc消耗分析", 2);
}
执行结果
2.3 高速、中速、低速里程分析
驾驶行程高速里程:Medium_BMS_Mileage、驾驶行程中速里程:High_BMS_Mileage、驾驶行程低速里程:Low_BMS_Mileage
phoenix sql查询
select "rowNum","Medium_BMS_Mileage","High_BMS_Mileage","Low_BMS_Mileage" from TRIPDB."trip_division"
结果:
phoenix jdbc程序实现当前指标分析,并把结果写入mysql表中
/**
* @desc 驾驶行程高速、中速、低速里程分析
* @throws SQLException
*/
private static void tripDivisionAnalysis3() throws SQLException {
tripDivisionAnalysis("select \"rowNum\",\"Medium_BMS_Mileage\",\"High_BMS_Mileage\",\"Low_BMS_Mileage\" from TRIPDB.\"trip_division\"", "驾驶行程高速-中速-低速里程分析", 3);
}
执行结果
2.4 高速、中速、低速车次分析
驾驶行程车辆总高速次数:total_high_speed_nums,驾驶行程车辆总中速次数:total_medium_speed_nums,驾驶行程车辆总低速次数:total_low_speed_nums
phoenix sql查询
select "rowNum","total_high_speed_nums","total_medium_speed_nums","total_low_speed_nums" from TRIPDB."trip_division";
结果:
phoenix jdbc程序实现当前指标分析,并把结果写入mysql表中
/**
* @desc 驾驶行程高速、中速、低速车次分析
* @throws SQLException
*/
private static void tripDivisionAnalysis4() throws SQLException {
tripDivisionAnalysis("select \"rowNum\",\"total_high_speed_nums\",\"total_medium_speed_nums\",\"total_low_speed_nums\" from TRIPDB.\"trip_division\"", "驾驶行程高速-中速-低速车次分析", 4);
}
执行结果
2.5 驾驶行程剩余指标业务
驾驶行程剩余指标分析包含:行程开始soc、结束soc、开始位置,结束位置、行程时间消耗、电量消耗、行程状态是否异常等等。
3. 总结
项目数据存储分层
驾驶行程采样分析业务逻辑
驾驶行程分析流程
驾驶行程分析任务实现逻辑
驾驶行程车辆指标分析
- 点赞
- 收藏
- 关注作者
评论(0)