ottensa / severus-snake

Severus Snake is a Talend Component that allows you to use Python within your Talend Jobs
MIT License
5 stars 1 forks source link

Class path contains multiple SLF4J bindings. #2

Open ishaansharma opened 3 years ago

ishaansharma commented 3 years ago

I am trying to run the python script using this component that you build . but while running the job I am getting the error mentioned below.

[statistics] connecting to socket on port 3476
[statistics] connected
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/<user>/Talend/configuration/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.12.1/log4j-slf4j-impl-2.12.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/<user>/Talend/configuration/.m2/repository/org/talend/sdk/component/slf4j-standard/1.29.0-SNAPSHOT/slf4j-standard-1.29.0-SNAPSHOT.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]
Exception in component PythonScript_1 (test_tsetglobalvar)
org.talend.sdk.component.api.exception.ComponentException: (java.lang.UnsatisfiedLinkError) no jep in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
    at java.lang.Runtime.loadLibrary0(Runtime.java:871)
    at java.lang.System.loadLibrary(System.java:1124)
    at jep.MainInterpreter.initialize(MainInterpreter.java:128)
    at jep.MainInterpreter.getMainInterpreter(MainInterpreter.java:101)
    at jep.Jep.<init>(Jep.java:256)
    at jep.Jep.<init>(Jep.java:251)
    at jep.Jep.<init>(Jep.java:149)
    at jep.SubInterpreter.<init>(SubInterpreter.java:58)
    at de.ottensa.talend.components.processor.ScriptProcessor.beforeGroup(ScriptProcessor.java:70)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.talend.sdk.component.runtime.base.LifecycleImpl.doInvoke(LifecycleImpl.java:83)
    at org.talend.sdk.component.runtime.output.ProcessorImpl.lambda$beforeGroup$3(ProcessorImpl.java:150)
    at java.util.ArrayList.forEach(ArrayList.java:1259)
    at org.talend.sdk.component.runtime.output.ProcessorImpl.beforeGroup(ProcessorImpl.java:150)
    at org.talend.sdk.component.runtime.manager.chain.AutoChunkProcessor.onElement(AutoChunkProcessor.java:36)
    at cee_test_etl.test_tsetglobalvar_0_1.test_tsetglobalvar.tFileInputDelimited_1Process(test_tsetglobalvar.java:1086)
    at cee_test_etl.test_tsetglobalvar_0_1.test_tsetglobalvar.runJobInTOS(test_tsetglobalvar.java:1470)
    at cee_test_etl.test_tsetglobalvar_0_1.test_tsetglobalvar.main(test_tsetglobalvar.java:1317)
[statistics] disconnected

If you can resolve this issue , kindly help. Regards,

ottensa commented 3 years ago

Do you have the JEP Python library installed? What does the config of the Python component look like?

The Exception means that the Java dependencies for JEP can't be found, which I got when JEP in Python was missing

ishaansharma commented 3 years ago

I installed the JEP from the source using the steps mentioned in this repository. Requirement already satisfied: jep in /home/<user>/anaconda3/lib/python3.8/site-packages (3.9.1) python path: /home//anaconda3/bin/python3.8 script Path :/home//Talend/workspace/pt.py When I am trying to guess the schema, than also it is showing the above error. I went through this but still couldn't resolve the issue. Regards,