【问题标题】:Connect to two different HDFS servers with different usernames in Spark在 Spark 中使用不同的用户名连接到两个不同的 HDFS 服务器
【发布时间】:2016-05-16 02:47:20
【问题描述】:

有没有办法在同一个 Spark 作业中使用两个不同的用户名从 HDFS(例如,使用 sc.textFile)获取数据?例如,如果我在 hdfs-server-1.com 上有一个文件并且 alice 用户有权查看它,并且我在 hdfs-server-2.com 上有一个文件并且 bob 用户有权查看它,我'希望能够做类似的事情:

val rdd1 = sc.textFile("hdfs://hdfs-server-1.com:9000/file.txt", user="alice")
val rdd2 = sc.textFile("hdfs://hdfs-server-2.com:9000/file.txt", user="bob")

有没有办法做这样的事情?还是 Spark 只能使用运行时使用的用户名连接到 HDFS?

【问题讨论】:

    标签: apache-spark hdfs


    【解决方案1】:

    据我所知(我过去曾尝试过使用 Spark 1.4.0),这是不可能的:默认情况下,Spark 使用运行驱动程序进程的用户来访问 HDFS。运行驱动程序应用程序时,可以使用HADOOP_USER_NAME VM 选项覆盖用户(例如-DHADOOP_USER_NAME=alice)。该选项在构建 SparkContext 时被读取,因此之后无法更改。

    【讨论】:

      猜你喜欢
      • 2013-02-23
      • 2021-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-23
      • 2016-02-06
      • 2012-03-07
      相关资源
      最近更新 更多