999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Hadoop和Hive數字校園的數據倉庫研究

2014-08-05 02:19:46蘇樹鵬
科教導刊 2014年21期
關鍵詞:云計算

蘇樹鵬

摘 要 在校園信息化過程中,傳統的業務平臺升級方法復雜,硬件成本太高,軟硬件利用率低等缺點,本文在云計算基礎上構建用于處理海量數據的數字校園倉庫系統。該系統基于Hadoop+Hive框架實現對海量數據的并行處理,降低系統開發復雜度,提高高效性。

關鍵詞 云計算 海量數據 Hadoop Map-Reduce Hive

中圖分類號:TP315 文獻標識碼: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

隨著以云計算、物聯網等為代表的新型信息技術的不斷涌現,校園信息化過程中各系統產生結構化以及非結構化海量數據,傳統業務平臺的數據倉庫已無法滿足需求,構建新的大數據存儲及并行處理、分析的架構應運而生。Hadoop是利用廉價的集群設備進行計算大規模數據的分布式平臺,其主要特點高效率、可靠、擴展能力強。本文基于Hadoop 和Hive 構建數字校園的數據倉庫,快速對數字校園不斷膨脹的數據進行處理和分析,為各部門提供有價值的業務決策。

1 Hadoop與Hive

1.1 Hadoop

Hadoop是由Apache公司開發的開源分布式存儲和計算系統,其由兩大核心部件組成:HDFS(Hadoop Distributed File System)和M/R(Map/Reduce),HDFS是存儲系統,存儲文件會被分割成多個文件塊,每個文件塊被分配存儲到HDFS數據節點上,且會根據配置通過復制文件塊來保證數據的安全性。M/R用于大規模數據集的并行運算模型。一個作業通常會把輸入的數據集切分為若干獨立的數據塊,M/R把數據塊分發給集群的節點進行Map任務計算,節點會周期性向主節點報告完成的工作和狀態,如果節點存在故障,主節點把數據分發到其他節點完成計算。框架把Map的輸出的結果交給Reduce任務,作業整個計算過程的數據都存儲在HDFS中,框架負責任務的調度和監控。

1.2 Hive

Hive是基于Hadoop的開源數據倉庫工具,提供了一套類數據庫的數據存儲和處理機制,用于存儲和處理海量結構化數據,它把海量數據存儲于Hadoop文件系統,Hive提供了完整的sql查詢功能,將用戶編寫的SQL語句進行解析和轉換,最終生成一系列基于Hadoop的map/reduce任務,通過執行這些任務完成數據處理。Hive 擁有元數據存儲,主要用于存儲模式和統計信息,這些在數據探索,查詢優化和查詢編譯中很有作用。

2 基于Hadoop和Hive數據倉庫

2.1 Hive的特性

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

2.2 基于Hadoop與Hive的數據倉庫架構

系統的數據倉庫架構如下圖1所示,各業務系統的數據通過ETL導入HDFS 中。Hive構架基于Hadoop平臺上,Hive的Driver將HiveQL聲明傳遞給編譯器進行標準解析,類型檢查和語義分析,然后編譯器生成一個邏輯計劃且進行優化,最后,將優化后的DAG形式的Map/Reduce任務使用M/R按照依賴順序執行任務,快速地將數據反饋給上層的應用。

圖1 基于Hadoop 與Hadoop 的數據倉庫架構

3 Hive在數字校園的數據倉庫中的應用

本文在搭建Hadoop+Hive架構上對網絡日志數據進行統計,包括類別訪問量、關鍵詞收索和每秒訪問量等。日志數據分布在5臺前端機,后臺腳本根據時間戳將每小時同步傳過來的日志數據合并成一個日志文件,導入Hive系統。

3.1 數據導入

由于Hive只支持單字符的分隔符如”\001”,所以在數據導入期必須把網絡日記數據的分隔符替換成”\001”。通過自定義函數進行格式化:

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 ;}

