我正在为Spark的执行程序设置一个额外的库路径(为了运行基于C ++库的udf)。
通过spark.executor.extraLibraryPath
提供额外的库时,我发现库路径被覆盖而不是被追加。
这是一个看到它的例子:
spark-shell -Dmaster=yarn-client --conf "spark.executor.extraLibraryPath=/path/to/mylib"
在Spark shell中,调用以下内容表明执行程序的LD_LIBRARY_PATH确实不正确:
scala> sc.parallelize(1 to 1).map(x => System.getenv("LD_LIBRARY_PATH")).collect
res0: Array[String] = Array(/path/to/mylib:)
似乎SPARK-1719中有一些修复,但我不确定修复是否正确。 有没有更好的方法将库路径附加到执行程序的运行时?