Hive数据按行过滤
Ranger支持对Hive数据按行进行过滤(Row Level Filter),即可以对Select返回的结果按行进行过滤,只显示满足指定条件的行。本文介绍如何将Hive数据按行进行过滤。
前提条件
已创建集群,并选择了Ranger服务,详情请参见创建集群。
已创建按行过滤的表。
操作步骤
说明
本文Ranger截图以2.1.0版本为例,其余版本请以实际界面为准。
Hive组件配置Ranger,详情请参见文档配置Hive开启Ranger权限控制。
在Ranger页面,单击emr-hive。
配置Row Level Filter Policy。
单击上方的Row Level Filter页签。
单击右上角的Add New Policy。
在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
单击Add。
可选:测试按行过滤数据。
例如,testc用户使用
select * from default.test_row_filter;
语句,查看表default.test_row_filter中的数据时,只能显示id≥10的数据。