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

基于Hive的離線數(shù)據(jù)處理方法

2022-03-13 23:14:11亢華愛
現(xiàn)代商貿(mào)工業(yè) 2022年5期

亢華愛

摘 要:Hive是一種建立在Hadoop上的數(shù)據(jù)倉庫基礎(chǔ)構(gòu)架。Hive系統(tǒng)結(jié)構(gòu)中的解析器,可以將用戶編寫的HiveQL語句進(jìn)行解析,解析出相應(yīng)的MapReduce程序,本文使用Hive對某網(wǎng)站用戶評論數(shù)據(jù)進(jìn)行分析,快速實(shí)現(xiàn)MapReduce統(tǒng)計(jì)任務(wù)。

關(guān)鍵詞:Hive;HQL;MapReduce

中圖分類號:TB 文獻(xiàn)標(biāo)識碼:A doi:10.19311/j.cnki.1672-3198.2022.05.077

1 Hive的概述

Hive起源于Facebook,F(xiàn)acebook公司有著大量的日志數(shù)據(jù),面對這樣海量的結(jié)構(gòu)化數(shù)據(jù), Facebook開發(fā)團(tuán)隊(duì)想到設(shè)計(jì)一種使用SQL語言就能夠?qū)θ罩緮?shù)據(jù)查詢分析的工具,這樣只需要懂SQL語言,就能夠勝任大數(shù)據(jù)分析方面的工作,大大節(jié)省開發(fā)人員的學(xué)習(xí)成本,Hive就這樣應(yīng)運(yùn)而生了。Hive 是Hadoop生態(tài)系統(tǒng)中的一個(gè)數(shù)據(jù)倉庫技術(shù)。大量數(shù)據(jù)存儲在HDFS中,Hive能夠?qū)⑦@些的數(shù)據(jù)進(jìn)行數(shù)據(jù)加載、提取和轉(zhuǎn)換。

在Hadoop生態(tài)系統(tǒng)結(jié)構(gòu)中,Hive這個(gè)數(shù)據(jù)倉庫技術(shù)占有非常重要的地位,Hive能夠?qū)⒁粋€(gè)個(gè)結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張張數(shù)據(jù)庫表。Hive完成的映射關(guān)系包括,SQL中的表、字段映射為HDFS中的目錄、文件。Hive實(shí)現(xiàn)這種映射依靠的是Hive解析器,Hive解析器能夠?qū)⒂脩舻腟Ql語句解析成相應(yīng)的MapReduce程序。總之,Hive借助Hadoop的MapReduce程序完成計(jì)算;借助Hadoop的HDFS進(jìn)行數(shù)據(jù)存儲;依靠MySql進(jìn)行元數(shù)據(jù)的存儲。

Hive具有完整的SQL查詢功能,用戶可以使用類似SQL的語言進(jìn)行數(shù)據(jù)查詢,對于熟悉MapReduce的程序員,也可以開發(fā)用戶自定義的mapper程序和 reducer程序來處理復(fù)雜的分析工作。雖然Hive具有類SQL的查詢語句HQL,能夠完成數(shù)據(jù)查詢功能,但從體系結(jié)構(gòu)、功能等方面來看,它都不是數(shù)據(jù)庫。

使用Hive的過程中,用戶只需要熟悉SQL語言就可以完成大數(shù)據(jù)分析工作,這樣就可以讓一些不擅長基于Java的開發(fā),編程基礎(chǔ)一般,不熟悉MapReduce開發(fā)的用戶,能夠在HDFS大規(guī)模數(shù)據(jù)集上利用SQL語言進(jìn)行查詢、匯總、分析數(shù)據(jù)。

1 Hive的優(yōu)點(diǎn)及系統(tǒng)架構(gòu)

Hive使用廣泛,它具有如下優(yōu)點(diǎn)。

(1) Hive支持標(biāo)準(zhǔn)的SQL語法,省去了用戶編寫MapReduce程序的過程,完成相同的業(yè)務(wù)邏輯Hive只需要寫短短幾行Sql命令就可以完成需要的功能,大大減少了公司的開發(fā)成本。

(2)由于Hive的操作接口采用了類似于SQL的語法,這樣就提供了快速開發(fā)的便利,容易學(xué)習(xí)、容易使用。避免去編寫大量的MapReduce程序,減小開發(fā)人員的時(shí)間和學(xué)習(xí)成本。

