当前位置: 首页 > 知识库问答 >
问题:

HDFS 中的 Spark 类路径

杨彦君
2023-03-14

对于运行在YARN (yarn-client)上的Spark作业,可以用位于HDFS的jar指定类路径吗

这有点像使用Map Reduce jobs:

DistributedCache.addFileToClassPath(Path file, Configuration conf, FileSystem fs)

共有1个答案

吴唯
2023-03-14

来自SparkContext文档:

def addJar(路径:字符串):单位

为将来要在此SparkContext上执行的所有任务添加JAR依赖项。传递的路径可以是本地文件、HDFS(或其他Hadoop支持的文件系统)中的文件、HTTP、HTTPS或FTP URI,或每个工作节点上文件的本地:/路径。

所以我认为在你的parkContext初始化中添加这个就足够了:

sc.addJar("hdfs://your/path/to/whatever.jar")

如果只想添加一个文件,有一个相关的addFile()方法。

有关更多信息,请参阅文档。

 类似资料:
  • 我想从Hadoop文件系统中读取该文件。 为了实现文件的正确路径,我需要的主机名和端口地址。 最后,我的文件路径看起来像 现在我想知道如何提取主机名=“123.23.12.4344” 基本上,我想访问亚马逊电子病历上的文件系统,但是,当我使用

  • ...等 但是,默认情况下,Spark会加载jar文件:/usr/lib/Spark/jars/guice-3.0.jar,其中包含com.google.inject.internal.injectorImpl,这个类也在我的超级jar中的Guice-4.x jar中。当我的服务启动时,这将导致。 我尝试在中设置一些Spark conf,将super jar放在类路径中,希望在Spark加载gui

  • 我正尝试使用hadoop 2.7.2和AllXIO从AWS上的spark 2.1.0独立集群连接到redshift,这给我带来了以下错误:

  • 我有一个大的(>500M行)CSV文件。这个CSV文件中的每一行都包含一个位于HDFS上的二进制文件的路径。我想使用Spark读取这些文件中的每一个,处理它们,并将结果写到另一个CSV文件或表中。 在驱动程序中执行此操作非常简单,下面的代码完成了这项工作 但是失败 是否可以让执行者直接访问HDFS文件或HDFS文件系统?或者,是否有一种有效的方法来读取HDFS/S3上数百万个二进制文件并用Spar

  • 我正在尝试将我的模型保存为从spark ml库创建的对象。 但是,它给了我一个错误: 以下是我的依赖项: 我还想将从模型生成的dataframe保存为CSV。