91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Hive Metastore是什么

發布時間:2021-12-10 09:09:15 來源:億速云 閱讀:784 作者:小新 欄目:大數據

小編給大家分享一下Hive Metastore是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Hive Metastore是Hive用來管理庫表元數據的一個服務,有了它上層的服務不用再跟裸的文件數據打交道,而是可以基于結構化的庫表信息構建計算框架。現在除了Hive之外很多計算框架都支持以Hive Metastore為元數據中心來查詢底層Hadoop生態的數據,比如Drill, Presto, Spark等等。

Hive Metastore默認是不做任何用戶認證的,也就是說只要指定metastore服務的IP和端口就可以通過Thrift協議連接上并讀取元數據。Metastore也支持基于Kerberos的認證,不過這里的認證只是為了保護對于metastore的訪問,一旦認證通過,任何人調用相同api所獲得的結果都是一樣的,而不會管當前到底是誰在調用。

授權方面在Hive里面有幾種方式,一種是基于存儲層面的文件權限來進行授權管理,如果你有對應的目錄/文件的權限你就可以進行相應的查詢,這種機制的問題在于力度比較粗,因為它權限的對象是目錄/文件,無法進行更細粒度的控制,比如列級別的權限控制。而且對于Blob Store類的服務比如AWS的S3和阿里云的OSS等這種,由于已經沒有真正HDFS層面的“用戶”,因此這種機制也無法實施。

另外一種授權機制是HiveServer2中基于SQL標準的授權機制(GRANT/REVOKE),它提供了更細粒度的授權機制,但是這種機制是在HiveServer2里面提供的,跟Metastore沒有關系。社區還發展出另外兩框插件式的授權解決方案: Apache Ranger和Apache Sentry, 以Ranger為例,要使用Ranger都要把它內嵌到對應的上層引擎比如Presto、Spark里面去。Presto、Spark在發送查詢語句的時候,會被Ranger插件攔截,根據當前用戶的權限信息決定對請求進行攔截還是放行。也就是說這些授權機制都是在Metastore之外實現的,Metastore的作用更多的只是底層數據庫的一個簡單服務,沒有實現更多的多租戶、權限認證管理的功能。

社區對Metastore做過一些有意思的擴展,比如Hotels.com公司開發了一個叫做Waggle Dance的框架,它的出發動機是在一個公司內部往往會搭建不止一個大數據集群,因此也就有了多個Metastore元數據服務,這些Metastore之間是互相不通的,造成了數據/元數據的孤島。Waggle Dance則相當于Metastore的一個路由服務,它完整的實現了Metastore的Thrift API,用戶需要訪問Metastore的時候直接訪問Waggle Dance,而Waggle Dance背后則對接了多個Hive Metastore,把這些本來互不相連的Metastore組合成了一個整體,解決了數據/元數據孤島的問題。不過Waggle Dance也有它的問題,比如不同的Hive Metastore之間可能會有同名的schema,這樣就必須不通metastore之間事先商量好一些shcema名字前綴才能保證整體schema名字的唯一性;再比如Hive Metastore的Thrift API是在不斷演進的,不同版本之間的API不完全一樣,這樣Waggle Dance可能會需要支持多個版本的API,如果Hive Metastore API出現一些breaking change的話,可能會導致Waggle Dance整個方案無法維持。

AWS Glue是對于Hive Metastore的另一個擴展,跟普通Hive Metastore不一樣的是,Glue是一個支持多租戶的元數據服務 — 不同的用戶去調用同樣的元數據接口: `getAllDatabases()` 返回的結果是不一樣的。而且Glue也把授權信息內置到服務里面,不過它提供的方式不是SQL標準里面的grant/revoke的方式,而是基于AWS統一的IAM權限策略的方式,比如下面的權限規則允許用戶訪問finegrainaccess數據庫以及它下面以dev_開頭的所有的表。

   
     
   
   
   
 "arn:aws:glue:us-east-1:123456789012:catalog", "arn:aws:glue:us-east-1:123456789012:database/finegrainaccess", "arn:aws:glue:us-east-1:123456789012:tables/finegrainaccess/dev_*"
           
這樣即使是在同一個租戶下的不同子帳號調用同樣的元數據方法`getAllDatabases()` 返回的數據也是不一樣的。
 

如果說Waggle Dance是在Hive Metastore的“體制內創新”,那么AWS Glue則是對于Hive Metastore的“推翻式創新”:Waggle Dance實現的是Hive Metastore的API,對于上層引擎來說可以說是基本無感,而Glue則只是保證實現了Hive Metastore一樣的功能,但是它不再是一個Thrift API,而是一個REST API,上層引擎需要做相應的改動才能對接到這個Glue。

以上是“Hive Metastore是什么”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節
推薦閱讀:
  1. hive 安裝
  2. hive 基本架構

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

郑州市| 阳城县| 深圳市| 运城市| 和顺县| 扬州市| 延津县| 安丘市| 二连浩特市| 镇康县| 永胜县| 象州县| 昌平区| 剑阁县| 高雄县| 淳化县| 喜德县| 兴海县| 额尔古纳市| 赤壁市| 海晏县| 偃师市| 日土县| 沁源县| 涞水县| 沽源县| 梁平县| 岳阳县| 昌都县| 扶绥县| 平和县| 阜阳市| 通化县| 宣汉县| 营口市| 东城区| 潞西市| 大悟县| 青铜峡市| 南昌市| 新和县|