从用Java编写的Spark作业,我试图获取有权访问特定hdfs文件的所有linux / centos用户的列表。
目前在Java代码下方获取信息:
result = Shell.execCommand("sudo","bash","-c","lid","-g","-n", fileOwnersGroup);
但它没有成功。扔掉了:
sudo:没有tty存在且没有指定askpass程序
尝试了各种选项,包括更新/ etc / sudoer但没有运气。
答案 0 :(得分:0)
FileStatus
对象具有getOwner()
和getGroup()
方法。
您可以获取包含FileSystem
个对象和Path
的状态到文件。
例如,Spark Scala list folders in directory
但是,您需要一些外部查询来查找Unix帐户映射到组中的内容。例如,这种操作通常由LDAP搜索控制。
它正在抛出sudo:没有tty存在且没有指定askpass程序
显然问题是sudo提示输入密码而Spark进程不能在本地文件系统上执行提升命令