我尝试使用tSystem Component TALEND启动jar Spark,但是我有一个错误:
命令tSystem:
"cmd /c spark-submit --class reprisesComptesExistants.PhasePreliminaire.main --master local[5] C:/Users/A661758/dataintegrationRepriseExistant/target/scala-2.11/dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar"
错误:
Warning: Skip remote jar C:/Users/A661758/dataintegrationRepriseExistant/target/scala-2.11/dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar.
java.lang.ClassNotFoundException: reprisesComptesExistants.PhasePreliminaire
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at org.apache.spark.util.Utils$.classForName(Utils.scala:229)
at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:695)
at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:187)
at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:212)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:126)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
[statistics] disconnected
Job test1 terminé à 13:54 16/06/2017. [Code sortie=0]
答案 0 :(得分:2)
local: - 以local:/开头的URI应该作为本地存在 每个工作节点上的文件。这意味着没有网络IO 已发生,适用于推送到每个文件/ JAR的大型文件/ JAR 工作者,或通过NFS,GlusterFS等共享
尝试在文件uri之前添加local:/
,如下所示:
local:/C:/Users/A661758/dataintegrationRepriseExistant/target/scala-2.11/dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar
或者要摆脱windows fs路径问题,只需将你的jar放入HDFS并使用这个synthax:
hdfs://hostname:9000/path/dataintegrationRepriseExistant-assembly-0.1.0-SNAPSHOT.jar
答案 1 :(得分:0)
请确保您正在映射班级名称 它应该是package.classname,如com.company.test.Classname “com.company.test”是你的包,Classname是你的类。
如果您使用的是talend bigdata平台V6.2.1,我建议您使用带有spark而不是standarad作业的bigdata批处理作业。