(3)Hive是為大數(shù)據(jù)批量處理而生的,Hive的出現(xiàn)也解決傳統(tǒng)的關(guān)系型數(shù)據(jù)庫在大數(shù)據(jù)處理上的瓶頸。

Hive的優(yōu)勢和它的系統(tǒng)架構(gòu)是分不開的,hive的體系結(jié)構(gòu)包括:

(1)用戶接口:用戶接口包括shell終端命令行;JDBC/ODBC ;WebUI。

(2)Hive解析器:Hive解析器的核心功能就是根據(jù)用戶編寫的Sql語法匹配出相應(yīng)的MapReduce模板,形成對應(yīng)的MapReduce job進(jìn)行執(zhí)行。

(3)Hive元數(shù)據(jù)庫(MetaStore):Hive將表中的元數(shù)據(jù)信息存儲在數(shù)據(jù)庫中, Hive中的元數(shù)據(jù)信息包括表的名字、表的列和分區(qū)、表的屬性、表的數(shù)據(jù)所在的目錄等。實(shí)際工作中配置中使用Mysql存儲元數(shù)據(jù)信息。Hive中的解析器在運(yùn)行的時(shí)候會讀取元數(shù)據(jù)庫MetaStore中的相關(guān)信息。

(4)Hadoop:Hive這個(gè)數(shù)據(jù)倉庫的數(shù)據(jù)是存儲在Hadoop的HDFS中,業(yè)務(wù)實(shí)際分析計(jì)算是利用Hadoop的MapReduce完成的。

2 HQL基本應(yīng)用

Hive定義了一套自己的SQL,簡稱HQL,它與關(guān)系型數(shù)據(jù)庫的SQL略有不同,但支持了絕大多數(shù)的語句如:DDL、DML以及常見的聚合函數(shù)、連接查詢、條件查詢。

(1)DDL操作(數(shù)據(jù)定義語言)包括:Create、Alter、Show、Drop等。

create database-創(chuàng)建新數(shù)據(jù)庫

alter database -修改數(shù)據(jù)庫

drop database -刪除數(shù)據(jù)庫

create table -創(chuàng)建新表

alter table -變更(改變)數(shù)據(jù)庫表

drop table -刪除表

create index -創(chuàng)建索引(搜索鍵)

drop index -刪除索引

show table -查看表

(2)DML操作(數(shù)據(jù)操作語言)包括:Load 、Insert、Update、Delete、Merge。

load data -加載數(shù)據(jù),包括insert into - 插入數(shù)據(jù)和insert overwrite - 覆蓋數(shù)據(jù)

update table -更新表

delete from table where id = 1;表示刪除表中ID等于1的數(shù)據(jù)(delete在Hive 0.14開始可用,并且只能在支持ACID的表上執(zhí)行)。

merge合并語句(MERGE在Hive 2.2開始可用,并且只能在支持ACID的表上執(zhí)行)。

3 基于Hive完成離線數(shù)據(jù)分析

我們分析的數(shù)據(jù)來源是某商品的用戶評論數(shù)據(jù),該數(shù)據(jù)以文件的形式存儲在hdfs中,啟動Hadoop和Hive之后,在Hive中創(chuàng)建一個(gè)數(shù)據(jù)庫和數(shù)據(jù)表,將清洗后的數(shù)據(jù)文件導(dǎo)入該表中,用戶只需要依據(jù)實(shí)際的業(yè)務(wù)需要編寫HQL語句,接下來Hive框架會把HQL語句解析成相應(yīng)的MapReduce程序,借助MapReduce計(jì)算框架運(yùn)行job,便可以獲得期望的分析結(jié)果。

具體操作過程如下:

(1)在hive中創(chuàng)建commentdata數(shù)據(jù)倉庫,并切換到commentdata下。

create database commentdata;

use commentdata;

(2)在hive中創(chuàng)建一張表,用于存放清洗后的數(shù)據(jù),表名為comment,Hive創(chuàng)建comment內(nèi)部表的語句如下:

create table comment(

productid string,

commentcount int,

goodcount int,

generalcount int,

poorcount int,

goodrateshow float,

generalrateshow float,

poorrateshow float,

guid string,

content string,

creationtime string,

score int,

nickname string,

userlevelname string,

userclientshow string,

ismobile string,

days int

)row format delimited fields terminated by \\t';

