国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Hadoop 的盜竊案件統(tǒng)計流程設(shè)計與開發(fā)

2022-10-21 06:51:00唐紅杰
遼寧警察學(xué)院學(xué)報 2022年5期
關(guān)鍵詞:匯總類別程序

唐紅杰

(遼寧警察學(xué)院 公安信息系,遼寧 大連 116036)

隨著我國經(jīng)濟(jì)社會的不斷發(fā)展,財產(chǎn)型犯罪特別是盜竊犯罪有不斷增加的趨勢,影響了社會的和諧穩(wěn)定?;诖?,本研究試圖將盜竊案件大數(shù)據(jù)集進(jìn)行分類匯總,統(tǒng)計出 X 市盜竊案件中各副類別發(fā)生的頻次,以便于公安機(jī)關(guān)對盜竊類案件進(jìn)行有針對性的預(yù)防和應(yīng)對處理。以此類推,也可以將研究過程和研究結(jié)果加以借鑒,應(yīng)用于其他案件的統(tǒng)計分析和應(yīng)對處置中。

本研究結(jié)合公安實踐,進(jìn)行深入調(diào)查研究,再進(jìn)行脫敏處理,得到盜竊類案件的大數(shù)據(jù)集。大數(shù)據(jù)集中涵蓋如下字段信息:

案件編號,案件主類別,案件副類別,案件名稱,金額,案件來源,案發(fā)時間上限,案發(fā)時間下限,案發(fā)地址,受案時間,報案時間

下面列舉出其中的兩條樣例數(shù)據(jù):

A20200316092005,盜竊,單位室內(nèi)盜竊,王某元被盜案,5200 元,事主發(fā)現(xiàn),2020 年03月16 日21 時05 分00 秒,2020 年03 月17 日08 時20 分00 秒,X 市Y 區(qū),2020 年03 月17日21 時05 分49 秒,2020 年03 月17 日08 時20 分11 秒

A20201008020152,盜竊,盜竊電動車,章某安被盜案,3000 元,事主發(fā)現(xiàn),2020 年10 月7 日22 時00 分00 秒,2020 年10 月8 日08 時20 分00 秒,X 市Z 區(qū),2020 年10 月8 日10 時05 分38 秒,2020 年10 月8 日16 時40 分35 秒

本研究的目的是針對以上數(shù)據(jù)格式的盜竊案件大數(shù)據(jù)集,依據(jù)案件副類別進(jìn)行統(tǒng)計分析,如統(tǒng)計出“單位室內(nèi)盜竊”該副類別的案件數(shù)量,繼而根據(jù)盜竊案件各副類別發(fā)生的頻次,有針對性、有目標(biāo)性地進(jìn)行預(yù)防和處置,以便更好地服務(wù)于公安工作。

一、大數(shù)據(jù)相關(guān)技術(shù)優(yōu)勢

Hadoop是Apache開放基金會組織推出的集分布式存儲和分布式計算處理于一身的大數(shù)據(jù)平臺,它具有高效、可靠、分布式、可擴(kuò)展等特點。該平臺能夠在相對廉價的計算機(jī)集群中使用相對簡單的計算框架來處理大規(guī)模數(shù)據(jù)集,這與傳統(tǒng)的分布式存儲和分布式計算處理主要依賴于高價格、高性能基礎(chǔ)硬件的方式完全不同[1]。計算機(jī)集群可以從單個服務(wù)器擴(kuò)展到數(shù)百個甚至數(shù)千個,每個服務(wù)器均可提供本地數(shù)據(jù)存儲和計算處理;主要在應(yīng)用層完成故障檢測和修復(fù)處理,以此來保證整個集群的高可用性。

