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

主站蜘蛛池模板: 国产福利免费视频| 久久婷婷综合色一区二区| 日韩无码视频播放| 国产日本一线在线观看免费| 丁香婷婷综合激情| 国产永久在线视频| 国产区在线观看视频| 亚洲无码熟妇人妻AV在线| 欧美曰批视频免费播放免费| 国产96在线 | 91精品国产福利| 色欲色欲久久综合网| 国产精品亚洲综合久久小说| 中文字幕在线日本| 国产精品欧美在线观看| 亚洲欧美日韩中文字幕在线一区| 国产极品美女在线观看| 欧美在线导航| 亚洲三级影院| 全裸无码专区| 99这里只有精品在线| 久久人体视频| 婷婷六月综合网| 免费高清a毛片| 亚洲成人免费在线| 91精品在线视频观看| 亚洲欧洲日产国产无码AV| 无码国产偷倩在线播放老年人| 国产精品无码AV中文| av无码久久精品| 亚洲精品麻豆| 欧美日韩激情| 一本色道久久88| 国产在线自乱拍播放| 色婷婷国产精品视频| 欧美激情伊人| 免费国产无遮挡又黄又爽| 亚洲熟女偷拍| 久久这里只有精品免费| 亚洲一道AV无码午夜福利| 伊人久久青草青青综合| 久久婷婷五月综合色一区二区| 成人福利在线观看| 国产国产人在线成免费视频狼人色| 波多野结衣视频网站| 中文字幕2区| 九色视频一区| 国产成年无码AⅤ片在线| 91精品专区国产盗摄| 国产亚洲精品97在线观看| 综合网久久| 国产精品久久国产精麻豆99网站| 亚洲五月激情网| 国产成人在线小视频| 亚洲精品成人片在线播放| 亚洲精品国产自在现线最新| 精品91自产拍在线| 国产亚洲男人的天堂在线观看| 免费在线a视频| 久久久久夜色精品波多野结衣| 中美日韩在线网免费毛片视频| 国产精品网曝门免费视频| 久久久国产精品免费视频| 高h视频在线| 中国精品久久| 91亚洲视频下载| 高清大学生毛片一级| 亚洲欧美另类专区| 毛片免费高清免费| 99偷拍视频精品一区二区| 最新国产麻豆aⅴ精品无| 国产亚洲欧美日韩在线一区| 国内精品91| 日韩高清一区 | 色网站在线视频| 欧美视频在线播放观看免费福利资源| 91九色最新地址| 国产新AV天堂| 色综合综合网| 国产精品亚洲一区二区在线观看| 无码精品国产VA在线观看DVD| 日韩欧美网址|