2015-04-19 58 views
3

我試圖獲得最新版本的鑲木地板工具正在運行,但我遇到了一些問題。由於某種原因,org.apache.hadoop.conf.Configuration不在陰影中。 (我也有與v1.6.0相同的問題)。無法從命令行獲得鑲木地板工具

是否有什麼超越mvn packagemvn install我應該這樣做? (我使用的實際mvn調用是mvn install -DskipTests -pl \!parquet-thrift,\!parquet-cascading,\!parquet-pig-bundle,\!parquet-pig,\!parquet-scrooge,\!parquet-hive,\!parquet-protobuf)。這工作得很好,如果我選擇運行測試,測試會通過。

我得到的錯誤是在下面(你可以看到我試圖從一個古老的parquet版本粘貼hadoop jar,它似乎將它捆綁到類路徑中;我得到相同的結果有或沒有它)。

> java -classpath /path/to/hadoop-core-1.1.0.jar -jar parquet-tools-1.7.0-incubating-SNAPSHOT.jar meta --debug part-r-00000.gz.parquet 

java.lang.NoClassDefFoundError: org/apache/hadoop/conf/Configuration 
    at parquet.tools.command.ShowMetaCommand.execute(ShowMetaCommand.java:59) 
    at parquet.tools.Main.main(Main.java:222) 
Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.conf.Configuration 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:372) 
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:360) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 2 more 
org/apache/hadoop/conf/Configuration 

回答

0

我遇到類似的問題,並通過指定「本地」輪廓固定它:

mvn clean package -Plocal 

本來我錯過了這一段,但它解釋說,如果你想在Hadoop的依賴混合,「本地」的個人資料這樣做,而不是在那裏你指望用它的地方的Hadoop已安裝並出現在你的classpath默認:

https://github.com/Parquet/parquet-mr/tree/master/parquet-tools

+0

對不起你離開你了;這並沒有結束我的工作,但感謝你的嘗試! – Isaac

1

這組來自the parquet-mr issues list步驟固定同樣的問題對我來說:

mvn install 
cd parquet-tools 
mvn clean package -Plocal 
mvn install 
mvn dependency:copy-dependencies 
# replace 1.8.2 in the next step with the version you're using 
cp target/parquet-tools-1.8.2-SNAPSHOT.jar target/dependency/ 
mkdir -p ~/local/bin/lib 
cp target/dependency/* ~/local/bin/lib/ 
cp src/main/scripts/* ~/local/bin/ 
echo export PATH=$PATH:~/local/bin >> .profile 
2

如果您已經安裝了Hadoop的,改變你的命令是hadoop jar parquet-tools-1.7.0-incubating-SNAPSHOT.jar meta --debug part-r-00000.gz.parquet代替。

1

還可以包括Hadoop的依存關係到目標的jar:

mvn clean package -Plocal -DskipTests -Dhadoop.scope=compile

8

使用自制的MacOS,這是最簡單的方式開始:

$ brew install parquet-tools 
相關問題