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

        ?

        分布式系統(tǒng)數(shù)據(jù)倉庫工具Hive 的工作原理及應(yīng)用

        2022-01-18 02:33:54陳新房劉義卿
        科學(xué)技術(shù)創(chuàng)新 2021年36期
        關(guān)鍵詞:數(shù)據(jù)庫分析

        陳新房 劉義卿

        (防災(zāi)科技學(xué)院信息工程學(xué)院,河北 廊坊 065201)

        1990 年,比爾·恩門(Bill Inmon)第一次提出了數(shù)據(jù)倉庫概念,與結(jié)構(gòu)化數(shù)據(jù)庫不同的是,數(shù)據(jù)倉庫研究和解決如何從數(shù)據(jù)庫中獲取信息的問題,數(shù)據(jù)倉庫的基本特征表現(xiàn)為是一個(gè)用戶主題域的、集成統(tǒng)一的、穩(wěn)定性較強(qiáng)的、反映歷史變化的數(shù)據(jù)的集合,為管理層進(jìn)行分析決策(Decision Making Support)提供強(qiáng)有力的支撐。就重要功能而言,數(shù)據(jù)倉庫仍然是對(duì)聯(lián)機(jī)事務(wù)處理(OLTP)長時(shí)間以來產(chǎn)生的海量大數(shù)據(jù),通過數(shù)據(jù)倉庫組件特有的數(shù)據(jù)儲(chǔ)存結(jié)構(gòu),進(jìn)行系統(tǒng)的、全面的分析與整理,以便通過不同的方法如聯(lián)機(jī)分析處理(OLAP)等進(jìn)行分析處理。同時(shí),隨著數(shù)據(jù)挖掘(Data Mining) 技術(shù)、決策支持系統(tǒng)(Decision-making Support System, DSS)、主管資訊系統(tǒng) (Excutive Information System)的創(chuàng)建,通過數(shù)據(jù)倉庫操作能夠幫助決策者從大量數(shù)據(jù)中,快速高效的分析提取出有價(jià)值的信息,以利與決策制定以及對(duì)外部環(huán)境的變化租出響應(yīng)。數(shù)據(jù)倉庫體系結(jié)構(gòu)如圖1 所示。

        圖1 數(shù)據(jù)倉庫體系結(jié)構(gòu)

        1 數(shù)據(jù)倉庫工具Hive 概述

        Hive 的實(shí)現(xiàn)是基于Hadoop 生態(tài)系統(tǒng)的,通過Hive 工具,可以對(duì)數(shù)據(jù)進(jìn)行提取、轉(zhuǎn)化、加載等操作,能夠?qū)Υ鎯?chǔ)在Hadoop 集群中的海量數(shù)據(jù)進(jìn)行存儲(chǔ)、查詢和分析的操作機(jī)制。設(shè)計(jì)Hive工具的主要目的是使得對(duì)Java 編程技能掌握相對(duì)較弱但是對(duì)SQL 技能比較精通的數(shù)據(jù)分析師對(duì)存儲(chǔ)在HDFS 中的海量數(shù)據(jù)進(jìn)行查詢功能操作。

        Hive 工具將數(shù)據(jù)文件映射成一張數(shù)據(jù)庫表,通過類SQL 語言即HiveQL 語言的查詢功能,數(shù)據(jù)分析師通過編寫相對(duì)精通的HiveQL 語句,即可實(shí)現(xiàn)MapReduce 任務(wù)的功能。這一特性使得Hive 十分適合對(duì)大規(guī)模數(shù)據(jù)存儲(chǔ)、統(tǒng)計(jì)、分析、查詢操作,由于是部署在Hadoop 平臺(tái)之上,因而具有良好的擴(kuò)展性。Hive 的優(yōu)點(diǎn)是相對(duì)簡單易學(xué),可以快速通過類似SQL 語句實(shí)現(xiàn)MapReduce 統(tǒng)計(jì)功能,可以大幅提高開發(fā)效率。

        HiveQL 的設(shè)計(jì)只是降低了學(xué)習(xí)成本,其實(shí)質(zhì)仍然是MapReduce 任務(wù)的實(shí)現(xiàn)。在此,再次強(qiáng)調(diào),Hive 工具本身是數(shù)據(jù)倉庫,而不是結(jié)構(gòu)化的數(shù)據(jù)庫系統(tǒng),二者的主要區(qū)別如表1 所示。

        表1 Hive 與數(shù)據(jù)庫的區(qū)別

        2 Hive 系統(tǒng)架構(gòu)

        Hive 的體系結(jié)構(gòu)可以分為以下幾部分:

        2.1 用戶可以通過三種接口實(shí)現(xiàn)Hive 的操作,分別是CLI、Client 以及WUI(Web User Interface)等接口。最常用的實(shí)現(xiàn)方式是CLI,這種借口形式啟動(dòng)CLI 接口同時(shí)會(huì)啟動(dòng)一個(gè)Hive 副本。利用Client 模式可以實(shí)現(xiàn)用戶連接至Hive Server,這種形式需要指出Hive Server 所安裝的節(jié)點(diǎn),在該節(jié)點(diǎn)上將啟動(dòng)Hive Server 起來。顧名思義,WUI 接口形式是用戶通過瀏覽器實(shí)現(xiàn)Hive 的操作。

        2.2 處于Hive 核心位置是驅(qū)動(dòng)程序,由解釋器、編譯器、優(yōu)化器三部分組成,通過驅(qū)動(dòng)程序?qū)iveQL 語句進(jìn)行詞法分析、語法分析、編譯、優(yōu)化以及生產(chǎn)查詢計(jì)劃,進(jìn)一步將生成的查詢計(jì)劃存儲(chǔ)在集群中,隨后轉(zhuǎn)換為MapReduce 任務(wù)執(zhí)行完成。

        2.3 與此同時(shí),Hive 也有結(jié)構(gòu)化數(shù)據(jù)庫,如MySQL、derBy 數(shù)據(jù)庫,這種結(jié)構(gòu)化數(shù)據(jù)表存儲(chǔ)的是數(shù)據(jù)表的元數(shù)據(jù),包括數(shù)據(jù)表名稱、列(字段)、分區(qū)以及是否為外部表、數(shù)據(jù)所在目錄等信息。如圖2 所示。

        圖2 Hive 系統(tǒng)架構(gòu)

        3 Hive 的數(shù)據(jù)類型

        雖然Hive 與結(jié)構(gòu)化數(shù)據(jù)庫有很大區(qū)別,但是在數(shù)據(jù)類型方面,Hive 有著與結(jié)構(gòu)化數(shù)據(jù)庫相同的基本數(shù)據(jù)類型,同時(shí)具有結(jié)構(gòu)化數(shù)據(jù)庫不具有集合數(shù)據(jù)類型。

        選擇數(shù)據(jù)類型時(shí),需要考慮的因素主要有兩個(gè)方面:一是文本文件中數(shù)據(jù)類型如何表示的,二是需要考慮數(shù)據(jù)存儲(chǔ)過程中為了提高存儲(chǔ)、計(jì)算性能問題以及其他問題是否具備可以替代的方案。

        相比與結(jié)構(gòu)化數(shù)據(jù)庫,Hive 具有一個(gè)獨(dú)特的功能就是文件中數(shù)據(jù)的編碼方式具有非常大的靈活性。如表2、3 所示。

        表2 Hive 的基本數(shù)據(jù)類型

        表3 Hive 的集合數(shù)據(jù)類型

        4 Hive 工作原理

        簡單來說,Hive 就是基于Hadoop 平臺(tái)上的數(shù)據(jù)倉庫。在Hadoop 平臺(tái)上層設(shè)計(jì)了一個(gè)類SQL 接口(即HiveQL)作為查詢接口,可以將HiveQL 裝換為MapReduce 任務(wù)在Hadoop 平臺(tái)上運(yùn)行實(shí)現(xiàn)。數(shù)據(jù)分析人員可以通過HiveQL 語言實(shí)現(xiàn)對(duì)海量數(shù)據(jù)的統(tǒng)計(jì)、分析、查詢操作,而不需要使用編程語言(例如Java)編寫MapReduce 程序進(jìn)行實(shí)現(xiàn)。下面以常見的Group By 操作為例介紹實(shí)現(xiàn)過程。

        現(xiàn)有一個(gè)數(shù)據(jù)分組Group By 操作,要求是將Score 表中的數(shù)據(jù)信息進(jìn)行合并,合并的過程按照rank 與level 構(gòu)成的組合鍵進(jìn)行操作,計(jì)算出在每一個(gè)rank 和level 的組合鍵值下數(shù)據(jù)記錄的條數(shù),不難寫出其sql 語句為:

        select rank, level ,count (*) as value from score group by rank, level

        對(duì)于group by 操作轉(zhuǎn)換為MapReduce 的過程如圖3 所示。

        圖3 HSQL 語句轉(zhuǎn)換成MapReduce 的基本原理

        5 Hive 數(shù)據(jù)分析

        在此舉一個(gè)實(shí)例實(shí)踐操作Hive 數(shù)據(jù)分析過程?,F(xiàn)有一個(gè)300000 行用戶信息的數(shù)據(jù)信息,將其上傳到分布式系統(tǒng)中,并利用數(shù)據(jù)倉庫Hive 工具進(jìn)行數(shù)據(jù)分析。

        5.1 數(shù)據(jù)準(zhǔn)備

        在HDFS 上創(chuàng)建數(shù)據(jù)存儲(chǔ)目錄,將數(shù)據(jù)上傳到HDFS 分布式文件系統(tǒng)中,并顯示其前10 行內(nèi)容。

        這是存儲(chǔ)在HDFS 文件系統(tǒng)中的數(shù)據(jù),不能進(jìn)行數(shù)據(jù)分析、清晰以及提取等操作,需要通過MapReduce 編程或Hive 實(shí)現(xiàn)對(duì)數(shù)據(jù)分析。但是MapReduce 要求數(shù)據(jù)分析人員對(duì)編程實(shí)現(xiàn)要求較高,實(shí)現(xiàn)較復(fù)雜,Hive 工具解決了這一難題,為精通SQL 語言而編程能力較弱的數(shù)據(jù)分析師對(duì)存儲(chǔ)在集群中的大規(guī)模數(shù)據(jù)進(jìn)行查詢操作提供了便利。

        5.2 啟動(dòng)MySQL 服務(wù),創(chuàng)建外部表

        在Hive 數(shù)據(jù)倉庫中創(chuàng)建了外表并且加載數(shù)據(jù)后,就可以通過HSQL 語言進(jìn)行數(shù)據(jù)分析操作了。

        5.3 數(shù)據(jù)分析

        ①利用Hive 語句,查詢前20 位用戶購買商品時(shí)的時(shí)間和購買的商品種類。

        2014-12-12 5232

        ②查詢出uid 不重復(fù)的數(shù)據(jù)有多少條。

        hive>select count(distinct uid) from bigdata_user;

        OK

        270

        此查詢編寫Mapreduce 實(shí)現(xiàn)過程至少70 行代碼,在此不在贅述。

        5.4 數(shù)據(jù)導(dǎo)出

        對(duì)數(shù)據(jù)分析完后,可以通過Sqoop 工具將其由Hive 導(dǎo)出到MySQL 結(jié)構(gòu)化數(shù)據(jù)庫中,已方便使用者進(jìn)行分析、存儲(chǔ)以及可視化等操作,各省消費(fèi)用戶數(shù)如圖4 所示。

        圖4 各省消費(fèi)用戶數(shù)

        總結(jié),本文首先介紹了數(shù)據(jù)倉庫的概念,進(jìn)而引入Hive 數(shù)據(jù)倉庫工具,設(shè)計(jì)Hive 工具的主要目的是使得對(duì)Java 編程技能掌握相對(duì)較弱但是對(duì)SQL 技能比較精通的數(shù)據(jù)分析師對(duì)存儲(chǔ)在HDFS 中的海量數(shù)據(jù)進(jìn)行查詢功能操作進(jìn)行論述,并介紹了Hive 的數(shù)據(jù)類型以及HiveQL轉(zhuǎn)換為MapReduce 任務(wù)的過程。最后利用HiveSQL 對(duì)300000行用戶信息進(jìn)行數(shù)據(jù)分析操作,充分表明Hive 在數(shù)據(jù)分析上的特點(diǎn),并將數(shù)據(jù)結(jié)果導(dǎo)出進(jìn)行可視化。

        猜你喜歡
        數(shù)據(jù)庫分析
        隱蔽失效適航要求符合性驗(yàn)證分析
        電力系統(tǒng)不平衡分析
        電子制作(2018年18期)2018-11-14 01:48:24
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        電力系統(tǒng)及其自動(dòng)化發(fā)展趨勢(shì)分析
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        數(shù)據(jù)庫
        中西醫(yī)結(jié)合治療抑郁癥100例分析
        在線教育與MOOC的比較分析
        国产自精品在线| 正在播放东北夫妻内射| 最近免费中文字幕| 欧美日韩综合在线视频免费看| 邻居少妇太爽在线观看| 亚洲综合天堂av网站在线观看 | 亚洲中文无码精品久久不卡| 美女性色av一区二区三区| 亚洲av日韩av激情亚洲| 欧美大屁股xxxxhd黑色| 久久中国国产Av秘 入口| 中文字幕色一区二区三区页不卡| 影音先锋久久久久av综合网成人| 中国国语毛片免费观看视频| 麻豆国产av尤物网站尤物| 国产一区二区三区特黄| 欧美性白人极品1819hd| 永久免费av无码网站yy| 亚洲国产欧美久久香综合| 国产精品女同一区二区软件| 国产又粗又猛又黄又爽无遮挡 | 99精品人妻少妇一区二区三区| 大地资源在线影视播放| 熟妇人妻中文av无码| 久久久精品国产视频在线| 国产三区二区一区久久| 人人妻人人狠人人爽天天综合网 | 东北妇女xx做爰视频| 中文字幕在线观看国产双飞高清| 国产成人一区二区三区| 一色桃子中文字幕人妻熟女作品| 久久国产成人午夜av影院| 美女叉开双腿让男人插| 男女男精品视频网站免费看| 亚洲精品第一国产综合亚av| 国产高清国内精品福利99久久| 国产视频一区2区三区| 亚洲av综合av成人小说| 亚洲国产成人久久一区www妖精| 亚洲精品在线观看自拍| 乱子轮熟睡1区|