Apache Spark 1.6.1映射中的Class.forName

时间:2017-06-10 10:30:46

标签: scala apache-spark reflection classnotfoundexception

我有一个spark scala 1.6.1_2.10项目,其中2个模块在编译时不依赖。第一个模块是启动火花驱动程序应用程序。 在第一个模块中,在一个rdd.map {}操作中,我试图使用反射class.forName加载一个类(" second.module.function.MapOperation")

我的spark-submit将模块1的罐子作为主罐子,将其他罐子放在--jars选项中。

此代码在我的intellij本地运行正常。 由于群集上的ClassNotFound second.module.function.MapOperation,这会失败 如果我测试同一个类,那么使用ClassNotFound的功能测试用例也会失败。

我是否存在类加载器问题并在spark作业/操作中使用Class.forName?

1 个答案:

答案 0 :(得分:0)

您需要将jar放入hdfs并提供该路径以激活提交。

这样所有的spark进程都可以访问该类。