大數據面試之Impala


說明,感謝亮哥長期對我的幫助,此處多篇文章均爲亮哥帶我整理。以及參考諸多博主的文章。如果侵權,請及時指出,我會立馬停止該行爲;如有不足之處,還請大佬不吝指教,以期共同進步。

1.Impala

1.1 簡介

Impala是由Cloudera公司開發的新型查詢系統,能夠對存儲在HDFS、HBase以及S3上的數據進行快速的交互式SQL查詢。
    另外,impala與Hive使用了統一的存儲系統、同樣的元數據庫、SQL語法(Hive SQL)、ODBC驅動和用戶交互接口(Hue),
    Impala對實時的或者面向批處理的查詢提供了一個統一的平臺,Impala在性能上比Hive高出3~30倍。

1.2 優勢及特點

優勢

(1)使用的是數據科學家和分析師熟悉的SQL接口 

(2)能查詢大數據集

(3)是集羣環境中的分佈式查詢,便於擴展和使用廉價商用硬件

(4)能夠在不同的分析引擎之前共享數據。

(5)單一系統用於大數據處理和分析,因此可以避免成本高昂的建模和ETL.

主要特點

(1)支持Hive查詢語言(HiveQL)最常見的SQL-92功能

(2)支持HDFS, HBase和S3存儲 

(3)常見的數據訪問接口,包括JDBC driver、ODBC driver            

(4)支持impala-shell命令行接口 

(5)Kerberos授權

1.3 Impala架構?如何啓動訪問?

Impala Daemon

Impala Statestore

Impala Catalog Service

1.4 Hive與Impala對比

相同點

(1)Hive與Impala使用相同的存儲數據池,都支持把數據存儲於HDFS和HBase中

(2)Hive與Impala使用相同的元數據

(3)Hive與Impala中對SQL的解釋處理比較相似,都是通過詞法分析生成執行計劃

不同點

(1)Hive適合於長時間的批處理查詢分析,而Impala適合於實時交互式SQL查詢

(2)Hive依賴於MapReduce計算框架,Impala把執行計劃表現爲一棵完整的執行計劃樹,直接分發執行計劃到各個Impalad執行查詢

(3)Hive在執行過程中,如果內存放不下所有數據,則會使用外存,以保證查詢能順序執行完成,而Impala在遇到內存放不下數據時,不會利用外存,所以Impala目前處理查詢時會受到一定的限制

總結

1)Impala的目的不在於替換現有的MapReduce工具

(2)把Hive與Impala配合使用效果最佳

(3)可以先使用Hive進行數據轉換處理,之後再使用Impala在Hive處理後的結果數據集上進行快速的數據分析

參考

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