我有一个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?
答案 0 :(得分:0)
您需要将jar放入hdfs并提供该路径以激活提交。
这样所有的spark进程都可以访问该类。