溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

數(shù)據(jù)分析:Hive、Pig和Impala

發(fā)布時間:2020-08-06 06:54:45 來源:網(wǎng)絡(luò) 閱讀:1662 作者:caosheng03 欄目:大數(shù)據(jù)

本文主要分享Hadoop三大分析工具:Hive、Pig和Impala。

Hive和Pig是高級數(shù)據(jù)語言,基于Mapreduce,底層處理的時候會轉(zhuǎn)換成Mapreduce去提交,Hive和Pig都是開源的,Hive最初由Facebook開發(fā),Pig最初由Yahoo!開發(fā),下面進行分別介紹:

一、什么是Hive?

Hive可以看做是SQL到Mapreduce的一個映射器,就是不用開發(fā)Mapreduce,只要懂SQL就可以了,HiveQL是標準SQL92的一個子集,和標準的SQL并不完全一樣,HiveQL本身有百分之二十的一個擴展,大概百分之八十的語法和標準的SQL是一致的,像

數(shù)據(jù)分析:Hive、Pig和Impala

這種標準的SQL是支持的,所以對于數(shù)據(jù)分析人員來講,就可以很方便的切入到Hadoop的平臺上去做數(shù)據(jù)分析。

二、什么是Pig?

Pig是處理大數(shù)據(jù)集的數(shù)據(jù)流語言。什么是數(shù)據(jù)流呢?就是處理數(shù)據(jù)的流程可以一步步定義,比如第一步加載,第二步轉(zhuǎn)換,第三步再轉(zhuǎn)換,第四步存儲,可以一步步定義數(shù)據(jù)的走向,很類似我們在數(shù)據(jù)挖掘中進行的系列處理流程。因為pig是數(shù)據(jù)流的語言,所以很適合做物質(zhì)的數(shù)據(jù)探索和ETL階段數(shù)據(jù)的非處理,他和Spark的思想很相似,所以也可以說Spark是實現(xiàn)正確的Pig。為什么這樣說?因為Pig和Spark都是數(shù)據(jù)流似的處理,pig有轉(zhuǎn)換,行動操作,在spark里面也是一樣。

Pig數(shù)據(jù)流語言

數(shù)據(jù)分析:Hive、Pig和Impala

Pig在ETL階段還是用的很多的,而且對于一些數(shù)據(jù)挖掘人員來說,尤其是探知一些未知數(shù)據(jù),非常合適。因為不需要指定任何的名稱、類型就可以先加載,然后去匹配所有的數(shù)據(jù),接下來就可以去觀察數(shù)據(jù)是怎樣的,分析怎么去做轉(zhuǎn)換。Pig是一種語義很精準的語言,所以學(xué)起來也會很方便的。

hive與pig的對比

數(shù)據(jù)分析:Hive、Pig和Impala

三、什么是Impala?

盡管我們有了hive,但是hive是基于mapreduce,它的分析效率并不高,大家都著力去找到一種高性能的SQL的引擎,impala的出現(xiàn)就解決了這一問題。Impala是處理海量數(shù)據(jù)的高性能SQL引擎,它的查詢可以達到秒及,甚至有些數(shù)據(jù)少的可以達到毫秒級,延遲很低,比Hive、Pig或MapReduce快10到50倍,它的SQL 也是類似于HiveQL的查詢語言,他和標準的SQL也是有百分之八十的語法重復(fù),也有自己的擴展一部分。Impala它使用的數(shù)據(jù)是和Hive一樣的,就好比在Hive里面創(chuàng)建一個表,Impala也是可以訪問的,反之也是一樣的。Impala運行在Hadoop集群上,數(shù)據(jù)存儲在HDFS,不能使用MapReduce,他有自己的架構(gòu),也是主存的結(jié)構(gòu),每一個服務(wù)可以直接對數(shù)據(jù)塊進行訪問。Impala由Cloudera開發(fā),100%開源,在Apache軟件許可下發(fā)布。

那么有三種數(shù)據(jù)分析方案,在實際操作中,我們怎樣來使用呢?總體來講Pig沒有Hive和Impala用的多,可是他們各有優(yōu)勢。接下來描述一下他們各自的使用條件:我們知道Impala是近實時的查詢,使用數(shù)據(jù)和Hive一樣,那么我們就會去問,為什么還要使用Hive呢?有一些復(fù)雜的文本分析只能用Hive,比如一些CSV的文件,一些高頻詞的分析,統(tǒng)計分析只能用Hive,Impala不支持.還有一些復(fù)雜類型的使用,比如用到數(shù)組,復(fù)雜的結(jié)構(gòu)體這些也都只能用Hive。Impala主要用于及時的,交互式的分析,Hive用于穩(wěn)定性挖掘比較高,實時性挖掘不高的作業(yè)。Pig也可以支持一些復(fù)雜的類型,但是pig沒有固定的模型,如果做一些做臨時的數(shù)據(jù)探索可以用。

比較Hive、Pig和Impala

數(shù)據(jù)分析:Hive、Pig和Impala

那么他們可以替代RDBMS嗎?當然不行,關(guān)系型數(shù)據(jù)支持事務(wù),延遲低,隨時可以修改,而Hive和Impala做不到,所以代替不了關(guān)系型數(shù)據(jù)庫,Pig、Hive和Impala主要適用于大量數(shù)據(jù)讀以及低成本的廣泛擴展。

               分析工作流示意

數(shù)據(jù)分析:Hive、Pig和Impala

以上就是筆者根據(jù)自己的知識體系給大家分享的數(shù)據(jù)分析內(nèi)容,主要是針對Hive、Pig和Impala各自的特點、應(yīng)用、區(qū)分,以及與傳統(tǒng)數(shù)據(jù)庫的區(qū)別來進行闡述,對于深入了解數(shù)據(jù)分析工具在實際中的運用有著重要作用。我在實際工作和學(xué)習(xí)中喜歡關(guān)注一些大數(shù)據(jù)實時資訊,如“大數(shù)據(jù)cn”,對于了解和把握大數(shù)據(jù)的發(fā)展狀況有著很大作用,而且也喜歡去看一些別人分享的知識架構(gòu),比如“大數(shù)據(jù)時代學(xué)習(xí)中心”,來不斷豐富和完善自己的知識體系,這些都極大促進了我的發(fā)展,推薦給大家。


向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI