真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Impala與hive的區(qū)別是什么

這篇文章主要講解了“Impala與hive的區(qū)別是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Impala與hive的區(qū)別是什么”吧!

創(chuàng)新新互聯(lián),憑借10多年的成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站經(jīng)驗(yàn),本著真心·誠心服務(wù)的企業(yè)理念服務(wù)于成都中小企業(yè)設(shè)計(jì)網(wǎng)站有上千多家案例。做網(wǎng)站建設(shè),選成都創(chuàng)新互聯(lián)。

 

Impala簡介

Impala是由Cloudera公司開發(fā)的新型查詢系統(tǒng),它提供SQL語義,能查詢存儲在Hadoop的HDFS和HBase上的PB級大數(shù)據(jù),在性能上比Hive高出3~30倍。

Impala的運(yùn)行需要依賴于Hive的元數(shù)據(jù)。Impala是參照 Dremel系統(tǒng)進(jìn)行設(shè)計(jì)的。

Impala采用了與商用并行關(guān)系數(shù)據(jù)庫類似的分布式查詢引擎,可以直接與HDFS和HBase進(jìn)行交互查詢。

Impala和Hive采用相同的SQL語法、ODBC驅(qū)動(dòng)程序和用戶接口。

Impala與hive的區(qū)別是什么  
組件

圖:Impala與其他組件的關(guān)系

 

Impala系統(tǒng)架構(gòu)

Impala與hive的區(qū)別是什么

系統(tǒng)架構(gòu)

圖:Impala系統(tǒng)架構(gòu)圖

Impala和Hive、HDFS、HBase等工具是統(tǒng)一部署在一個(gè)Hadoop平臺上的。Impala主要由Impalad,State Store和CLI三部分組成。

(1)Impalad

  • 負(fù)責(zé)協(xié)調(diào)客戶端提交的查詢的執(zhí)行
  • 包含Query Planner、Query Coordinator和Query Exec Engine三個(gè)模塊。
  • 與HDFS的數(shù)據(jù)節(jié)點(diǎn)(HDFS DN)運(yùn)行在同一節(jié)點(diǎn)上。
  • 給其他Impalad分配任務(wù)以及收集其他Impalad的執(zhí)行結(jié)果進(jìn)行匯總。
  • Impalad也會執(zhí)行其他Impalad給其分配的任務(wù),主要就是對本地HDFS和HBase里的部分?jǐn)?shù)據(jù)進(jìn)行操作。

(2)State Store

  • 會創(chuàng)建一個(gè)statestored進(jìn)程。
  • 負(fù)責(zé)收集分布在集群中各個(gè)Impalad進(jìn)程的資源信息,用于查詢調(diào)度。

(3)CLI

  • 給用戶提供查詢使用的命令行工具。
  • 還提供了Hue、JDBC及ODBC的使用接口。

說明:Impala中的元數(shù)據(jù)直接存儲在Hive中。Impala采用與Hive相同的元數(shù)據(jù)、SQL語法、ODBC驅(qū)動(dòng)程序和用戶接口,從而使得在一個(gè)Hadoop平臺上,可以統(tǒng)一部署Hive和Impala等分析工具,同時(shí)支持批處理和實(shí)時(shí)查詢。

 

Impala查詢執(zhí)行過程

Impala與hive的區(qū)別是什么

過程圖

圖:Impala查詢執(zhí)行過程圖

Impala執(zhí)行查詢的具體過程:

  1. 第0步,當(dāng)用戶提交查詢前,Impala先創(chuàng)建一個(gè)負(fù)責(zé)協(xié)調(diào)客戶端提交的查詢的Impalad進(jìn)程,該進(jìn)程會向Impala State Store提交注冊訂閱信息,State Store會創(chuàng)建一個(gè)statestored進(jìn)程,statestored進(jìn)程通過創(chuàng)建多個(gè)線程來處理Impalad的注冊訂閱信息。
  2. 第1步,用戶通過CLI客戶端提交一個(gè)查詢到impalad進(jìn)程,Impalad的Query Planner對SQL語句進(jìn)行解析,生成解析樹;然后,Planner把這個(gè)查詢的解析樹變成若干PlanFragment,發(fā)送到Query Coordinator.
  3. 第2步,Coordinator通過從MySQL元數(shù)據(jù)庫中獲取元數(shù)據(jù),從HDFS的名稱節(jié)點(diǎn)中獲取數(shù)據(jù)地址,以得到存儲這個(gè)查詢相關(guān)數(shù)據(jù)的所有數(shù)據(jù)節(jié)點(diǎn)。
  4. 第3步,Coordinator初始化相應(yīng)impalad上的任務(wù)執(zhí)行,即把查詢?nèi)蝿?wù)分配給所有存儲這個(gè)查詢相關(guān)數(shù)據(jù)的數(shù)據(jù)節(jié)點(diǎn)。
  5. 第4步,Query Executor通過流式交換中間輸出,并由Query Coordinator匯聚來自各個(gè)impalad的結(jié)果。
  6. 第5步,Coordinator把匯總后的結(jié)果返回給CLI客戶端。
 

Impala與Hive的比較

Impala與hive的區(qū)別是什么

對比

圖:Impala與Hive的對比

Hive與Impala的不同點(diǎn)總結(jié)如下:

  1. Hive適合于長時(shí)間的批處理查詢分析,而Impala適合于實(shí)時(shí)交互式SQL查詢。
  2. Hive依賴于MapReduce計(jì)算框架,Impala把執(zhí)行計(jì)劃表現(xiàn)為一棵完整的執(zhí)行計(jì)劃樹,直接分發(fā)執(zhí)行計(jì)劃到各個(gè)Impalad執(zhí)行查詢。
  3. Hive在執(zhí)行過程中,如果內(nèi)存放不下所有數(shù)據(jù),則會使用外存,以保證查詢能順序執(zhí)行完成,而Impala在遇到內(nèi)存放不下數(shù)據(jù)時(shí),不會利用外存,所以Impala目前處理查詢時(shí)會受到一定的限制。

Hive與Impala的相同點(diǎn)總結(jié)如下:

  1. Hive與Impala使用相同的存儲數(shù)據(jù)池,都支持把數(shù)據(jù)存儲于HDFS和HBase中。
  2. Hive與Impala使用相同的元數(shù)據(jù)。
  3. Hive與Impala中對SQL的解釋處理比較相似,都是通過詞法分析生成執(zhí)行計(jì)劃。

總結(jié):

  • Impala的目的不在于替換現(xiàn)有的MapReduce工具。
  • 把Hive與Impala配合使用效果最佳。
  • 可以先使用Hive進(jìn)行數(shù)據(jù)轉(zhuǎn)換處理,之后再使用Impala在Hive處理后的結(jié)果數(shù)據(jù)集上進(jìn)行快速的數(shù)據(jù)分析。

感謝各位的閱讀,以上就是“Impala與hive的區(qū)別是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Impala與hive的區(qū)別是什么這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!


名稱欄目:Impala與hive的區(qū)別是什么
文章鏈接:http://weahome.cn/article/jephoc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部