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

        ?

        基于Hadoop和Hive數(shù)字校園的數(shù)據(jù)倉(cāng)庫(kù)研究

        2014-08-05 02:19:46蘇樹(shù)鵬
        科教導(dǎo)刊 2014年21期
        關(guān)鍵詞:云計(jì)算

        蘇樹(shù)鵬

        摘 要 在校園信息化過(guò)程中,傳統(tǒng)的業(yè)務(wù)平臺(tái)升級(jí)方法復(fù)雜,硬件成本太高,軟硬件利用率低等缺點(diǎn),本文在云計(jì)算基礎(chǔ)上構(gòu)建用于處理海量數(shù)據(jù)的數(shù)字校園倉(cāng)庫(kù)系統(tǒng)。該系統(tǒng)基于Hadoop+Hive框架實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的并行處理,降低系統(tǒng)開(kāi)發(fā)復(fù)雜度,提高高效性。

        關(guān)鍵詞 云計(jì)算 海量數(shù)據(jù) Hadoop Map-Reduce Hive

        中圖分類號(hào):TP315 文獻(xiàn)標(biāo)識(shí)碼:A

        Data Warehouse Research Based on Hadoop and Hive Digital Campus

        SU Shupeng

        (Guangxi Technological College of Machinery and Electricity, Nanning, Guangxi 530007)

        Abstract In the process of campus information, the traditional method of complex business platform upgrades, hardware cost is too high, and low utilization of hardware and software shortcomings, this paper constructs a digital campus system for processing massive data warehouse in the cloud computing basis. The system is based on Hadoop + Hive framework to achieve the massive data parallel processing, reduce system development complexity and improve efficiency.

        Key words cloud computing; massive data; Hadoop; Map-Reduce; Hive

        隨著以云計(jì)算、物聯(lián)網(wǎng)等為代表的新型信息技術(shù)的不斷涌現(xiàn),校園信息化過(guò)程中各系統(tǒng)產(chǎn)生結(jié)構(gòu)化以及非結(jié)構(gòu)化海量數(shù)據(jù),傳統(tǒng)業(yè)務(wù)平臺(tái)的數(shù)據(jù)倉(cāng)庫(kù)已無(wú)法滿足需求,構(gòu)建新的大數(shù)據(jù)存儲(chǔ)及并行處理、分析的架構(gòu)應(yīng)運(yùn)而生。Hadoop是利用廉價(jià)的集群設(shè)備進(jìn)行計(jì)算大規(guī)模數(shù)據(jù)的分布式平臺(tái),其主要特點(diǎn)高效率、可靠、擴(kuò)展能力強(qiáng)。本文基于Hadoop 和Hive 構(gòu)建數(shù)字校園的數(shù)據(jù)倉(cāng)庫(kù),快速對(duì)數(shù)字校園不斷膨脹的數(shù)據(jù)進(jìn)行處理和分析,為各部門提供有價(jià)值的業(yè)務(wù)決策。

        1 Hadoop與Hive

        1.1 Hadoop

        Hadoop是由Apache公司開(kāi)發(fā)的開(kāi)源分布式存儲(chǔ)和計(jì)算系統(tǒng),其由兩大核心部件組成:HDFS(Hadoop Distributed File System)和M/R(Map/Reduce),HDFS是存儲(chǔ)系統(tǒng),存儲(chǔ)文件會(huì)被分割成多個(gè)文件塊,每個(gè)文件塊被分配存儲(chǔ)到HDFS數(shù)據(jù)節(jié)點(diǎn)上,且會(huì)根據(jù)配置通過(guò)復(fù)制文件塊來(lái)保證數(shù)據(jù)的安全性。M/R用于大規(guī)模數(shù)據(jù)集的并行運(yùn)算模型。一個(gè)作業(yè)通常會(huì)把輸入的數(shù)據(jù)集切分為若干獨(dú)立的數(shù)據(jù)塊,M/R把數(shù)據(jù)塊分發(fā)給集群的節(jié)點(diǎn)進(jìn)行Map任務(wù)計(jì)算,節(jié)點(diǎn)會(huì)周期性向主節(jié)點(diǎn)報(bào)告完成的工作和狀態(tài),如果節(jié)點(diǎn)存在故障,主節(jié)點(diǎn)把數(shù)據(jù)分發(fā)到其他節(jié)點(diǎn)完成計(jì)算??蚣馨袽ap的輸出的結(jié)果交給Reduce任務(wù),作業(yè)整個(gè)計(jì)算過(guò)程的數(shù)據(jù)都存儲(chǔ)在HDFS中,框架負(fù)責(zé)任務(wù)的調(diào)度和監(jiān)控。

        1.2 Hive

        Hive是基于Hadoop的開(kāi)源數(shù)據(jù)倉(cāng)庫(kù)工具,提供了一套類數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)和處理機(jī)制,用于存儲(chǔ)和處理海量結(jié)構(gòu)化數(shù)據(jù),它把海量數(shù)據(jù)存儲(chǔ)于Hadoop文件系統(tǒng),Hive提供了完整的sql查詢功能,將用戶編寫的SQL語(yǔ)句進(jìn)行解析和轉(zhuǎn)換,最終生成一系列基于Hadoop的map/reduce任務(wù),通過(guò)執(zhí)行這些任務(wù)完成數(shù)據(jù)處理。Hive 擁有元數(shù)據(jù)存儲(chǔ),主要用于存儲(chǔ)模式和統(tǒng)計(jì)信息,這些在數(shù)據(jù)探索,查詢優(yōu)化和查詢編譯中很有作用。

        2 基于Hadoop和Hive數(shù)據(jù)倉(cāng)庫(kù)

        2.1 Hive的特性

        (1)靈活的存儲(chǔ)引擎。Hive沒(méi)有固定的數(shù)據(jù)存儲(chǔ)格式,用戶可以自由組織Hive中的表,加載數(shù)據(jù)的過(guò)程中,不需要進(jìn)行數(shù)據(jù)格式的轉(zhuǎn)換,只需告訴Hive數(shù)據(jù)中的列分隔符和行分隔符,Hive就可以解析數(shù)據(jù)。所以Hive加載數(shù)據(jù)只需將數(shù)據(jù)內(nèi)容復(fù)制到相應(yīng)的HDFS目錄中。(2)高效執(zhí)行引擎。Hive的編譯器對(duì)源代碼進(jìn)行語(yǔ)法分析、語(yǔ)義分析并生成目標(biāo)代碼生成,Hive基于MapReduce,Hive的Sort和GroupBy都依賴MapReduce,而 MapReduce相當(dāng)于固化了執(zhí)行算子,Map的MergeSort必須執(zhí)行,GroupBy算子只有一種模式,Reduce的Merge-Sort也必須選。(3)容錯(cuò)機(jī)制。Hive的執(zhí)行計(jì)劃在MapReduce框架上以作業(yè)的方式執(zhí)行,每個(gè)作業(yè)的中間結(jié)果文件寫到本地磁盤,最終輸出文件寫到HDFS文件系統(tǒng),利用HDFS的多副本機(jī)制來(lái)保證數(shù)據(jù)的可靠性,從而達(dá)到作業(yè)的容錯(cuò)性。如果在作業(yè)執(zhí)行過(guò)程中某節(jié)點(diǎn)出現(xiàn)故障,那么Hive執(zhí)行計(jì)劃基本不會(huì)受到影響。因此,基于Hive實(shí)現(xiàn)的數(shù)據(jù)倉(cāng)庫(kù)可以部署在由普通機(jī)器構(gòu)建的分布式集群之上。(4)可視化。Hive的可視化界面基本屬于字符終端,用戶的技術(shù)水平一般比較高。面向不同的應(yīng)用和用戶,提供個(gè)性化的可視化展現(xiàn),是Hive改進(jìn)的一個(gè)重要方向。個(gè)性化的可視化也可以理解為用戶群體的分層,例如,圖形界面方式提供初級(jí)用戶,簡(jiǎn)單語(yǔ)言方式提供中級(jí)用戶,復(fù)雜程序方式提供高級(jí)用戶。

        2.2 基于Hadoop與Hive的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)

        系統(tǒng)的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)如下圖1所示,各業(yè)務(wù)系統(tǒng)的數(shù)據(jù)通過(guò)ETL導(dǎo)入HDFS 中。Hive構(gòu)架基于Hadoop平臺(tái)上,Hive的Driver將HiveQL聲明傳遞給編譯器進(jìn)行標(biāo)準(zhǔn)解析,類型檢查和語(yǔ)義分析,然后編譯器生成一個(gè)邏輯計(jì)劃且進(jìn)行優(yōu)化,最后,將優(yōu)化后的DAG形式的Map/Reduce任務(wù)使用M/R按照依賴順序執(zhí)行任務(wù),快速地將數(shù)據(jù)反饋給上層的應(yīng)用。

        圖1 基于Hadoop 與Hadoop 的數(shù)據(jù)倉(cāng)庫(kù)架構(gòu)

        3 Hive在數(shù)字校園的數(shù)據(jù)倉(cāng)庫(kù)中的應(yīng)用

        本文在搭建Hadoop+Hive架構(gòu)上對(duì)網(wǎng)絡(luò)日志數(shù)據(jù)進(jìn)行統(tǒng)計(jì),包括類別訪問(wèn)量、關(guān)鍵詞收索和每秒訪問(wèn)量等。日志數(shù)據(jù)分布在5臺(tái)前端機(jī),后臺(tái)腳本根據(jù)時(shí)間戳將每小時(shí)同步傳過(guò)來(lái)的日志數(shù)據(jù)合并成一個(gè)日志文件,導(dǎo)入Hive系統(tǒng)。

        3.1 數(shù)據(jù)導(dǎo)入

        由于Hive只支持單字符的分隔符如”\001”,所以在數(shù)據(jù)導(dǎo)入期必須把網(wǎng)絡(luò)日記數(shù)據(jù)的分隔符替換成”\001”。通過(guò)自定義函數(shù)進(jìn)行格式化:

        public boolean next(LongWritable key, BytesWritable value)

        throws IOException {

        while ( reader .next(key, text ) ) {

        String strReplace = text .toString().toLowerCase().replace( "@$_$@" , "\001" );

        Text txtReplace = new Text();

        txtReplace.set(strReplace );

        value.set(txtReplace.getBytes(), 0, txtReplace.getLength());

        return true ; }

        return false ;}

        轉(zhuǎn)換好格式之后,使用hive都提供了“ local ”關(guān)鍵字,將數(shù)據(jù)導(dǎo)入到hive。

        3.2 數(shù)據(jù)處理:編寫hql語(yǔ)句進(jìn)行數(shù)據(jù)統(tǒng)計(jì)

        (1)創(chuàng)建表格keyword_2014,將統(tǒng)計(jì)每個(gè)關(guān)鍵詞的搜索量結(jié)構(gòu)傳入該表格

        create table keyword_2014 as select keyword,count(keyword) as count from searchlog_20140403 group by keyword order by count desc;

        (2)創(chuàng)建表格device_2014,將統(tǒng)計(jì)每類用戶終端的搜索量存入該表格

        create table device_2014 as select device,count(device) as count from searchlog_20140403 group by device order by count desc;

        (3)創(chuàng)建表 time_2014,將統(tǒng)計(jì)每秒訪問(wèn)量 TPS存入該表

        insert overwrite table time_20140403 select time,count(time) as count from searchlog_20140403 group by time order by count desc;

        (4)計(jì)算每個(gè)搜索請(qǐng)求響應(yīng)時(shí)間的最大值,最小值和平均值

        insert overwrite table response_20140403 select max(responsetime) as max,min(responsetime) as min,avg(responsetime) as avg from searchlog_20140403;

        (5)創(chuàng)建一個(gè)表用于存放今天與昨天的關(guān)鍵詞搜索量和增量及其增量比率create external table if not exists keyword_20140404_20140403(keyword string, count int, increment int, incrementrate double)

        (6)統(tǒng)計(jì)兩天關(guān)鍵詞統(tǒng)計(jì)結(jié)果兩個(gè)表keyword_20140404,keyword_20140403,其數(shù)據(jù)文件內(nèi)容將為 XML 格式。

        insert overwrite table keyword_20140404_20140403 select cur.keyword, cur.count, cur.count-yes.count as increment, (cur.count-yes.count)/yes.count as incrementrate from keyword_20140404 cur join keyword_20140403 yes on (cur.keyword = yes.keyword) order by incrementrate desc;

        3.3 統(tǒng)計(jì)結(jié)果以XML格式輸出,借助XmlResultOutputFormat 格式化成 XML 文件

        public void write(Writable w) throws IOException {

        String[] strFields = ((Text)w).toString().split("\001");

        StringBuffer sbXml = new StringBuffer();

        if ( strResultType .equals( "keyword" )) {

        sbXml.append( "" ).append(strFields[0]).append(

        "" ).append(strFields[1]).append( "" ).append(strFields[2]).append(

        "" ).append(strFields[3]).append(

        "

        猜你喜歡
        云計(jì)算
        云計(jì)算虛擬化技術(shù)在電信領(lǐng)域的應(yīng)用研究
        基于云計(jì)算的醫(yī)院信息系統(tǒng)數(shù)據(jù)安全技術(shù)的應(yīng)用探討
        談云計(jì)算與信息資源共享管理
        志愿服務(wù)與“互聯(lián)網(wǎng)+”結(jié)合模式探究
        云計(jì)算與虛擬化
        基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)的設(shè)計(jì)
        基于云計(jì)算環(huán)境下的ERP教學(xué)改革分析
        科技視界(2016年22期)2016-10-18 14:33:46
        基于MapReduce的故障診斷方法
        實(shí)驗(yàn)云:理論教學(xué)與實(shí)驗(yàn)教學(xué)深度融合的助推器
        云計(jì)算中的存儲(chǔ)虛擬化技術(shù)應(yīng)用
        科技視界(2016年20期)2016-09-29 13:34:06
        亚洲成人色区| 高清不卡av一区二区| 本道天堂成在人线av无码免费| 亚洲国产精品综合久久网各| av鲁丝一区鲁丝二区| 无遮挡很爽视频在线观看| 国产一区二区三区 在线观看| 国产又大又硬又粗| 国产乱人伦偷精品视频| 国内精品视频成人一区二区| 国产亚洲综合另类色专区| 国产精品无码一区二区三区电影| 国产超碰人人做人人爱ⅴa| 国产老妇伦国产熟女老妇高清| 亚洲专区一区二区三区四区五区| 亚洲av日韩av激情亚洲| 日日噜噜噜夜夜爽爽狠狠视频| 中文字幕久热精品视频免费| 一区二区三区日本美女视频| 老师开裆丝袜喷水视频| 亚洲av中文无码乱人伦在线r▽| 毛片av在线播放亚洲av网站| 日韩激情视频一区在线观看| 亚州国产av一区二区三区伊在| 午夜福利视频合集1000| 亚洲乱精品中文字字幕| 国产三级不卡一区不卡二区在线| 狼人青草久久网伊人| 国产成年无码V片在线| 美腿丝袜美腿国产在线| 加勒比东京热中文字幕| 亚洲av无码av制服另类专区| 国产精品1区2区| 日本在线综合一区二区| 国产精品国产精品国产专区不卡| 中文字幕无码不卡免费视频| 亚洲嫩模一区二区三区视频| av网站在线观看大全| 在线不卡av片免费观看| 一本一本久久a久久精品综合| 一区二区三区中文字幕在线观看|