(3)表設(shè)計(jì)好以后,在Hive端使用load命令,將清洗后的數(shù)據(jù)文件part-r-00000導(dǎo)入Hive表中。

(4)編寫HQL語句,分析用戶使用移動端購買還是PC端購買,及移動端和PC端的用戶比例。

(5)編寫HQL語句,分析用戶評論周期,分析收到貨后,用戶一般多久進(jìn)行評論。

(6)編寫HQL語句,分析會員級別,用來判斷購買此商品的用戶級別。

4 結(jié)論

Hive核心功能是一個(gè)SQL解析引擎,能夠?qū)⒂脩艟帉懙腟QL語句轉(zhuǎn)化為對應(yīng)的MapReduce程序,Hive本身并不存儲和計(jì)算數(shù)據(jù),它依賴Hadoop的HDFS完成大數(shù)據(jù)的存儲,依賴MapReduce進(jìn)行計(jì)算,并且借助MySql來存儲元數(shù)據(jù)。

參考文獻(xiàn)

[1]林子雨.大數(shù)據(jù)技術(shù)原理與應(yīng)用[M].北京:人民郵電出版社,2017.

[2]蔣煥亮.基于Hive的日志倉庫構(gòu)建研究[J].計(jì)算機(jī)時(shí)代,2016,(11).

[3]王康,陳海光,李東靜,等.基于Hive的性能優(yōu)化研究[J].上海師范大學(xué)學(xué)報(bào),2017,(8).

3003500338205

主站蜘蛛池模板: 欧美色视频在线| 国产免费久久精品99re丫丫一| 亚洲日韩在线满18点击进入| 国产亚洲精品97AA片在线播放| 91探花国产综合在线精品| 免费激情网址| 国产一区二区三区夜色| 日本欧美精品| 日韩精品无码免费一区二区三区 | 国产呦精品一区二区三区网站| 久久久久国产一级毛片高清板| 中文字幕日韩丝袜一区| 免费99精品国产自在现线| 国产JIZzJIzz视频全部免费| 91午夜福利在线观看| 国产女人水多毛片18| 欧美特黄一免在线观看| 欧美日韩国产在线观看一区二区三区| 国产精品女同一区三区五区| 中文字幕色在线| 国产精品免费露脸视频| 欧美视频二区| 欧美亚洲香蕉| 免费人成网站在线高清| 五月婷婷激情四射| 国产极品美女在线播放| 国产精品理论片| 手机在线看片不卡中文字幕| 亚洲天堂首页| 波多野结衣AV无码久久一区| 凹凸国产熟女精品视频| 91色爱欧美精品www| 国产精品免费电影| 国产日韩欧美在线视频免费观看| 国产欧美精品专区一区二区| 色综合成人| 九色91在线视频| 91免费国产在线观看尤物| 丁香婷婷激情网| 亚洲色图综合在线| 国产最新无码专区在线| 国内精品小视频在线| 一级毛片免费高清视频| 国产成人亚洲精品无码电影| 日本成人在线不卡视频| 99热这里只有精品国产99| 久久美女精品国产精品亚洲| 无码综合天天久久综合网| 性色生活片在线观看| 高潮爽到爆的喷水女主播视频| 国产人成在线观看| 亚洲精品中文字幕无乱码| 亚洲欧美不卡| 久久国产成人精品国产成人亚洲 | 亚洲h视频在线| 无码国内精品人妻少妇蜜桃视频| 亚洲全网成人资源在线观看| 香蕉在线视频网站| 丝袜亚洲综合| 人妻中文字幕无码久久一区| 午夜在线不卡| 久热中文字幕在线观看| 欧美在线网| 国产精品女在线观看| 波多野结衣久久精品| 亚洲无码电影| 国产在线自乱拍播放| 国产尹人香蕉综合在线电影| 久久先锋资源| 亚洲91在线精品| 欧美日韩亚洲国产主播第一区| 99精品视频九九精品| 国产主播一区二区三区| 青青草国产免费国产| 福利一区在线| 伊伊人成亚洲综合人网7777| 欧美人与性动交a欧美精品| 在线观看国产精品日本不卡网| 久久公开视频| 国产成人精品在线1区| 国产99视频精品免费视频7| 中文字幕天无码久久精品视频免费|