获取使用Spark-Java访问hdfs文件的用户列表

时间:2017-10-29 14:52:57

标签: hadoop apache-spark hdfs

从用Java编写的Spark作业,我试图获取有权访问特定hdfs文件的所有linux / centos用户的列表。

目前在Java代码下方获取信息:

result = Shell.execCommand("sudo","bash","-c","lid","-g","-n", fileOwnersGroup);

但它没有成功。扔掉了:

  

sudo:没有tty存在且没有指定askpass程序

尝试了各种选项,包括更新/ etc / sudoer但没有运气。

1 个答案:

答案 0 :(得分:0)

FileStatus对象具有getOwner()getGroup()方法。

您可以获取包含FileSystem个对象和Path的状态到文件。

例如,Spark Scala list folders in directory

但是,您需要一些外部查询来查找Unix帐户映射到组中的内容。例如,这种操作通常由LDAP搜索控制。

  

它正在抛出sudo:没有tty存在且没有指定askpass程序

显然问题是sudo提示输入密码而Spark进程不能在本地文件系统上执行提升命令