【问题标题】:Providing Access to Views in Hive在 Hive 中提供对视图的访问
【发布时间】:2013-09-03 03:07:59
【问题描述】:

我是 Hadoop/Hive 的新手。我有一个与 Hive 中的 VIEWS 相关的问题。

我在 Hive 中有一个要求,我需要向某些用户授予对表的特定行的访问权,并向某些用户授予对表的特定列的访问权。我知道我们可以在 Hive 中创建视图。但是是否可以使用 GRANT 语句仅向用户提供对 VIEWS 的访问权限而不授予对基表的访问权限?

如果这不可能,是否有任何其他方法可以在 Hive 中仅提供列级或行级访问?

请告诉我。感谢您的帮助。

【问题讨论】:

  • AFAIK,如果不授予对基础基表的访问权限,就无法创建具有所需访问权限的 VIEW。你需要加一点盐。

标签: security view hive row-level-security


【解决方案1】:

首先,了解 Hive 的真正含义很重要。 Hive 只是将 SQL 语句(或多或少)编译成 MapReduce 任务,它控制数据存储层。所以在 Hive 中没有访问管理这样的概念。

此外,有必要了解 Hive 中的“表”只是一个包含文件的 HDFS 文件夹。这意味着您可以使用一组标准的 HDFS 访问管理工具来管理每个表的访问。

您可以做的最好的事情是在 HDFS 级别限制对数据库的访问,并将部分数据导出到“公共表”中,以供权限较低的用户读取。

【讨论】:

  • Hive 也是元数据的所有者,当然有访问对象(元数据)的权限,您必须授予角色或用户。
【解决方案2】:

是的,您绝对可以授予对视图的访问权限并限制后备表。看看https://github.com/HortonworksUniversity/Essentials/blob/master/demos/ranger/README.md 的一些演示说明以及我使用 Ranger 做这件事的视频记录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    相关资源
    最近更新 更多