Spark - 警告 LoadSnappy:未加载 Snappy 本机库

Spark - WARN LoadSnappy: Snappy native library not loaded

正在尝试 运行 来自 Spark Summit 2014 的练习。当 运行 在终端中输入命令时,我不断收到以下信息:

Spark assembly has been built with Hive, including Datanucleus jars on classpath
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=128m; 
support was removed in 8.0
15/04/26 14:21:05 WARN NativeCodeLoader: Unable to load native-hadoop library 
for your platform... using builtin-java classes where applicable
15/04/26 14:21:05 WARN LoadSnappy: Snappy native library not loaded

我在网上发现第一个 NativeCodeLoader 警告应该出现在 MAC 上。第二个呢?如何加载 Snappy?

谢谢!

编辑:按原样,代码 运行s 生成上述输出,没有其他任何内容。

如果您是 运行 一个简单的 Map Reduce 程序,则可以通过安装 snappy 库并将其放在类路径中来避免该警告。您可以从这里 https://www.versioneye.com/java/org.xerial.snappy:snappy-java/1.1.1.2.

下载 jar

或者如果您使用的是 Maven 项目,则必须在 pom.xml

中添加此依赖项
<dependency>
  <groupId>org.xerial.snappy</groupId>
  <artifactId>snappy-java</artifactId>
  <version>1.1.1.7</version>
  <type>jar</type>
  <scope>compile</scope>
</dependency>

希望这对你有用。

OSX 环境中会出现这些警告。验证您是否已正确遵循教程中的步骤。要查看任何输出,您需要更新原始 MovieLensALS.scala 文件。

在“//您的代码”注释下方添加以下代码。

val numRatings = ratings.count
val numUsers = ratings.map(_._2.user).distinct.count
val numMovies = ratings.map(_._2.product).distinct.count

println("Got " + numRatings + " ratings from "
  + numUsers + " users on " + numMovies + " movies.")