Talend - 无法运行作业 - NoClassDefFoundError

时间:2015-11-13 16:15:52

标签: java mysql hadoop hive talend

我正在使用带有java jdk 1.8u65的Talend v6.0.1来处理涉及mySQL和Hive的作业。 使用mySQL功能的作业工作得很好,而在另一端使用Hive的作业总是以一种非常奇怪的方式崩溃。

这是怎么回事:

  • 我打开Talend,使用Hive运行一个工作,它可以工作:

    Démarrage du job InsertCustomers_Into_Hive a 16:39 13/11/2015.
    [statistics] connecting to socket on port 3543
    [statistics] connected
     START JOB TO LOAD PROJECT CONTEXT C:\webs\project
    ContextReader_PROJECT: context will be loaded from C:\webs\project/project-batch.properties
    ...
    
  • 我再次运行它,它不再起作用了:

    Démarrage du job InsertCustomers_Into_Hive a 16:40 13/11/2015.
    [statistics] connecting to socket on port 3881
    [statistics] connected
    Exception in thread "main" java.lang.NoClassDefFoundError: project_batch_talend/contextreader_project_1_0/ContextReader_PROJECT
        at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.tRunJob_1Process(InsertCustomers_Into_Hive.java:2382)
        at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.runJobInTOS(InsertCustomers_Into_Hive.java:4981)
        at project_batch_talend.insertcustomers_into_hive_0_1.InsertCustomers_Into_Hive.main(InsertCustomers_Into_Hive.java:4622)
    Caused by: java.lang.ClassNotFoundException: project_batch_talend.contextreader_project_1_0.ContextReader_PROJECT
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
        ... 3 more
    [statistics] disconnected
    Job InsertCustomers_Into_Hive terminé à 16:40 13/11/2015. [Code sortie=1]
    
  • 如果我运行任何其他工作(包括通常不会给我带来任何麻烦的mySQL工作),我会得到同样的错误。

我尝试在另一台机器上安装相同的环境,我得到了同样的错误。

我希望你能给我一个解决这个问题的想法。 干杯

亚历

1 个答案:

答案 0 :(得分:0)

找到这个问题的答案。如果您遇到这种情况,可能是因为您正在重复使用其他人的工作。

Parameters of tHiveConnection_1

转到tHiveConnection_1组件的参数,单击分发选项左侧的按钮,删除所有库。之后,您将被要求重新加载它们。选择一个发行版和不同的版本,直到它工作。

干杯,

亚历