Hive vs Impala
生活随笔
收集整理的這篇文章主要介紹了
Hive vs Impala
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目標
Apache Hive和Impala都可以在HDFS上執行查詢,但是他們之間存在一些不同,在這片文章中,將會做一下對比。
介紹
Hive
一般使用Hive做數據密集型任務,例如查詢,分析,處理,可視化。剛開始是由Facebook開發。Hive是基于Hadoop平臺構建的數據倉庫,當然也兼容其他的文件系統,例如S3。Hive提供HQL語言來讀取數據并轉換查詢到MapReduce,Tez,Spark jobs,Hive有以下特性
Impala
Impala是一個開源的MPP SQL引擎。可以在HDFS,Hbase上運行查詢。在數據處理時,impala并不會優先在節點之間移動數據,可以與Hadoop生態系統很好集成。作為一個開源的交互式BI任務,Impala的統一資源管理是它成為一個標準。
Hive vs Impala
| 查詢處理 | 普遍存在冷啟動的問題 | 避免可能的啟動壓力,Impala后端進程總是處在啟動狀態,隨時處理查詢 |
| 中間結果 | Hive會物質化中間結果,這樣增加可伸縮性,容錯能力,但是會減慢數據處理速度 | 在executors之間進行流式傳輸中間結果,但是會帶來伸縮性問題 |
| 運行期間 | 在編譯時間,Hive形成查詢表達式 | 在運行期間,Impala形成代碼 |
| 交互式計算 | 對于交互式查詢,Hive并不是理想 | 對于交互式查詢,Impala是可選的 |
| 類型 | 是基于批量的Hadoop MapReduce | 更像MPP數據庫 |
| 復雜類型 | 支持復雜類型 | 不支持復雜類型 |
| 查詢執行 | Hive查詢的結果具有容錯能力,盡管有節點宕機 | 在查詢執行中,如果節點宕機,那么Impala重新執行 |
| 性能 | Hive適合運行中等或者高級復雜查詢,低端查詢使用Hive LLAP | 盡管Impala一直在優化復雜查詢,但是更適合低端查詢 |
| 查詢SQL | Hive LLAP允許進行亞秒級的交互式查詢,不需要額外的分析工具 | 提供快速的,交互式的SQL查詢 |
| 時間消耗 | Hive LLAP的動態運行特性減少工作壓力,使用LLAP可以減少時間消耗 | 對于簡單的查詢,消耗更少的時間,但是對于復雜的查詢,比LLAP消耗更多的時間 |
| 直接交互 | LLAP是一個長運行的進程,可以代替與HDFS直連,緊密集成基于DAG框架 | Impala需要在HDFS,hbase上有文件 |
| ETL jobs | 對于長運行的jobs,Hive是理想的選擇 | NA |
| 速度 | NA | Impala比Hive塊6-69倍 |
總結
以上是生活随笔為你收集整理的Hive vs Impala的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visio制作的图像转换为eps教程
- 下一篇: 定位的困惑