HDFS分布式文件系統(tǒng)是Hadoop平臺中負(fù)責(zé)存儲的核心組件。它具有存儲量大、容錯性高、吞吐力強(qiáng)、擴(kuò)展性好、負(fù)載均衡等特點。MapReduce分布式并行計算框架,采用“分而治之”的策略,設(shè)計理念是“計算向數(shù)據(jù)靠攏”,而不是“數(shù)據(jù)向計算靠攏”,大大地降低了網(wǎng)絡(luò)傳輸開銷[2]。在具體處理過程中,HDFS分布式文件系統(tǒng)會將存儲的大規(guī)模數(shù)據(jù)集,首先切分成眾多相對獨立的分片,這些獨立的分片會被分配給同樣眾多的Map任務(wù)并行處理;Map任務(wù)處理完的結(jié)果形成“鍵-值”對樣式的輸出集,即輸出集,這個輸出集作為下一階段Reduce 任務(wù)的輸入;Reduce 任務(wù)根據(jù)關(guān)鍵字進(jìn)行值的分類匯總[3-4],處理邏輯如圖1 所示。

圖1 MapReduce 數(shù)據(jù)處理邏輯

二、流程設(shè)計與開發(fā)

為了達(dá)到前述研究目的,本研究借助Hadoop 大數(shù)據(jù)相關(guān)處理技術(shù),安裝、配置、啟動Hadoop 大數(shù)據(jù)處理平臺;將盜竊案件的大數(shù)據(jù)集上傳到 HDFS 分布式文件系統(tǒng)中指定的路徑(文件夾)下,利用 Java 語言編寫并執(zhí)行MapReduce 程序,進(jìn)行盜竊案件副類別的統(tǒng)計分析,最后得到分析結(jié)果,用于指導(dǎo)實踐。

(一)整體處理流程

本研究中,Map任務(wù)處理階段處理X市盜竊案件副類別統(tǒng)計分析,主要設(shè)計思路是從數(shù)據(jù)集的每行文本中提取出案件副類別列,每遇到一個案件副類別則將其轉(zhuǎn)換成一個,即“鍵-值”對的形式[5-6]。例如“單位室內(nèi)盜竊”,轉(zhuǎn)換成<“單位室內(nèi)盜竊”,1>發(fā)送給Reduce任務(wù)去匯總;Reduce任務(wù)處理階段將接收Map任務(wù)的結(jié)果,按照key對value做匯總計數(shù)。

MapReduce 程序具體實現(xiàn)過程如下:

1.整個處理過程的實現(xiàn)包括 Map 端程序、Reduce 端程序、Driver 端主控程序或驅(qū)動程序。

2.Map 端程序要求數(shù)據(jù)的輸入格式為單個的“鍵-值”對形式。

3.經(jīng)過Map 端程序的執(zhí)行,會輸出一組“鍵-值”對形式的中間結(jié)果。

4.Map 端程序的處理任務(wù)主要放在從父類繼承并重寫的map()方法中進(jìn)行。Map 任務(wù)對每一個“鍵-值”對都會調(diào)用一次map()方法。

5.Map 端程序輸出的數(shù)據(jù),即“鍵-值”對組,作為Reduce 端程序的輸入數(shù)據(jù),繼續(xù)處理。

6.Reduce 端程序的處理任務(wù)主要放在從父類繼承并重寫的reduce()方法中進(jìn)行。

7.針對具有相同關(guān)鍵字即相同值的組,Reduce 任務(wù)會不斷調(diào)用reduce()方法,直到數(shù)據(jù)集處理完畢。

8.整個流程最終需要一個主控程序或驅(qū)動程序即Driver 端程序來進(jìn)行提交、運(yùn)行。

(二)Map 端程序

Map 階段處理X 市盜竊案件副類別統(tǒng)計分析,主要設(shè)計思路是從每行文本中提取出案件副類別列,每遇到一個案件副類別則將其轉(zhuǎn)換成一個對,如“單位室內(nèi)盜竊”,轉(zhuǎn)換成<“單位室內(nèi)盜竊”,1>發(fā)送給Reduce 端去匯總。

