2011-04-20 41 views
3

我需要加載文件中豬具有長期和複雜的名字加載文件:豬問題與複雜的名字

dealnews-2011-04-01T12:00:00:00.211-02:00.csv 

豬抱怨道:

ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2999: Unexpected internal error. java.net.URISyntaxException: Relative path in absolute URI: 

任何人都知道出了什麼問題?謝謝。

回答

2

如果它由此形成一個URI,則:是一個保留字符。

想一想:file:// a:b ...這將被視爲FTP登錄。

你的錯誤消息似乎在抱怨,解析字符串後留下的是一個相對路徑(我想最後一個冒號後的00.csv)。顯然不再是整個文件名。

在形成URI之前,您需要轉義文件名中的任何保留字符。 您可以在命令行上執行此操作,例如: ls | sed -e's /:/%3A/g'

用於轉換文件名中的冒號。

或者你可以重命名目錄中使用任何的任何文件 「;?:@ & = +,$」

0

不完全一樣的情況下,但我們得到:

ERROR 2999: Unexpected internal error. java.net.URISyntaxException cannot be cast to java.lang.Error 
java.lang.ClassCastException: java.net.URISyntaxException cannot be cast to java.lang.Error 

爲我們嘗試加載的所有內容,問題是PIG_CONF_DIR env變量指向一個不存在的文件夾。我們已經在.bash_profile中將它重置爲有效的core-site.xml和mapred-site.xml文件夾,現在一切都很好。

export PIG_CONF_DIR=/my_good_folder