Свинья проблема с загрузкой файла со сложным именем

Мне нужно загрузить файл в формате pig, который имеет длинное и сложное имя:

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'

чтобы преобразовать двоеточия в имени файла.

Или вы можете переименовать любые файлы в каталоге, которые используют любой из ";?:@&=+,$"

Не совсем такой же случай, но мы получили:

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

для всего, что мы пытались загрузить, и проблема заключалась в том, что переменная env PIG_CONF_DIR указывала на несуществующую папку. Мы сбросили его в.bash_profile в папку с действительными core-site.xml и mapred-site.xml, и теперь все хорошо.

export PIG_CONF_DIR=/my_good_folder
Другие вопросы по тегам