Hive数据按行过滤

更新时间: 2024-05-27 10:53:54

Ranger支持对Hive数据按行进行过滤(Row Level Filter),即可以对Select返回的结果按行进行过滤,只显示满足指定条件的行。本文介绍如何将Hive数据按行进行过滤。

前提条件

  • 已创建集群,并选择了Ranger服务,详情请参见创建集群

  • 已创建按行过滤的表。

操作步骤

说明

本文Ranger截图以2.1.0版本为例,其余版本请以实际界面为准。

  1. Hive组件配置Ranger,详情请参见文档配置Hive开启Ranger权限控制

  2. 在Ranger页面,单击emr-hive

    Ranger-2

  3. 配置Row Level Filter Policy。

    1. 单击上方的Row Level Filter页签。

    2. 单击右上角的Add New Policy

    3. Create Policy页面,配置相关参数。

      参数

      描述

      示例

      Policy Name

      Policy的名称。您可以自定义。

      test-row-filter

      Hive Database

      添加Hive中的数据库。

      default

      Hive Table

      添加表。

      test_row_filter

      Select User

      选择配置按行过滤的用户。

      testc

      Access Types

      选择授予的权限。

      select

      Row Level Filter

      填写过滤的函数。

      id>=10

    4. 单击Add

  4. 可选:测试按行过滤数据。

    例如,testc用户使用select * from default.test_row_filter;语句,查看表default.test_row_filter中的数据时,只能显示id≥10的数据。hive-row

上一篇: Hive数据脱敏 下一篇: 查看Ranger日记审计信息
阿里云首页 开源大数据平台 E-MapReduce 相关技术圈