cloudera impala中的sql行级安全性

tktrz96b  于 2021-06-26  发布在  Impala
关注(0)|答案(0)|浏览(272)

我需要在impala中实现基于用户id的行级安全性。我现在采用的方法是,我有一个用户到角色的Map,并使用该Map形成一个主查询,如下所示:

create view dervied_view as 
select *, 1 as roleid from src_table where a = 1 and b = 2
union
select *, 2 as roleid from src_table where a = 1 and b = 3
...
...

然后,进行另一个查询,如下所示:

create view well_known_named_view as 
select * from derived_view where roleid in 
(select roleid from role_mapping table where userid = effective_user());

这样,每当用户登录时,他只需要查询众所周知的视图,而不需要根据每个用户/角色创建视图。问题是这个查询在hue中超时(这是它最常被使用的地方),并且在shell中执行一个基本查询至少需要10分钟。有没有更好的办法让这个工作?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题