亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇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語句進行解析,解析出相應(yīng)的MapReduce程序,本文使用Hive對某網(wǎng)站用戶評論數(shù)據(jù)進行分析,快速實現(xiàn)MapReduce統(tǒng)計任務(wù)。

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

        中圖分類號:TB 文獻標(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ā)團隊想到設(shè)計一種使用SQL語言就能夠?qū)θ罩緮?shù)據(jù)查詢分析的工具,這樣只需要懂SQL語言,就能夠勝任大數(shù)據(jù)分析方面的工作,大大節(jié)省開發(fā)人員的學(xué)習(xí)成本,Hive就這樣應(yīng)運而生了。Hive 是Hadoop生態(tài)系統(tǒng)中的一個數(shù)據(jù)倉庫技術(shù)。大量數(shù)據(jù)存儲在HDFS中,Hive能夠?qū)⑦@些的數(shù)據(jù)進行數(shù)據(jù)加載、提取和轉(zhuǎn)換。

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

        Hive具有完整的SQL查詢功能,用戶可以使用類似SQL的語言進行數(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語言進行查詢、匯總、分析數(shù)據(jù)。

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

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

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

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

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

        (4)Hadoop:Hive這個數(shù)據(jù)倉庫的數(shù)據(jù)是存儲在Hadoop的HDFS中,業(yè)務(wù)實際分析計算是利用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)建一個數(shù)據(jù)庫和數(shù)據(jù)表,將清洗后的數(shù)據(jù)文件導(dǎo)入該表中,用戶只需要依據(jù)實際的業(yè)務(wù)需要編寫HQL語句,接下來Hive框架會把HQL語句解析成相應(yīng)的MapReduce程序,借助MapReduce計算框架運行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è)計好以后,在Hive端使用load命令,將清洗后的數(shù)據(jù)文件part-r-00000導(dǎo)入Hive表中。

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

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

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

        4 結(jié)論

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

        參考文獻

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

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

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

        3003500338205

        一本一本久久aa综合精品 | 日韩A∨精品久久久久| 国产aⅴ丝袜旗袍无码麻豆 | 麻豆文化传媒精品一区观看 | 果冻国产一区二区三区| 免费在线视频亚洲色图| 久热re这里精品视频在线6| 无码夜色一区二区三区| 亚洲色偷偷偷综合网另类小说| 毛片在线视频成人亚洲| 欧美亚洲日本国产综合在线美利坚| 色偷偷一区二区无码视频| 亚洲人成绝费网站色www| 一本一本久久a久久精品综合| 亚洲精品综合久久国产二区| 少妇性l交大片7724com| 亚洲18色成人网站www| 日韩在线不卡一区在线观看| 亚洲精品中文字幕乱码无线| 成 人 免 费 黄 色| 国产丰满老熟女重口对白| 国产人成在线成免费视频| 亚洲天堂av在线网站| 少妇久久久久久被弄到高潮| 亚洲电影中文字幕| 男人的天堂av你懂得| 国产精品一区二区三区在线免费 | 亚洲av色香蕉一区二区三区潮| 亚洲日韩激情无码一区| 成年男女免费视频网站| 国产人妖在线免费观看| 蜜桃视频在线免费观看| 少妇特黄a一区二区三区| 亚洲国产AⅤ精品一区二区不卡| 国产三区三区三区看三区| yw尤物av无码国产在线观看| 免费在线视频一区| 97久久综合精品国产丝袜长腿 | 一性一交一口添一摸视频| 一边摸一边抽搐一进一出口述 | av网页免费在线观看|