亚洲免费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

        久久久精品欧美一区二区免费| 黑人玩弄极品人妻系列视频| 日本视频二区在线观看| 无码少妇一区二区性色av| 欧美日韩亚洲成人| 粉嫩av一区二区在线观看| 丝袜美腿福利视频在线| 内射合集对白在线| 日本高清一区二区三区水蜜桃| 欧洲一级无码AV毛片免费| 精品在线观看一区二区视频| 性生交片免费无码看人| 精品少妇人妻av免费久久久| 中文无码制服丝袜人妻AV| 亚洲一区二区三区精品视频| 国产精品美女久久久久av福利| 草莓视频成人| 99热久久只有这里是精品| 国产精品一区二区av不卡 | 日韩有码在线一区二区三区合集| 久久伊人精品一区二区三区| 人人妻人人玩人人澡人人爽| 男女激情床上视频网站| 91三级在线观看免费| 天天做天天爱天天综合网2021| 伊人久久综在合线亚洲不卡| 亚洲国产线茬精品成av| 手机在线看片| 五十路熟妇高熟无码视频| 亚洲AV小说在线观看| 亚洲国产天堂久久综合网| 国内精品卡一卡二卡三| 伊人久久一区二区三区无码| 男人一插就想射的原因| 亚洲人成网网址在线看| 免费国产交换配乱淫| av资源吧首页在线观看| 国产特级毛片aaaaaa高潮流水| 18禁美女裸身无遮挡免费网站| 无码人妻丰满熟妇区免费| 亚洲美女毛片在线视频|