日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

impala和python_Impala和Hive之间有什么关系?

發布時間:2025/1/21 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 impala和python_Impala和Hive之间有什么关系? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

除了共享hive的metastore之外沒什么太大的關系。

hive是Java寫的,由Facebook開源,目的是將特定的SQL語句編譯為MapReduce jar包扔給hadoop去執行,本質上是一個代碼轉換編譯的工具,簡化mr的開發,因為pig hive出現以前,mr都需要由熟悉Java或Python和hadoop架構熟悉的比較高級的程序員來寫,這就限制了hadoop的使用廣度。所以擅長語言翻譯的facebook搞了一個hive,來把sql語言翻譯成java再跑mr。

impala是spark萌芽時期cdh開源的c++編寫的sql執行引擎,也用到了有向無環圖和RDD的思路,我想當初可能是CDH想跟spark競爭一下內存計算這塊的市場,后來發現爭不過spark,現在也就處于半開發半維護的狀態了,從核心上來說,執行原理跟hive完全不一樣,hive是把sql轉譯成java,編譯了jar包提交給hadoop,剩下的事情就是hadoop的mr的事了,hive只需要等著獲取結果就好了。而impala則調用C語言層的libhdfs來直接訪問HDFS,從NN獲取到數據塊信息后,直接將數據塊讀入內存,會使用hadoop的一個配置項叫dfs.client.short.read.circuit。看得出來,這是一個client端配置,作用是直接讀取本地的數據塊而不是通過HDFS讀取整合后的文件。所以impala需要在每個dn節點都安裝impalad去完成本地讀取的工作。數據塊讀進內存之后就開始做有向無環圖,完成計算之后會將熱數據保存在內存里供下次讀取。

CDH不開發單獨的metastore是因為沒有必要,當時hive已經是主流分析工具了,hadoop的使用者經過幾年的積累,已經在hive上建立了成千上萬個表。你再單獨開發一個metastore純屬浪費,難道客戶還要再給impala建一個單獨的schema嗎?再把那成千上萬的分析表重建一遍?為什么不直接用以前hive建好的?

在我的認知范圍內,impala不能脫離hive的metastore獨立存在,而且catalogd有時還需要手工刷新hive的metastore緩存。

總結

以上是生活随笔為你收集整理的impala和python_Impala和Hive之间有什么关系?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。