Zeppelin,Livy,我可以得到代理用户吗

Zeppelin, Livy, Can I get the proxyUser

我正在尝试获取用于在我的 scala (%livy) 脚本中登录 Zeppelin 的用户 ID。 我试过在线搜索并注意到有一个名为 "proxyUser" 的 属性。但是,我不知道如何在我的 Scala 脚本中得到这个 属性。

我已经尝试转储我的 SparkContext (spark) 和 ScalaContext (sc) 中的所有属性,但没有找到任何看起来有希望的东西。

我不确定还有什么地方可以看,任何指导将不胜感激...

最终目标是从我将构建的自定义库访问登录用户。所以理想情况下,我想获得某种包含登录 ID 的只读属性,并将该结构传递给我的自定义库,后者将依次提取用户 ID。 换句话说,我不希望脚本作者将用户 ID 作为字符串变量传递(因为我不希望他们试图冒充其他用户)。

在设置页面为 Livy 解释器启用 'User Impersonate' 选项。一旦您在解释器设置下拉列表中使用 select 'per user' - 'isolated' 模式,就会出现此选项。 检查此 link 了解更多信息

在扯掉我的大部分头发后,一位同事首先说明了对我来说本应显而易见的事情:

sc.sparkUser

Returns Zeppelin 中模拟的用户 ID。