ohana
ohana

Reputation: 285

Pig problem with load file with complicated name

i need to load file in pig which has a long and complicated name:

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

Pig complained:

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

anyone knows what's the problem? Thanks.

Upvotes: 3

Views: 1092

Answers (2)

ihadanny
ihadanny

Reputation: 4483

not exactly the same case, but we got:

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

for everything we tried to load, and the problem was that the PIG_CONF_DIR env variable was pointing to a folder that did not exist. We've reset it in the .bash_profile to a folder with valid core-site.xml and mapred-site.xml and everything's good now.

export PIG_CONF_DIR=/my_good_folder

Upvotes: 0

Erik Olson
Erik Olson

Reputation: 1164

If it's forming a URI from that, the : is a reserved character.

Think about it: file://a:b ... this would be taken as an FTP login.

Your error message seems to complain that what's left after the string is parsed is a relative path (I guess 00.csv after the last colon). Obviously no longer the whole filename.

You will need to escape any reserved characters in the filename before forming a URI. You could do this on the command line, with for example: ls | sed -e 's/:/%3A/g'

to transform the colons in the filename.

Or you could rename any files in the directory that use any of ";?:@&=+,$"

Upvotes: 2

Related Questions