轉換好格式之后,使用hive都提供了“ local ”關鍵字,將數據導入到hive。

3.2 數據處理:編寫hql語句進行數據統計

(1)創建表格keyword_2014,將統計每個關鍵詞的搜索量結構傳入該表格

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

(2)創建表格device_2014,將統計每類用戶終端的搜索量存入該表格

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

(3)創建表 time_2014,將統計每秒訪問量 TPS存入該表

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

(4)計算每個搜索請求響應時間的最大值,最小值和平均值

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

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

(6)統計兩天關鍵詞統計結果兩個表keyword_20140404,keyword_20140403,其數據文件內容將為 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 統計結果以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(

"

猜你喜歡
云計算
云計算虛擬化技術在電信領域的應用研究
基于云計算的醫院信息系統數據安全技術的應用探討
談云計算與信息資源共享管理
志愿服務與“互聯網+”結合模式探究
云計算與虛擬化
基于云計算的移動學習平臺的設計
基于云計算環境下的ERP教學改革分析
科技視界(2016年22期)2016-10-18 14:33:46
基于MapReduce的故障診斷方法
實驗云:理論教學與實驗教學深度融合的助推器
大學教育(2016年9期)2016-10-09 08:54:03
云計算中的存儲虛擬化技術應用
科技視界(2016年20期)2016-09-29 13:34:06
主站蜘蛛池模板: 亚洲无码一区在线观看| 欧美不卡在线视频| igao国产精品| 东京热av无码电影一区二区| 91亚洲精选| 素人激情视频福利| 99re这里只有国产中文精品国产精品| 91美女视频在线观看| 国产综合网站| 亚洲精品国产综合99| 97久久免费视频| 国产精品第三页在线看| 成人福利在线免费观看| 久久综合五月| 67194亚洲无码| 欧美无专区| a色毛片免费视频| 四虎永久免费网站| 国产精品九九视频| 在线观看精品自拍视频| 999福利激情视频| 欧美日韩在线成人| 国产在线观看精品| 成年A级毛片| 草逼视频国产| 国产偷国产偷在线高清| 免费一级成人毛片| 国产在线视频自拍| 国产老女人精品免费视频| 手机精品视频在线观看免费| 久久鸭综合久久国产| 久草中文网| 国产成人麻豆精品| 国产欧美亚洲精品第3页在线| 亚洲欧美一区二区三区蜜芽| 欧美成人在线免费| 91区国产福利在线观看午夜| 亚洲成人福利网站| 亚洲成人高清无码| 国产精品尤物铁牛tv| 成人国产免费| 免费a在线观看播放| 欧美另类一区| 97国产一区二区精品久久呦| 欧美日本二区| 亚洲自拍另类| 最新加勒比隔壁人妻| 国产精品天干天干在线观看| 97国产在线视频| 不卡午夜视频| 欧美丝袜高跟鞋一区二区| 亚洲乱码精品久久久久..| 毛片在线播放a| 国产剧情国内精品原创| 日韩精品一区二区三区swag| a毛片免费观看| 91成人在线观看| 亚洲 日韩 激情 无码 中出| 小蝌蚪亚洲精品国产| 亚洲日本韩在线观看| 欧美色99| 国产自视频| 国产欧美精品一区二区| 欧美日韩久久综合| 中文字幕无线码一区| 在线观看无码a∨| 亚洲欧美精品日韩欧美| 亚洲日韩国产精品综合在线观看| 久久精品中文字幕少妇| 国产综合在线观看视频| 亚洲国产无码有码| 免费看av在线网站网址| 久久网综合| 色综合五月婷婷| 亚洲综合久久成人AV| 欧美精品一区二区三区中文字幕| 欧美日本在线| 91九色最新地址| 国产va在线观看免费| 91无码视频在线观看| 五月婷婷亚洲综合| 毛片网站在线播放|