UnsatisfiedLinkError в задании Spark EMR с собственной библиотекой

Я пытаюсь запустить искровое задание, в котором используется собственная общая библиотека (.so). Я использую --jars для копирования моего .so всем исполнителям (и файл, кажется, там, вместе с приложением spark .jar), но почему-то мне не удается настроить среду для поиска и использования .so. Пробовал --conf spark.executor.extraLibraryPath и -Djava.library.path, но не совсем уверен, какие пути использовать. Есть ли простой способ заставить его работать? (используя AWS EMR 4.5.0, spark 1.6.x)

моя искра-представить:

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

person dusho    schedule 20.04.2016    source источник


Ответы (1)


Проблема была в способе сборки. Попробовав различные настройки и доступные настройки (solaris и sfw, debian и g++ 4.6, ...), которые не увенчались успехом, я попытался скомпилировать .so на EMR, и теперь все работает. Хотя было бы полезно, если бы Amazon мог предоставить какой-нибудь образ докера с их настройкой, чтобы мы могли скомпилировать, фактически не копируя весь исходный код в EMR.

person dusho    schedule 25.04.2016