java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path
我用的mac,在运行spark程序时遇到此问题。我使用的相关依赖包的版本如下:
<scala.version>2.11.8</scala.version>
<scala.binary.version>2.11</scala.binary.version>
<spark.version>1.6.3</spark.version>
网上查到好几种答案,都挺麻烦的。在StackOverflow发现了一个简单的方法与大家分享。因为spark-core_2.11
中依赖的1.0.4版本的snappy-java
存在此问题,在1.0.5版本已经修复了此问题。所以可以在pom中这样写:
<dependency>
<groupId>org.apache.spark</groupId>
<artifactId>spark-core_${scala.binary.version}</artifactId>
<version>${spark.version}</version>
<exclusions>
<exclusion>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.xerial.snappy</groupId>
<artifactId>snappy-java</artifactId>
<version>1.0.5</version>
</dependency>
再次运行,已经没有报错了。