亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hadoop下利用Hive進(jìn)行網(wǎng)絡(luò)日志存儲(chǔ)和分析

        2017-03-15 11:51:24楊丕仁
        電子技術(shù)與軟件工程 2017年2期
        關(guān)鍵詞:大數(shù)據(jù)

        摘 要 隨著網(wǎng)絡(luò)應(yīng)用的普及和網(wǎng)絡(luò)的深入發(fā)展,網(wǎng)絡(luò)上傳輸?shù)臄?shù)據(jù)量越來(lái)越大,在網(wǎng)絡(luò)安全管理方面要求越來(lái)越嚴(yán)格,如何有效的存儲(chǔ)、查詢、分析海量的網(wǎng)絡(luò)日志就成了網(wǎng)絡(luò)安全管理方面的新挑戰(zhàn)。云計(jì)算技術(shù)的完善和普及,為解決這類問(wèn)題提供了新的方法,云計(jì)算機(jī)就是通過(guò)網(wǎng)絡(luò)系統(tǒng)將多臺(tái)計(jì)算機(jī)組成一個(gè)分布式系統(tǒng),從而完成海量數(shù)據(jù)的存儲(chǔ)和計(jì)算。Hadoop是一個(gè)用于構(gòu)建云計(jì)算機(jī)平臺(tái)的開源系統(tǒng),為了存儲(chǔ)和分析這些海量的數(shù)據(jù),可以利用Hadoop分布系統(tǒng)下對(duì)網(wǎng)絡(luò)日志的存儲(chǔ)、查詢、分析,通過(guò)該系統(tǒng)的應(yīng)用可以節(jié)約存儲(chǔ)成本、提高查詢效率,為網(wǎng)絡(luò)的安全管理、網(wǎng)絡(luò)優(yōu)化提供數(shù)據(jù)支持。

        【關(guān)鍵詞】Hadoop 大數(shù)據(jù) Hive

        1 引言

        隨著網(wǎng)絡(luò)應(yīng)用的深度普及,人們?cè)趯W(xué)習(xí)、工作、生活越來(lái)越離不開網(wǎng)絡(luò),所以在網(wǎng)絡(luò)的運(yùn)行過(guò)程中,會(huì)產(chǎn)生海量的網(wǎng)絡(luò)日志,如何通過(guò)海量的日志,來(lái)分析用用戶上網(wǎng)行的特點(diǎn),為校園網(wǎng)絡(luò)的優(yōu)化、網(wǎng)絡(luò)安全、提供科學(xué)決策的依據(jù),我們首先要解決的問(wèn)題是如何存存儲(chǔ)、查詢、分析這些大數(shù),如果用傳統(tǒng)的單一節(jié)點(diǎn)的計(jì)算機(jī)能力來(lái)處理這些海量的數(shù)據(jù)已經(jīng)不能滿足需求。利用云計(jì)算技術(shù),通過(guò)一定的算法,可以把這些大數(shù)據(jù)進(jìn)進(jìn)行清洗、存儲(chǔ)、分析,為校園網(wǎng)絡(luò)安全運(yùn)行提供數(shù)據(jù)支持,本文通過(guò)Hadoop系統(tǒng),實(shí)現(xiàn)了基于Hive數(shù)據(jù)倉(cāng)庫(kù)的網(wǎng)絡(luò)日志行為的存儲(chǔ)和分析。

        2 主要相關(guān)技術(shù)

        2.1 hadoop系統(tǒng)

        Hadoop是應(yīng)用于大規(guī)模數(shù)據(jù)的開發(fā)和運(yùn)行處理的軟件平臺(tái),是Appach的一個(gè)用java語(yǔ)言實(shí)現(xiàn)開源軟件框架,實(shí)現(xiàn)了在大量計(jì)算機(jī)組成的集群中對(duì)海量數(shù)據(jù)進(jìn)行分布式計(jì)算,Hadoop框架中最核心設(shè)計(jì)就是:HDFS和MapReduce,HDFS提供了海量數(shù)據(jù)的存儲(chǔ),MapReduce提供了對(duì)數(shù)據(jù)的計(jì)算。

        2.2 Hive數(shù)據(jù)倉(cāng)庫(kù)

        Hive是運(yùn)行于Hadoop下的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供類SQL查詢功能。Hive 的本質(zhì)是將SQL轉(zhuǎn)換為MapReduce程序,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,并提供完整的sql查詢功能,可以將sql語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行。并按照該計(jì)劃生成MapReduce任務(wù)后交給Hadoop集群處理,Hive的體系結(jié)構(gòu)可以分為以下部分:

        (1)用戶接口,Hive主要有三個(gè)用戶接口,分別為:命令接品(CLI)、Jdbc/Odbc接口、WEB接口。

        (2)Hive將元數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中,如mysql, Hive中的元數(shù)據(jù)包括表的名字,表的列和分區(qū)及其屬性,表的屬性(是否為外部表等),表的數(shù)據(jù)所在目錄等。

        (3)解釋器、編譯器、優(yōu)化器完成HQL查詢語(yǔ)句從詞法分析、語(yǔ)法分析、編譯、優(yōu)化以及查詢計(jì)劃的生成。生成的查詢計(jì)劃存儲(chǔ)在HDFS中,并在隨后有MapReduce調(diào)用執(zhí)行。

        (4)Hive的數(shù)據(jù)存儲(chǔ)在HDFS中,大部分的查詢、計(jì)算由MapReduce完成, Hive將元數(shù)據(jù)存儲(chǔ)在RDBMS中。

        3 存儲(chǔ)和分析網(wǎng)絡(luò)日志

        3.1 利用hive存儲(chǔ)網(wǎng)絡(luò)日志

        3.1.1 數(shù)據(jù)采集及格式

        測(cè)試的數(shù)據(jù)來(lái)源于校園網(wǎng)絡(luò)用戶上網(wǎng)行為記錄的日志,該日的特點(diǎn)是實(shí)時(shí)記錄了認(rèn)證用戶訪問(wèn)網(wǎng)絡(luò)的行為,記錄數(shù)據(jù)量非常大,每天將近有30G,每條記錄包含如下信息:流水號(hào)、訪問(wèn)時(shí)間、訪問(wèn)的目標(biāo)url或IP、登錄賬號(hào)、源MAC、源IP、目標(biāo)端口、訪問(wèn)類型、訪問(wèn)目標(biāo)IP、源端口,其格式為TXT文件,日志記錄的信息可以分析校園網(wǎng)絡(luò)的運(yùn)行情況、用戶上網(wǎng)行為特點(diǎn)及網(wǎng)絡(luò)輿情的監(jiān)控。

        3.1.2 數(shù)據(jù)的存儲(chǔ)

        用戶在校園網(wǎng)絡(luò)上每一個(gè)動(dòng)作都會(huì)產(chǎn)生一條記錄,所以經(jīng)過(guò)長(zhǎng)時(shí)間的網(wǎng)絡(luò)運(yùn)行,這些海量的數(shù)據(jù)查詢存儲(chǔ)就成為一個(gè)必須解決的問(wèn)題,如果用傳統(tǒng)的數(shù)據(jù)庫(kù)如:MSsql、mysql、orc等,就顯得力不從心.如果這些數(shù)據(jù)不加以分析利用,就失去了它的價(jià)值,根據(jù)Hive的特點(diǎn),可以將網(wǎng)絡(luò)日志存儲(chǔ)在Hive數(shù)據(jù)倉(cāng)庫(kù)中,利用Hadoop分布式計(jì)算提高數(shù)據(jù)的運(yùn)算速度,其存儲(chǔ)的過(guò)程設(shè)計(jì)如圖1所示。

        整個(gè)流程的工作過(guò)程:

        (1)原始記錄獲取,可以通過(guò)網(wǎng)關(guān)設(shè)備或認(rèn)證服務(wù)器獲取原始數(shù)據(jù),在原始的數(shù)據(jù)中包含了許多干擾的數(shù)據(jù),所以必須對(duì)數(shù)據(jù)進(jìn)行處理。

        (2)數(shù)據(jù)清洗,我們可以利簡(jiǎn)單的python腳本語(yǔ)言進(jìn)行數(shù)據(jù)的清洗,提取對(duì)我們分析數(shù)據(jù)有用的信息,如用戶賬號(hào)、登時(shí)間、注銷時(shí)間、在線時(shí)長(zhǎng)、源IP地址、源MAC地址、目標(biāo)IP、訪問(wèn)類型等,經(jīng)過(guò)清洗的數(shù)據(jù)大小只是原來(lái)的二分之一,把原始數(shù)據(jù)分別存為兩個(gè)hive能夠?qū)氲腡XT文件,這兩個(gè)文件分別存有用戶登陸校園網(wǎng)絡(luò)的信息和用戶訪問(wèn)網(wǎng)絡(luò)行為記錄。

        (3)建立hive數(shù)據(jù)倉(cāng)庫(kù),可以使用hive提供的CLI接口,編寫相應(yīng)的shell腳本進(jìn)行批量的導(dǎo)入,也可以使用hive提供的API接口,通過(guò)編寫程序進(jìn)行導(dǎo)入,其實(shí)現(xiàn)如下:

        方法一、選擇最簡(jiǎn)單的CLI接口,首選在Linux 創(chuàng)建如下腳本:

        #!/bin/bash

        hive<

        create external tableuserlog(id string)

        row format delimited

        fields terminated by'\t'

        lines terminated by'\n'

        stored as textfile;

        load data local inpath'/home/hadoop/hd/test*.txt' into table test_1;

        EOF

        以上的shell腳本功能實(shí)現(xiàn)了在hive上創(chuàng)建用戶登陸網(wǎng)絡(luò)信息記錄表,并把相應(yīng)的記錄文件導(dǎo)入到hive數(shù)據(jù)倉(cāng)庫(kù)中,我可以應(yīng)用相同的方法在hive中創(chuàng)網(wǎng)絡(luò)用戶行為記錄user_activit表。

        方法二,可以用編寫程序的方式實(shí)現(xiàn),例如用python程序?qū)崿F(xiàn)的操作。

        以上兩種方法的最終目的是把數(shù)據(jù)存儲(chǔ)到hive數(shù)據(jù)倉(cāng)庫(kù)中,通過(guò)比較方法一操作簡(jiǎn)單執(zhí)行效率高。

        3.2 利用Hive數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行網(wǎng)絡(luò)日志的分析

        Hive數(shù)據(jù)倉(cāng)庫(kù)的特點(diǎn)是基于hadoop系統(tǒng)之上的數(shù)據(jù)庫(kù),并將SQL轉(zhuǎn)換為MapReduce程序,hive不適合用于聯(lián)機(jī)online事務(wù)處理,也不提供實(shí)時(shí)查詢功能。它最適合應(yīng)用在基于大量不可變數(shù)據(jù)的批處理作業(yè),所以可以用hive來(lái)分析大數(shù)據(jù),在校園網(wǎng)絡(luò)環(huán)境中,由于長(zhǎng)時(shí)間的運(yùn)行,產(chǎn)生了大量的日志,如果我們用傳統(tǒng)的數(shù)據(jù)庫(kù)工具只能存儲(chǔ)部分?jǐn)?shù)據(jù),對(duì)于分析網(wǎng)絡(luò)的運(yùn)行情況及關(guān)鍵數(shù)據(jù)的查尋就會(huì)變得非常困難和耗時(shí)。所以我可以利用hive數(shù)據(jù)工具對(duì)網(wǎng)絡(luò)行為的分析,在hive中提供了類似sql的操作。

        3.2.1 在網(wǎng)絡(luò)安全管理中查詢

        在網(wǎng)絡(luò)安全分析中我們可以利用Hive的SQL語(yǔ)句進(jìn)行查詢,例如某個(gè)網(wǎng)址或IP地址是否被學(xué)生大量訪問(wèn),我們要及時(shí)了解學(xué)生的思想狀況及形為表現(xiàn),就可以利用hive查詢分析大量的網(wǎng)絡(luò)日志并對(duì)其進(jìn)行思想教育,或者我們查詢非法IP地址在一個(gè)星期內(nèi)被訪問(wèn)的情況,可以在hive的CL下輸入語(yǔ)句:selecuserId,usertim,fromuserlog where ip=“a.b.c.d”and usetime=”x”就可以查詢到我們想要的結(jié)果。

        3.2.2 在網(wǎng)絡(luò)帶寬的優(yōu)化

        為了提高網(wǎng)絡(luò)的服務(wù)質(zhì)量,我們可以從網(wǎng)絡(luò)日志中,通過(guò)hive的內(nèi)置窗口函數(shù)進(jìn)行分區(qū)排序、動(dòng)態(tài)Group by、Top N 、累計(jì)計(jì)算、層次查詢,可以統(tǒng)計(jì)和分析某段時(shí)間內(nèi)被大量訪問(wèn)的目標(biāo)地址和提供的服服類型,例如視頻服務(wù)網(wǎng)站,我們就可通增加緩存服務(wù)器,提高訪問(wèn)速度,減輕出口帶寬的壓力。

        3.2.3 為進(jìn)一步數(shù)據(jù)挖掘提供數(shù)據(jù)

        在hive中內(nèi)置了大量的分析函數(shù),可以根據(jù)需要的數(shù)據(jù)內(nèi)容來(lái)選擇相應(yīng)的操作,為我們數(shù)據(jù)深度分析面提供有用的數(shù)據(jù),例如可以通行列轉(zhuǎn)的函數(shù)得到某個(gè)用戶一分鐘內(nèi)訪問(wèn)網(wǎng)址的記錄,為下一步運(yùn)用mouht進(jìn)行用戶行為深度分析分析提供準(zhǔn)確的數(shù)據(jù)。

        3.3 實(shí)驗(yàn)環(huán)境搭建

        為了驗(yàn)證Hive數(shù)據(jù)倉(cāng)庫(kù)的可行性,所搭建的實(shí)驗(yàn)環(huán)境為:

        (1)硬件環(huán)境:CPU: 四個(gè)Intel 8核Xeon E7-4820處理器,內(nèi)存128G,硬盤空間3T。

        (2)虛擬機(jī)系統(tǒng):基于VMWare ESXI5.0 創(chuàng)建5臺(tái)虛擬,每臺(tái)的配置為:2個(gè)雙核CPU,8G內(nèi)存,60G硬盤,ubuntu14.04操作系統(tǒng)。

        (3)Hadoop/hive集群:5臺(tái)虛擬機(jī)都安裝Hadoop2.6.0,其中的一臺(tái)用來(lái)作為HDFS的名稱節(jié)點(diǎn),并安裝Hive-1.2.1,其余4臺(tái)作為數(shù)據(jù)節(jié)點(diǎn)。

        3.3.1 數(shù)據(jù)的存儲(chǔ)驗(yàn)證

        在Hadoop集群的主節(jié)點(diǎn)下利用Hive提供的CLI接口,將網(wǎng)絡(luò)用戶一個(gè)星期的日志導(dǎo)入到Hive數(shù)據(jù)倉(cāng)庫(kù)中,經(jīng)過(guò)驗(yàn)證在hive 數(shù)據(jù)倉(cāng)庫(kù)中的數(shù)據(jù)勻可以正常操作,如圖2運(yùn)行。

        通過(guò)圖2所示,Hive 能在hadoop中把SQL命令解析為并生23個(gè)Map和25個(gè)Reduce任務(wù)后交給Hadoop集群處理,所以經(jīng)過(guò)驗(yàn)證,利用Hive 存儲(chǔ)網(wǎng)絡(luò)用戶日志的方案是可行的。

        3.3.2 數(shù)據(jù)的分析驗(yàn)證

        在hive中統(tǒng)計(jì)每天點(diǎn)擊率最高的網(wǎng)站,可以在hive的命令接口中輸入如下的命令:

        Select usetime,usIP,count(*),C from userlog group by usetimeusIP>>dt.txt

        以上命令執(zhí)行后會(huì)生成一個(gè)結(jié)果文件,如圖3所示。

        用以上的分析方法分別對(duì)不同大小的數(shù)據(jù)進(jìn)行驗(yàn)證,圖4是運(yùn)行時(shí)間對(duì)比。

        從以上結(jié)果可以看出,hive 對(duì)小文件操作時(shí),延時(shí)性比較大,但是對(duì)大文件的作操作時(shí),他的優(yōu)勢(shì)就發(fā)揮出來(lái)。

        4 結(jié)語(yǔ)

        本文結(jié)合具體的實(shí)例,運(yùn)用Hadoop系統(tǒng)下的Hive數(shù)據(jù)倉(cāng)庫(kù)進(jìn)行存儲(chǔ)校園網(wǎng)絡(luò)用戶上網(wǎng)行為的大量日志,通過(guò)驗(yàn)證Hive 數(shù)據(jù)倉(cāng)庫(kù)可以應(yīng)用于校園網(wǎng)絡(luò)數(shù)據(jù)非時(shí)實(shí)交互的應(yīng)用環(huán)境,并且利用hive 分析數(shù)據(jù),可以省設(shè)計(jì)程序代碼的復(fù)雜的工作,提高我們分?jǐn)?shù)據(jù)的效率,能夠從大量的網(wǎng)絡(luò)日志中取有用的數(shù)據(jù),使其成為學(xué)校貴的數(shù)字資產(chǎn)。

        參考文獻(xiàn)

        [1]林和,安王強(qiáng).云計(jì)算與云計(jì)算[EB/OL]ttp://www.linkwan.com/gb/tech/htm/1490.htm,2011.

        [2]吳朝暉,陳華鈞.空間大數(shù)據(jù)信息基礎(chǔ)設(shè)施[M].浙江:浙江大學(xué)出版社,2013(01):38.

        [3]陸嘉恒.Hadoop實(shí)戰(zhàn)[M].北京:機(jī)械工業(yè)出版社,2012(11):2.

        [4]張良均,樊哲.Hadoop大數(shù)據(jù)分析與挖掘?qū)崙?zhàn)[M].北京:機(jī)械工業(yè)出版社,2015(12):34.

        作者簡(jiǎn)介

        楊丕仁(1979-),男,云南省云縣人。現(xiàn)工作于大理大學(xué)現(xiàn)代教育技術(shù)中心,實(shí)驗(yàn)師、碩士。主要研究方向?yàn)榫W(wǎng)絡(luò)安全與管理。

        作者單位

        大理大學(xué)現(xiàn)代教育技術(shù)中 心云南省大理白族自治州大理市 671003

        猜你喜歡
        大數(shù)據(jù)
        大數(shù)據(jù)環(huán)境下基于移動(dòng)客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
        新聞世界(2016年10期)2016-10-11 20:13:53
        基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
        科技視界(2016年20期)2016-09-29 10:53:22
        數(shù)據(jù)+輿情:南方報(bào)業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
        日本一区二区三区经典视频| 日韩在线不卡免费视频| 高清国产亚洲va精品| 手机在线播放成人av| 国产午夜av秒播在线观看| 成人无码免费一区二区三区| 国产肉体XXXX裸体784大胆| 亚洲一区二区av免费观看| 狠狠cao日日橹夜夜十橹| 免费国产黄网站在线观看| 日韩欧美第一区二区三区| 日韩女优在线一区二区| 新婚人妻不戴套国产精品| 一本色道久久亚洲加勒比| 啦啦啦中文在线观看日本| 999久久久精品国产消防器材| 久久91精品国产91久久麻豆| 国产一区二区黄色网页| 国产高潮视频在线观看| 欧美性福利| 女同视频网站一区二区| 亚洲乱码一区二区三区在线观看 | 漂亮丰满人妻被中出中文字幕| 日本最大色倩网站www| 中文字幕一区二区三区乱码不卡| 91麻豆精品激情在线观最新| 久久久久99精品成人片欧美| 亚洲精品无码久久久久| 欧美手机在线视频| 亚洲av熟女中文字幕| 一本色道久久88综合日韩精品| 热久久久久久久| 亚洲国产综合精品中文| 久久精品国产亚洲av麻豆色欲| 69精品丰满人妻无码视频a片| 久久精品国产亚洲av热明星| 亚洲处破女av日韩精品中出| 天堂草原电视剧在线观看图片高清| 中文字幕亚洲人妻系列| 91久久国产香蕉熟女线看| 亚洲av无码精品蜜桃|