Map 端程序編寫思路如下:

1.利用集成開發(fā)環(huán)境Eclipse,在Eclipse 中創(chuàng)建相應(yīng)的包和類。例如創(chuàng)建名稱為 “Theft-Mapper” 的class 文件。

2.TheftMapper 類繼承 Mapper 父類,TheftMapper 類的數(shù)據(jù)輸入格式及數(shù)據(jù)輸出格式,如前所述,都是對的形式。輸入數(shù)據(jù)中的key 為一行文本的起始偏移量,輸入數(shù)據(jù)中的value 為一行文本的內(nèi)容;輸出數(shù)據(jù)中的key 為案件副類別,輸出數(shù)據(jù)中的value 為每個副類別對應(yīng)的次數(shù)1。

3.TheftMapper 中的用戶自定義業(yè)務(wù)邏輯寫在map()方法中,獲取每行文本,使用toString()方法將文本轉(zhuǎn)化為字符串,使用split()方法依據(jù)分隔符來切分每行文本,提取案件副類別一列,將案件副類別作為key,將次數(shù)1 作為value。

(三)Reduce 端程序

Reduce 階段的任務(wù)是將接收到的Map 階段處理結(jié)果,按照key 對value 做匯總計數(shù)。

Reduce 端程序具體實現(xiàn)過程如下:

1.創(chuàng)建名為“TheftReducer”的class 文件。

2.自定義的TheftReducer 類繼承Reducer 父類,如前所述,Reducer 的輸入和輸出數(shù)據(jù)都是“鍵-值”對的形式:輸入數(shù)據(jù)中的key 為案件副類別,輸入數(shù)據(jù)中的value 為每個副類別對應(yīng)的次數(shù)1;輸出結(jié)果中的key 為案件副類別,輸出結(jié)果中的value 為每個副類別對應(yīng)的總次數(shù)。

3.TheftReducer 中的用戶自定義業(yè)務(wù)邏輯寫在reduce()方法中,定義計數(shù)器totalNumber,用作每個案件副類別的結(jié)果匯總,初始值為0;遍歷一組迭代器,進(jìn)行累積求和;將案件副類別作為 key,將每個副類別對應(yīng)的總次數(shù)作為 value輸出。

(四)Driver 端程序

Driver 端程序相當(dāng)于主控程序或驅(qū)動程序,具體實現(xiàn)過程如下:

1.創(chuàng)建名為“TheftMain”的class 文件。

