Commit 3466d081 by 黄准

车道指标相关计算逻辑

parent d19c08e9
...@@ -35,6 +35,9 @@ public class LaneNormJob { ...@@ -35,6 +35,9 @@ public class LaneNormJob {
//env.setRestartStrategy( RestartStrategies.fixedDelayRestart(10, Time.seconds(10))); //env.setRestartStrategy( RestartStrategies.fixedDelayRestart(10, Time.seconds(10)));
DataStream<String> cycleStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"signal_cycle_data","laneNormJob1"); DataStream<String> cycleStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"signal_cycle_data","laneNormJob1");
DataStream<String> carStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"trips_event_info","laneNormJob1"); DataStream<String> carStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"trips_event_info","laneNormJob1");
//测试用topic
//DataStream<String> cycleStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"s_data2","laneNormJob1");
//DataStream<String> carStringStream = FlinkUtils.createKafkaStreamHuangzhun(args, env,"t_info2","laneNormJob1");
KeySelector<Cycle, String> cycleKeySelect = new KeySelector<Cycle, String>() { KeySelector<Cycle, String> cycleKeySelect = new KeySelector<Cycle, String>() {
@Override @Override
public String getKey(Cycle cycle) throws Exception { public String getKey(Cycle cycle) throws Exception {
...@@ -79,12 +82,12 @@ public class LaneNormJob { ...@@ -79,12 +82,12 @@ public class LaneNormJob {
//根据corssid 分组 保证同一路口的数据进行一个进程 //根据corssid 分组 保证同一路口的数据进行一个进程
DataStream<Cycle> cycleDataStreamSource = cycleStringStream.map(getCycleFunction).assignTimestampsAndWatermarks(cycleWatermarkStrategy).keyBy(cycleKeySelect); DataStream<Cycle> cycleDataStreamSource = cycleStringStream.map(getCycleFunction).assignTimestampsAndWatermarks(cycleWatermarkStrategy).keyBy(cycleKeySelect);
DataStream<TravelEvent> carStream = carStringStream.map(getTravelEventFunction).assignTimestampsAndWatermarks(travelEventWatermarkStrategy).keyBy(carKeySelector).filter(filterFunction); DataStream<TravelEvent> carStream = carStringStream.map(getTravelEventFunction).assignTimestampsAndWatermarks(travelEventWatermarkStrategy).keyBy(carKeySelector).filter(filterFunction);
ConnectedStreams<Cycle, TravelEvent> cycleTravelEventConnectedStreams = cycleDataStreamSource.connect(carStream).keyBy(cycle -> cycle.getCrossCode(), travelEvent -> travelEvent.getCrossId()); ConnectedStreams<Cycle, TravelEvent> cycleTravelEventConnectedStreams = cycleDataStreamSource.connect(carStream).keyBy(cycle -> cycle.getCrossCode(), travelEvent -> travelEvent.getCrossId());
SingleOutputStreamOperator<List<LaneNorm>> process = cycleTravelEventConnectedStreams.process(new LaneNormProcessFunction()).setParallelism(4); SingleOutputStreamOperator<List<LaneNorm>> process = cycleTravelEventConnectedStreams.process(new LaneNormProcessFunction()).setParallelism(4);
process.addSink(new LaneNormSink()).name(" "); process.addSink(new LaneNormSink()).name(" ");
env.execute("laneNormJob"); env.execute("laneNormJob");
}catch (Exception e){ }catch (Exception e){
e.printStackTrace();
System.out.println("程序异常关闭->"+e); System.out.println("程序异常关闭->"+e);
} }
......
...@@ -52,12 +52,6 @@ public class LaneNormSink extends RichSinkFunction<List<LaneNorm>> { ...@@ -52,12 +52,6 @@ public class LaneNormSink extends RichSinkFunction<List<LaneNorm>> {
if(laneNorms.size()==0){ if(laneNorms.size()==0){
return; return;
} }
/**
* 添加连接判断 防止jdbc 失效
*/
/* if(!DataSourceUtils.isDbConnected(connection)){
connection=DorisUtils.getConnection();
}*/
for (LaneNorm value: laneNorms){ for (LaneNorm value: laneNorms){
insertPstmt.setString(1, value.getCorssId()); insertPstmt.setString(1, value.getCorssId());
insertPstmt.setString(2, value.getLaneId()); insertPstmt.setString(2, value.getLaneId());
......
...@@ -12,7 +12,7 @@ import java.sql.SQLException; ...@@ -12,7 +12,7 @@ import java.sql.SQLException;
**/ **/
public class DataSourceUtils { public class DataSourceUtils {
public static boolean isDbConnected(Connection con) { public static boolean isDbConnected(Connection con) {
//final String CHECK_SQL_QUERY = "SELECT 1"; //final String CHECK_SQL_QUERY = "SELECT 1";
try { try {
if(con != null && con.isValid(1000)){ if(con != null && con.isValid(1000)){
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment