运输公司车辆超速实时监测

在本节我们将实现一个Flink实时流应用程序,用来监测运输车辆是否超速,并在超速时给出报警信息。

主要内容包括:

  • 需求说明
  • 自定义数据源实现(Scala、Java)
  • 流处理管道实现(Scala、Java)
  • 程序执行步骤和结果

需求说明

让我们想象一个物流公司车队管理解决方案,其中车队中的车辆启用了无线网络功能。每辆车定期报告其地理位置和许多操作参数,如燃油水平、速度、加速度、轴承、发动机温度等。物流公司希望利用这一遥测数据流来实现一系列应用程序,以帮助公司提高业务运营和财务方面的管理效率。

假设公司现在希望我们实现其中的车辆超速实时监测功能,用来检查运输车辆是否超速。为此我们将创建一个简单的Flink实时流应用程序来计算车辆每几秒钟的平均速度。

在这个案例中,我们使用Kafka作为流数据源,将从Kafka的“cars”主题来读取这些事件。同时也将Kafka作为流的Data Sink,检测出的超速事件将写入到Kafka的“fastcars”主题。

自定义数据源

为了模拟车辆向我们发送传感器数据,我们将创建一个Kafka producer,它将id、speed、acce ......

......

抱歉,只有登录会员才可浏览!会员登录


《Spark原理深入与编程实战》