【问题标题】:Write to external Hadoop with Spark使用 Spark 写入外部 Hadoop
【发布时间】:2018-07-24 22:04:44
【问题描述】:

我正在使用 Java-Spark。

我正在尝试写入外部 HDFS 目录,如下所示:

df.write().mode(mode).save("hdfs://myservername:8020/user/path/to/hdfs");

遇到了异常

主机详细信息:本地主机是:...目标主机是:...

如何从 Spark 写入“外部”hdfs 目录而不是本地 Hadoop/HDFS?

谢谢

【问题讨论】:

  • 您可以在 Spark 配置中覆盖 fs.defaultFS,但这看起来是正确的
  • 我还有其他方法吗?

标签: apache-spark hadoop hdfs


【解决方案1】:

检查 HDFS Namenode 主机名是否可以从 Spark 集群访问,您也可以使用 ip 地址。

hdfs://<HDFS_NAMENODE_IP>:8020/user/path/to/hdfs

您还可以使用以下命令更新 spark 应用程序中的 spark 配置:

spark.conf.set("fs.defaultFS", "hdfs://<HDFS_NAMENODE_IP>:8020/").

【讨论】:

  • 谢谢!,它会覆盖 hdfs-site.xml 文件还是只覆盖当前运行的配置??
  • 它将覆盖当前配置。
  • 哦,好吧,这意味着我不会将配置覆盖到另一个 spark 应用程序,对吧?
  • 是的,此配置将仅针对当前的 spark 应用程序进行更改。如果要覆盖所有应用程序的配置,可以更改 core-site.xml 中的条目。
猜你喜欢
  • 2019-05-30
  • 2014-08-22
  • 2018-11-30
  • 2020-01-06
  • 1970-01-01
  • 1970-01-01
  • 2018-10-31
  • 2012-08-11
  • 1970-01-01
相关资源
最近更新 更多