2016-04-20 11 views
0

Ich versuche, einen Spark-Job auszuführen, der native shared library (.so) verwendet. Ich benutze --jars, um meine .so an alle Executoren zu kopieren (und die Datei scheint dort zu sein, entlang der funken .jar App), aber irgendwie gelingt es mir nicht, die Umgebung zu finden und die .so zu benutzen. Versucht, --conf spark.executor.extraLibraryPath und -Djava.library.path, aber nicht wirklich sicher, welche Pfade zu verwenden .. Gibt es einen einfachen Weg, um es zu arbeiten? (Unter Verwendung von AWS EMR 4.5.0, Funken 1.6.x)UnzufriedenerLinkError in Funken-EMR-Auftrag mit nativer Bibliothek

meine Funken einreichen:

spark-submit --deploy-mode cluster --driver-java-options --jars s3://at/emr-test/asb_UT/libSplineFitWrapperJava.so --class com.SplineFittingDummy s3://at/emr-test/asb_UT/asb-0.0.1-SNAPSHOT-jar-with-dependencies.jar s3://at/emr-test/asb_UT/testPoints01.xml s3://at/emr-test/asb_UT/output 

Antwort

0

Problem war mit Art und Weise .so bauen war. Nach dem Ausprobieren verschiedener Einstellungen und verfügbaren Setups (solaris & sfw, debian & g ++ 4.6, ...), die fehlgeschlagen sind, habe ich versucht, .so auf EMR zu kompilieren und alles funktioniert jetzt. Obwohl es hilfreich wäre, wenn Amazon ein Docker-Image mit ihrem Setup zur Verfügung stellen könnte, so dass wir kompilieren können, ohne tatsächlich den gesamten Quellcode in EMR zu kopieren.