2.創(chuàng)建配置文件對象,要求程序使用本地運(yùn)行模式,需要處理的盜竊案件輸入數(shù)據(jù)集和最終的統(tǒng)計結(jié)果均在HDFS 分布式文件系統(tǒng)中,需要配置參數(shù):conf.set(“fs.defaultFS”,“hdfs://local host:9000”)。

3.使用Job.getInstance()創(chuàng)建一個Job 對象。

4.使用Job 對象的setJarByClass()方法打包作業(yè)。

5.使用Job 對象的setMapperClass()方法和setReducerClass()方法分別指定自定義的Mapper類和Reducer 類。

6.使用Job 對象的setOutputKeyClass()方法和setOutputValueClass()方法指定ReduceTask 的輸出類型:輸出key 為案件副類別;輸出value 為每個副類別對應(yīng)的總次數(shù)。

7.設(shè)置輸入輸出文件目錄:使用HDFS Shell的創(chuàng)建目錄命令,在HDFS 的根目錄(/)下,級聯(lián)創(chuàng)建theft/input 目錄。使用FileInputFormat.setInputPaths() 方法設(shè)置輸入目錄為/theft/input;使用FileOutputFormat.setOutputPath() 方法設(shè)置輸出文件目錄為/theft/output。

8.使用Job 對象的waitForCompletion()方法提交并運(yùn)行作業(yè)。

三、統(tǒng)計結(jié)果分析

有兩種途徑可以查看統(tǒng)計結(jié)果:一是使用HDFS Shell 命令來查看,結(jié)果存儲在HDFS 分布式文件系統(tǒng)的指定路徑,即/theft/output 目錄下的“part-r-00000”文件中,該文件由程序運(yùn)行后自動生成;二是直接在Java 集成開發(fā)環(huán)境Eclipse中查看。盜竊類案件統(tǒng)計結(jié)果顯示:居民室內(nèi)盜竊406 起,盜竊電動車399 起,單位室內(nèi)盜竊112 起,盜竊居民小區(qū)車輛112 起,盜竊汽車內(nèi)物品87 起,盜竊街面車輛70 起,盜竊路邊店70 起,如圖2 所示。

圖2 盜竊類案件統(tǒng)計結(jié)果

根據(jù)上述統(tǒng)計結(jié)果,可以看出居民室內(nèi)盜竊、盜竊電動車、單位室內(nèi)盜竊、居民小區(qū)車輛盜竊等類型的盜竊案件發(fā)生頻率較高,而盜竊街面汽車、盜竊路邊店、盜竊電纜線及“三電”設(shè)施、盜竊浴室更衣柜財物、拎包盜竊等類型盜竊案件發(fā)生頻率次之,盜竊空調(diào)外機(jī)、車輛燃油、車輛輪胎等類型的盜竊案件發(fā)生頻率較低。由此可見,盜竊案件的作案地點多是有選擇性的,一般多發(fā)生于無人看管的居民室內(nèi)、單位室內(nèi),多集中于居民小區(qū)內(nèi)的車輛以及方便盜走的電動車上;盜竊財物也大多是易于攜帶和方便轉(zhuǎn)移的,盜竊空調(diào)外掛機(jī)、車輛燃油、車輛輪胎類案件相對較少。

四、結(jié)語

根據(jù)上述分析,公安民警可以將盜竊案件防范工作的重點放在居民室內(nèi)、單位室內(nèi);尤其是放在主人外出而空置的房屋居所以及居民小區(qū)內(nèi)的車輛和電動車上。對于臨街鋪面、路邊店,這些明顯暴露于犯罪分子視線內(nèi),易于踩點、方便進(jìn)出的地方也應(yīng)加強(qiáng)巡邏和管控,以便及時發(fā)現(xiàn)可疑分子,防患于未然,在盜竊案件發(fā)生后,能夠更積極有效地進(jìn)行應(yīng)對和處置。與此同時,還可以在居民小區(qū)、企事業(yè)單位、臨街商鋪中,綜合采取宣傳走訪、網(wǎng)絡(luò)互動、定期科普等方式,提高廣大人民群眾預(yù)防盜竊的警惕性,做到多管齊下、未雨綢繆,從而更高效、更精準(zhǔn)地預(yù)防和處置盜竊案件,保證人民群眾的生命財產(chǎn)安全。

猜你喜歡
匯總類別程序
常用縮略語匯總
系統(tǒng)抽樣的非常規(guī)題匯總
試論我國未決羈押程序的立法完善
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
服務(wù)類別
新校長(2016年8期)2016-01-10 06:43:59
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
供應(yīng)商匯總
供應(yīng)商匯總
論類別股東會
商事法論集(2014年1期)2014-06-27 01:20:42
杂多县| 石家庄市| 桂东县| 五莲县| 唐海县| 思南县| 黄浦区| 德令哈市| 彭山县| 平罗县| 射阳县| 临颍县| 神木县| 义乌市| 禹州市| 登封市| 长垣县| 兴安县| 镇雄县| 色达县| 长沙市| 福州市| 定州市| 洛浦县| 乌恰县| 天等县| 临沂市| 常山县| 延长县| 上饶县| 灵丘县| 柘荣县| 长顺县| 大厂| 乐亭县| 巢湖市| 合川市| 攀枝花市| 锦屏县| 富宁县| 始兴县|