本机库 lz4 不适用于 Spark
Posted
技术标签:
【中文标题】本机库 lz4 不适用于 Spark【英文标题】:Native library lz4 not available for Spark 【发布时间】:2016-10-14 07:51:19 【问题描述】:如何添加 lz4
本地库以供 Spark 工作人员使用?
我尝试通过LD_LIBRARY_PATH
和(如图所示 - 但没有接受甚至赞成的答案 - 在Apache Spark Native Libraries 中) - 在SPARK_LIBRARY_PATH
中添加它们。他们不工作:我们得到:
java.lang.RuntimeException: native lz4 library not available
at org.apache.hadoop.io.compress.Lz4Codec.getCompressorType(Lz4Codec.java:125)
at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:150)
at org.apache.hadoop.io.compress.CodecPool.getCompressor(CodecPool.java:165)
at org.apache.hadoop.io.SequenceFile$Writer.init(SequenceFile.java:1201)
at org.apache.hadoop.io.SequenceFile$Writer.<init>(SequenceFile.java:1094)
at org.apache.hadoop.io.SequenceFile$BlockCompressWriter.<init>(SequenceFile.java:1444)
at org.apache.hadoop.io.SequenceFile.createWriter(SequenceFile.java:277)
at BIDMat.HDFSIO.writeThing(HDFSIO.scala:96)
这里是LD_LIBRARY_PATH
$echo $LD_LIBRARY_PATH
/usr/local/Cellar/lz4/r131/lib:/usr/local/Cellar/hadoop/2.7.2/libexec/lib:
12:15:35/BIDMach_Spark $ll /usr/local/Cellar/lz4/r131/lib
以及lz4
相关条目的内容:
$ll /usr/local/Cellar/lz4/r131/lib
total 528
-r--r--r-- 1 macuser admin 71144 Sep 21 2015 liblz4.a
drwxr-xr-x 7 macuser admin 238 Sep 21 2015 .
drwxr-xr-x 3 macuser admin 102 Jun 13 10:41 pkgconfig
-r--r--r-- 1 macuser admin 64120 Jun 13 10:41 liblz4.dylib
-r--r--r-- 1 macuser admin 64120 Jun 13 10:41 liblz4.1.dylib
-r--r--r-- 1 macuser admin 64120 Jun 13 10:41 liblz4.1.7.1.dylib
【问题讨论】:
所以我不使用 OSX 但你没有.so
(.bundle
?) 文件,这正是你需要的。
@zero323 好问题 - 我自己也不知道答案。显然 .dylib 是 mac equiv。 ***.com/questions/2339679/…
你需要MH_BUNDLE
而不是MH_DYLIB
(现在我很聪明;))
@zero323 这比我到目前为止所达到的要深得多。我只是通过brew
安装了lz4
- 并尝试使用这些结果。如果他们(显然)在他们的 gc++ 选项上使用了 MH_DYLIB,这超出了我的“范围”。也许我必须弄清楚如何在 mac 上编译原生 hadoop 库。听起来不祥。
别问我。虽然这是一个很好的 UNIX,但所有这些 brews 和东西听起来就像一个黑魔法 ;) 不过,我相当肯定这就是问题所在。在旁注中,我回答了另一个问题,但它在这里没有用,因为警告是关于 libhadoop
。
【参考方案1】:
更新您的 hadoop jar,应该可以正常工作。
【讨论】:
以上是关于本机库 lz4 不适用于 Spark的主要内容,如果未能解决你的问题,请参考以下文章
Worklight 6.0.0.1 iOS 本机库仅适用于 ARMv7 而不适用于 ARMv7s 和 ARM64?
android facebook登录不适用于安装的本机facebook