我是Hadoop / Hive的新手。我有一个与Hive中的VIEWS相关的问题。
我在Hive中有一个要求,我需要向某些用户和某些用户的表的特定列提供对表的特定行的访问权限。我知道我们可以在Hive中创建VIEWS。但是,是否可以仅向用户提供使用GRANT语句的访问权限,而无需访问基表?
如果无法做到这一点,是否还有其他方法只能在Hive中提供列级或行级访问权限?
请告诉我。谢谢你的帮助。
答案 0 :(得分:0)
首先了解Hive究竟是什么很重要。 Hive只是将一个编译器(或多或少)的SQL语句转换成MapReduce任务,它确实控制着数据存储层。因此,Hive中没有访问管理这样的概念。
此外,有必要了解Hive中的“表”只是一个包含文件的HDFS文件夹。这意味着您可以使用标准的HDFS访问管理工具来管理每个表的访问。
您可以做的最好的事情是将HDFS级别的访问权限限制为数据库,并将部分数据导出到“公共表”中,以供较少特权的用户阅读。
答案 1 :(得分:0)
是的,您绝对可以授予对View的访问权限并限制支持表。看一下https://github.com/HortonworksUniversity/Essentials/blob/master/demos/ranger/README.md的一些演示笔记,以及我自己用Ranger做的事情的视频录制。