基于Hadoop,的盗窃案件统计流程设计与开发

来源:优秀文章 发布时间:2023-01-19 点击:

唐红杰

(辽宁警察学院 公安信息系,辽宁 大连 116036)

随着我国经济社会的不断发展,财产型犯罪特别是盗窃犯罪有不断增加的趋势,影响了社会的和谐稳定。基于此,本研究试图将盗窃案件大数据集进行分类汇总,统计出 X 市盗窃案件中各副类别发生的频次,以便于公安机关对盗窃类案件进行有针对性的预防和应对处理。以此类推,也可以将研究过程和研究结果加以借鉴,应用于其他案件的统计分析和应对处置中。

本研究结合公安实践,进行深入调查研究,再进行脱敏处理,得到盗窃类案件的大数据集。大数据集中涵盖如下字段信息:

案件编号,案件主类别,案件副类别,案件名称,金额,案件来源,案发时间上限,案发时间下限,案发地址,受案时间,报案时间

下面列举出其中的两条样例数据:

A20200316092005,盗窃,单位室内盗窃,王某元被盗案,5200 元,事主发现,2020 年03月16 日21 时05 分00 秒,2020 年03 月17 日08 时20 分00 秒,X 市Y 区,2020 年03 月17日21 时05 分49 秒,2020 年03 月17 日08 时20 分11 秒

A20201008020152,盗窃,盗窃电动车,章某安被盗案,3000 元,事主发现,2020 年10 月7 日22 时00 分00 秒,2020 年10 月8 日08 时20 分00 秒,X 市Z 区,2020 年10 月8 日10 时05 分38 秒,2020 年10 月8 日16 时40 分35 秒

本研究的目的是针对以上数据格式的盗窃案件大数据集,依据案件副类别进行统计分析,如统计出“单位室内盗窃”该副类别的案件数量,继而根据盗窃案件各副类别发生的频次,有针对性、有目标性地进行预防和处置,以便更好地服务于公安工作。

Hadoop是Apache开放基金会组织推出的集分布式存储和分布式计算处理于一身的大数据平台,它具有高效、可靠、分布式、可扩展等特点。该平台能够在相对廉价的计算机集群中使用相对简单的计算框架来处理大规模数据集,这与传统的分布式存储和分布式计算处理主要依赖于高价格、高性能基础硬件的方式完全不同[1]。计算机集群可以从单个服务器扩展到数百个甚至数千个,每个服务器均可提供本地数据存储和计算处理;
主要在应用层完成故障检测和修复处理,以此来保证整个集群的高可用性。

HDFS分布式文件系统是Hadoop平台中负责存储的核心组件。它具有存储量大、容错性高、吞吐力强、扩展性好、负载均衡等特点。MapReduce分布式并行计算框架,采用“分而治之”的策略,设计理念是“计算向数据靠拢”,而不是“数据向计算靠拢”,大大地降低了网络传输开销[2]。在具体处理过程中,HDFS分布式文件系统会将存储的大规模数据集,首先切分成众多相对独立的分片,这些独立的分片会被分配给同样众多的Map任务并行处理;
Map任务处理完的结果形成“键-值”对样式的输出集,即输出集,这个输出集作为下一阶段Reduce 任务的输入;
Reduce 任务根据关键字进行值的分类汇总[3-4],处理逻辑如图1 所示。

图1 MapReduce 数据处理逻辑

为了达到前述研究目的,本研究借助Hadoop 大数据相关处理技术,安装、配置、启动Hadoop 大数据处理平台;
将盗窃案件的大数据集上传到 HDFS 分布式文件系统中指定的路径(文件夹)下,利用 Java 语言编写并执行MapReduce 程序,进行盗窃案件副类别的统计分析,最后得到分析结果,用于指导实践。

(一)整体处理流程

本研究中,Map任务处理阶段处理X市盗窃案件副类别统计分析,主要设计思路是从数据集的每行文本中提取出案件副类别列,每遇到一个案件副类别则将其转换成一个,即“键-值”对的形式[5-6]。例如“单位室内盗窃”,转换成<“单位室内盗窃”,1>发送给Reduce任务去汇总;
Reduce任务处理阶段将接收Map任务的结果,按照key对value做汇总计数。

MapReduce 程序具体实现过程如下:

1.整个处理过程的实现包括 Map 端程序、Reduce 端程序、Driver 端主控程序或驱动程序。

2.Map 端程序要求数据的输入格式为单个的“键-值”对形式。

3.经过Map 端程序的执行,会输出一组“键-值”对形式的中间结果。

4.Map 端程序的处理任务主要放在从父类继承并重写的map()方法中进行。Map 任务对每一个“键-值”对都会调用一次map()方法。

5.Map 端程序输出的数据,即“键-值”对组,作为Reduce 端程序的输入数据,继续处理。

6.Reduce 端程序的处理任务主要放在从父类继承并重写的reduce()方法中进行。

7.针对具有相同关键字即相同值的组,Reduce 任务会不断调用reduce()方法,直到数据集处理完毕。

8.整个流程最终需要一个主控程序或驱动程序即Driver 端程序来进行提交、运行。

(二)Map 端程序

Map 阶段处理X 市盗窃案件副类别统计分析,主要设计思路是从每行文本中提取出案件副类别列,每遇到一个案件副类别则将其转换成一个对,如“单位室内盗窃”,转换成<“单位室内盗窃”,1>发送给Reduce 端去汇总。

Map 端程序编写思路如下:

1.利用集成开发环境Eclipse,在Eclipse 中创建相应的包和类。例如创建名称为 “Theft-Mapper” 的class 文件。

