本机库 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?

JPA batch_size 属性不适用于本机查询

android facebook登录不适用于安装的本机facebook

Postgres Interval 不适用于本机 Spring 数据 JPA 查询

React 本机通知图标不适用于三星

本机 Javascript 单击事件不适用于按钮中的图标