我是 Hadoop/Hive 的新手。我有一个与 Hive 中的 VIEWS 相关的问题。
我在 Hive 中有一个要求,我需要向某些用户授予对表的特定行的访问权限,向某些用户授予对表的特定列的访问权限。我知道我们可以在 Hive 中创建视图。但是是否可以使用 GRANT 语句仅向用户提供对 VIEWS 的访问权限而不授予对基表的访问权限?
如果这不可能,是否有任何其他方法可以在 Hive 中仅提供列或行级别的访问?
请告诉我。感谢您的帮助。
我是 Hadoop/Hive 的新手。我有一个与 Hive 中的 VIEWS 相关的问题。
我在 Hive 中有一个要求,我需要向某些用户授予对表的特定行的访问权限,向某些用户授予对表的特定列的访问权限。我知道我们可以在 Hive 中创建视图。但是是否可以使用 GRANT 语句仅向用户提供对 VIEWS 的访问权限而不授予对基表的访问权限?
如果这不可能,是否有任何其他方法可以在 Hive 中仅提供列或行级别的访问?
请告诉我。感谢您的帮助。
首先,了解 Hive 的真正含义很重要。Hive 只是将 SQL 语句(或多或少)编译成 MapReduce 任务,它控制数据存储层。所以在 Hive 中没有访问管理这样的概念。
此外,有必要了解 Hive 中的“表”只是一个包含文件的 HDFS 文件夹。这意味着您可以使用一组标准的 HDFS 访问管理工具来管理每个表的访问。
您可以做的最好的事情是在 HDFS 级别限制对数据库的访问,并将部分数据导出到“公共表”中,以供特权较低的用户读取。
是的,您绝对可以授予对视图的访问权限并限制后备表。查看https://github.com/HortonworksUniversity/Essentials/blob/master/demos/ranger/README.md以获取一些演示说明以及我使用 Ranger 做这件事的视频记录。