我尝试使用java转换器将我的thrift文件转换为Parquet文件。
我有错误:
14/06/13 11:51:38 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
我不知道为什么,我使用intellij 13.1.2在Windows 7 64位上,我使用JRE和JDK 7 64位。
我的pom.xml包含:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.7</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
谢谢!
答案 0 :(得分:1)
你有两个不同的警告:
警告:&#34;适用于您平台的native-hadoop库...&#34;意味着你没有在系统路径上使用hadoop优化的64位dll。
警告:&#34; SLF4J:无法加载类&#34; org.slf4j.impl.StaticLoggerBinder&#34;&#34;意味着它在类路径上找不到任何SLF4J实现。由于slf4j-simple应该包含该类,这很奇怪。也许尝试使用slf4j-over-log4j而不是slf4j-simple?
这两种情况都只是警告。缺少hadoop dll意味着你不能获得原生优化,但只有纯Java代码,这可能会慢一些。
缺少SLF4j实现意味着您无法从hadoop获取任何日志记录,这可能会更加不方便。