2015-08-09 63 views
2

所以我想嘗試使用Hive MAP和REDUCE的自定義映射器reducer查詢。配置單元添加文件/ jar說不存在

我已經編寫並將自定義映射器和還原器導出到jar文件,並嘗試從Hive CLI中添加它。無論我在哪裏複製jar,我都會得到「不存在」錯誤。我嘗試了以下。

我將文件複製到/ usr/local/hive/lib /,/ usr/local/hive/conf /和/ tmp /然後在hdfs中複製到/,/ user/hive /和/ user /蜂巢/倉儲/

我想給的完整路徑,然後我得到URL語法異常

hive> add jar 'hdfs://srimanthpc:9000/SpaceTravel.jar'; 
Illegal character in scheme name at index 0: 'hdfs://srimanthpc:9000/SpaceTravel.jar' 
Query returned non-zero code: 1, cause: java.net.URISyntaxException: Illegal character in scheme name at index 0: 'hdfs://srimanthpc:9000/SpaceTravel.jar' 

hive> add jar 'file:///home/anil/Desktop/SpaceTravel.jar'; 
Illegal character in scheme name at index 0: 'file:///home/anil/Desktop/SpaceTravel.jar' 
Query returned non-zero code: 1, cause: java.net.URISyntaxException: Illegal character in scheme name at index 0: 'file:///home/anil/Desktop/SpaceTravel.jar' 

如果我給的路徑沒有它說,它不存在任何模式。我試了加文件而不是加jar也。

我的hive-site.xml有hive.aux.jars.path設置爲/ usr/local/hive/lib /。我試圖改變這個文件:/// hdfs:// localhost:9000 /但沒有變化:(

所有在線文檔說添加JAR |文件路徑。但沒有人提到這是什麼路徑。 (

我一直呆在這裏,因爲過去4小時請幫我我缺少什麼

附加信息:? 我的.bashrc

export HIVE_HOME=/usr/local/hive 
export PATH=$PATH:$HIVE_HOME/bin 
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:. 
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:. 

回答

5

從刪除'您查詢

hive> add jar hdfs://srimanthpc:9000/SpaceTravel.jar; 

的情況下,主是在本地主機上

hive> add jar hdfs://localhost:9000/SpaceTravel.jar; 

確保SpaceTravel.jar應該在HDFS。

使用命令

hdfs dfs -ls/
+1

刪除引號並獲得成功。謝啦。 –