1

我有一个关于 Hadoop 集群上 Sentry 的 Spark 权限的问题。

首先,一些背景 -

  1. 我正在使用 CDH 版本 5.13.2
  2. HDFS 上的 ACL 同步已启用
  3. 禁止模拟
  4. 授予数据库级别和特定情况下的 URI 授权

设想

有两个数据库,db_a 和 db_b。在 db_a 中有一个从 db_b 中定义的表中选择的视图。

我为在 db_a 上具有读取访问权限(授予选择)的特定用户授予特权。

在 Beeline/Impala/Hue 中,行为符合预期:

  • show databases 仅显示 db_a
  • 当用户查询 db_a 中的视图时,即使用户对 db_b 没有任何权限,它也能完美运行。

Spark SQL的问题:

  • 当同一用户尝试访问 db_a 中的视图时,由于用户无权访问 db_b,因此失败。

同样,具有相同用户的相同查询在 Hive/Impala 中运行良好。

是否有任何配置或解决方法来解决问题?

4

0 回答 0