2.TheftMapper 类继承 Mapper 父类,TheftMapper 类的数据输入格式及数据输出格式,如前所述,都是对的形式。输入数据中的key 为一行文本的起始偏移量,输入数据中的value 为一行文本的内容;
输出数据中的key 为案件副类别,输出数据中的value 为每个副类别对应的次数1。

3.TheftMapper 中的用户自定义业务逻辑写在map()方法中,获取每行文本,使用toString()方法将文本转化为字符串,使用split()方法依据分隔符来切分每行文本,提取案件副类别一列,将案件副类别作为key,将次数1 作为value。

(三)Reduce 端程序

Reduce 阶段的任务是将接收到的Map 阶段处理结果,按照key 对value 做汇总计数。

Reduce 端程序具体实现过程如下:

1.创建名为“TheftReducer”的class 文件。

2.自定义的TheftReducer 类继承Reducer 父类,如前所述,Reducer 的输入和输出数据都是“键-值”对的形式:输入数据中的key 为案件副类别,输入数据中的value 为每个副类别对应的次数1;
输出结果中的key 为案件副类别,输出结果中的value 为每个副类别对应的总次数。

3.TheftReducer 中的用户自定义业务逻辑写在reduce()方法中,定义计数器totalNumber,用作每个案件副类别的结果汇总,初始值为0;
遍历一组迭代器,进行累积求和;
将案件副类别作为 key,将每个副类别对应的总次数作为 value输出。

(四)Driver 端程序

Driver 端程序相当于主控程序或驱动程序,具体实现过程如下:

1.创建名为“TheftMain”的class 文件。

2.创建配置文件对象,要求程序使用本地运行模式,需要处理的盗窃案件输入数据集和最终的统计结果均在HDFS 分布式文件系统中,需要配置参数:conf.set(“fs.defaultFS”,“hdfs://local host:9000”)。

3.使用Job.getInstance()创建一个Job 对象。

4.使用Job 对象的setJarByClass()方法打包作业。

5.使用Job 对象的setMapperClass()方法和setReducerClass()方法分别指定自定义的Mapper类和Reducer 类。

6.使用Job 对象的setOutputKeyClass()方法和setOutputValueClass()方法指定ReduceTask 的输出类型:输出key 为案件副类别;
输出value 为每个副类别对应的总次数。

7.设置输入输出文件目录:使用HDFS Shell的创建目录命令,在HDFS 的根目录(/)下,级联创建theft/input 目录。使用FileInputFormat.setInputPaths() 方法设置输入目录为/theft/input;
使用FileOutputFormat.setOutputPath() 方法设置输出文件目录为/theft/output。

8.使用Job 对象的waitForCompletion()方法提交并运行作业。

有两种途径可以查看统计结果:一是使用HDFS Shell 命令来查看,结果存储在HDFS 分布式文件系统的指定路径,即/theft/output 目录下的“part-r-00000”文件中,该文件由程序运行后自动生成;
二是直接在Java 集成开发环境Eclipse中查看。盗窃类案件统计结果显示:居民室内盗窃406 起,盗窃电动车399 起,单位室内盗窃112 起,盗窃居民小区车辆112 起,盗窃汽车内物品87 起,盗窃街面车辆70 起,盗窃路边店70 起,如图2 所示。

图2 盗窃类案件统计结果

根据上述统计结果,可以看出居民室内盗窃、盗窃电动车、单位室内盗窃、居民小区车辆盗窃等类型的盗窃案件发生频率较高,而盗窃街面汽车、盗窃路边店、盗窃电缆线及“三电”设施、盗窃浴室更衣柜财物、拎包盗窃等类型盗窃案件发生频率次之,盗窃空调外机、车辆燃油、车辆轮胎等类型的盗窃案件发生频率较低。由此可见,盗窃案件的作案地点多是有选择性的,一般多发生于无人看管的居民室内、单位室内,多集中于居民小区内的车辆以及方便盗走的电动车上;
盗窃财物也大多是易于携带和方便转移的,盗窃空调外挂机、车辆燃油、车辆轮胎类案件相对较少。

根据上述分析,公安民警可以将盗窃案件防范工作的重点放在居民室内、单位室内;
尤其是放在主人外出而空置的房屋居所以及居民小区内的车辆和电动车上。对于临街铺面、路边店,这些明显暴露于犯罪分子视线内,易于踩点、方便进出的地方也应加强巡逻和管控,以便及时发现可疑分子,防患于未然,在盗窃案件发生后,能够更积极有效地进行应对和处置。与此同时,还可以在居民小区、企事业单位、临街商铺中,综合采取宣传走访、网络互动、定期科普等方式,提高广大人民群众预防盗窃的警惕性,做到多管齐下、未雨绸缪,从而更高效、更精准地预防和处置盗窃案件,保证人民群众的生命财产安全。

猜你喜欢 汇总类别程序 常用缩略语汇总医药与保健(2022年2期)2022-04-19论陶瓷刻划花艺术类别与特征陶瓷学报(2021年4期)2021-10-14源流2020年目录汇总源流(2021年1期)2021-07-28系统抽样的非常规题汇总中学生数理化·高一版(2021年2期)2021-03-19一起去图书馆吧少儿画王(3-6岁)(2020年4期)2020-09-13给Windows添加程序快速切换栏电脑爱好者(2020年6期)2020-05-26试论我国未决羁押程序的立法完善人大建设(2019年12期)2019-05-21“程序猿”的生活什么样瞭望东方周刊(2017年42期)2017-12-052013—2017年市人大常委会执法检查项目汇总上海人大月刊(2017年9期)2017-10-11英国与欧盟正式启动“离婚”程序程序环球时报(2017-03-30)2017-03-30推荐访问:盗窃 案件 流程
上一篇:我国会计代理记账行业发展的现状和对策分析
下一篇:构建体育新发展格局视域下我国体育服务综合体发展的影响因素研究

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有