我是Hadoop/Hive的新手。我有一個與Hive中的VIEWS相關的問題。提供訪問Hive中的視圖
我在Hive中有一個需求,我需要爲某些用戶授予對錶的特定行的訪問權限,以及某些用戶的表的特定列。我知道我們可以在Hive中創建VIEWS。但是,是否有可能只使用GRANT語句將訪問權限提供給用戶而無需訪問基表?
如果這是不可能的,是否有任何其他方法提供Hive中的列或行級別訪問?
請讓我知道。感謝您的幫助。
我是Hadoop/Hive的新手。我有一個與Hive中的VIEWS相關的問題。提供訪問Hive中的視圖
我在Hive中有一個需求,我需要爲某些用戶授予對錶的特定行的訪問權限,以及某些用戶的表的特定列。我知道我們可以在Hive中創建VIEWS。但是,是否有可能只使用GRANT語句將訪問權限提供給用戶而無需訪問基表?
如果這是不可能的,是否有任何其他方法提供Hive中的列或行級別訪問?
請讓我知道。感謝您的幫助。
首先了解Hive究竟是什麼非常重要。 Hive只是一個編譯器(或多或少)將SQL語句寫入MapReduce任務,它控制着數據存儲層。所以Hive中沒有訪問管理這樣的概念。
此外,有必要了解Hive中的「表」只是一個帶文件的HDFS文件夾。這意味着您可以使用標準的HDFS訪問管理工具集來管理每個表的訪問權限。
您可以做的最好的做法是將HDFS級別的訪問權限限制在數據庫中,並將部分數據導出到「公共表」中,以便權限較低的用戶閱讀。
是的,您絕對可以授予對視圖的訪問權限並限制支持表。看一看https://github.com/HortonworksUniversity/Essentials/blob/master/demos/ranger/README.md的一些演示記錄,以及我自己用Ranger做這件事的錄像。
AFAIK,如果不授予訪問底層基表的權限,則無法創建具有所需訪問權限的VIEW。你需要拿一點鹽。 – Tariq