爲什麼使用Hive和Impala


Impala Hive都是構建在Hadoop之上的數據查詢工具,但是各有不同側重,那麼我們爲什麼要同時使用這兩個工具呢?單獨使用Hive或者Impala不可以嗎?

一、介紹ImpalaHive

1ImpalaHive都是提供對HDFS/Hbase數據進行SQL查詢的工具,Hive會轉換成MapReduce,藉助於YARN進行調度從而實現對HDFS的數據的訪問,而Impala直接對HDFS進行數據查詢。但是他們都是提供如下的標準SQL語句,在機身裏運行。

wKiom1hY2GzDmQOiAAFKpFW-riE686.png-wh_50

2Apache HiveMapReduce的高級抽象,使用HiveQL,Hive可以生成運行在Hadoop集羣的MapReduceSpark作業。Hive最初由Facebook大約在2007年開發,現在是Apache的開源項目。

Apache Impala是高性能的專用SQL引擎,使用Impala SQL,因爲Impala無需藉助任何的框架,直接實現對數據塊的查詢,所以查詢延遲毫秒級。Impala受到GoogleDremel項目啓發2012年由Cloudera開發,現在是Apache開源項目。

二、ImpalaHive有什麼不同?

1Hive有很多的特性:

1、對複雜數據類型(比如arraysmaps)和窗口分析更廣泛的支持

2、高擴展性

3、通常用於批處理

2Impala更快

1、專業的SQL引擎,提供了5x50x更好的性能

2、理想的交互式查詢和數據分析工具

3、更多的特性正在添加進來

三、高級概述:

wKioL1hY2IvAmLx5AAKFuOKMRfM020.png-wh_50

四、爲什麼要使用HiveImpala?

1、爲數據分析人員帶來了海量數據分析能力,不需要軟件開發經驗,運用已掌握的SQL知識進行數據的分析。

2、比直接寫MapReduceSpark具有更好的生產力,5HiveQL/Impala SQL等同於200行或更多的Java代碼。

3、提供了與其他系統良好的互操作性,比如通過Java和外部腳本擴展,而且很多商業智能工具支持HiveImpala

五、HiveImpala使用案例

(1)日誌文件分析

日誌是普遍的數據類型,是當下大數據時代重要的數據源,結構不固定,可以通過Flumekafka將日誌採集放到HDFS,然後分析日誌的結構,根據日誌的分隔符去建立一個表,接下來運用HiveImpala 進行數據的分析。例如:

wKiom1hY2Jywsm30AABjTOKy9kY690.png-wh_50

(2)情感分析

很多組織使用HiveImpala來分析社交媒體覆蓋情況。例如:

wKioL1hY2KrSyvpDAAELu0CeQj0997.png-wh_50

(3)商業智能

很多領先的BI工具支持HiveImpala

wKiom1hY2LfStuHLAAEP51bem-8754.png-wh_50

看了HiveImpala的作用及功效闡述,對於掌握Hadoop數據處理有着重要作用。大家在平常要多去積累和總結經驗,不斷提升技能水平。我自己平時除了總結自己的經驗教訓,還喜歡看別人分享的知識,取長補短,對於完善自己的知識架構有着重要作用。像“CSDN”論壇,“大數據cn”,“大數據時代學習中心”微信服務號都挺不錯,總之,努力汲取多方面知識,我們就會取得更大進步!


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章