5.道路卡口摄像头的异常状态统计
package camera import org.apache.spark.SparkConf import org.apache.spark.sql.SparkSession // 摄像异常状态的功能代码 object CameraAbnormality { def main(args: Array[String]): Unit = { val conf = new SparkConf().setAppName("camera").setMaster("local[*]") val session = SparkSession.builder().config(conf).getOrCreate() val map = Map[String, String]("mode" -> "FAILFAST", "inferSchema" -> "true") val frame1 = session.read.options(map).csv("hdfs://HadoopCluster/cameras.csv") // 卡口摄像头数据 // 卡口id: 区域id-街道id-卡口编号 // 摄像头id: 1-8 val cameras = frame1.toDF("monitorId", "cameraId") val frame2 = session.read.options(map).csv("hdfs://HadoopCluster/project/20220913/*") // 车流量信息 // 车辆通过时间 卡口编号 摄像头编号 通过车辆车牌 某个摄像头拍摄时间 单位:秒 通过卡口的速度 道路id 区域id // 2022-09-13, 5-23-63, 3, 晋KIFWNQ, 2022-09-13 15:47:47, 17, 23, 5 // todayDate monitorId camera_id chepai actionTime speed roadId areaId val flow = frame2.toDF("todayDate", "monitorId", "cameraId", "chepai", "actionTime", "speed", "roadId", "areaId") cameras.createTempView("cameras") flow.createTempView("flow") // cameras.show(10) // flow.show(10) val frame = session.sql( "select a.monitorId, a.cameraId " + "from cameras as a " + "left join flow as b " + "on a.monitorId = b.monitorId and a.cameraId = b.cameraId " + "where b.chepai is null " + "order by a.monitorId") frame.show(200) session.stop() } }
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16695635.html
分类:
日报
, 大数据实训_2----智慧交通卡口流量项目的技术
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?