2011-04-20 43 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