我需要在猪中加载文件,其名称长而复杂:
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:
谁知道问题是什么?感谢。
答案 0 :(得分:2)
如果它正在形成一个URI,则:是一个保留字符。
考虑一下:file:// a:b ...这将被视为FTP登录。
您的错误消息似乎抱怨解析字符串后剩下的是相对路径(我猜最后一个冒号后的00.csv)。显然不再是整个文件名。
在形成URI之前,您需要转义文件名中的所有保留字符。 您可以在命令行上执行此操作,例如: ls | sed -e's /:/%3A / g'
转换文件名中的冒号。
或者你可以重命名目录中任何使用“;?:@& = +,$”的文件
答案 1 :(得分: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