Мой PIG-скрипт имеет следующую строку
register 'foo.py' USING jython as foo;
Файл foo.py присутствует в корне HDFS.
, но когда я запускаю свой код, я получаю ошибку
ERROR 2997: Encountered IOException. File foo.py does not exist
Я сделал Google и нашел эту тему
Обнаружено IOException при регистрации Python UDF в pig.Файл helloworld.py не существует
Решение, по-видимому, подразумевает, что файл foo.py должен быть скопирован в локальную файловую систему, чтобы он работал.но это не вариант для меня.
Я хочу скопировать foo.py на HDFS, а затем использовать его из сценария pig.
Я уже пробовал register './foo.py' USING jython as foo;
, и я могу подтвердить, чтоФайл foo.py находится в корневом каталоге HDFS.
Я также попытался изменить разрешения для файла foo.py на rwxrwxrwx
, но Pig не может найти этот файл.
Edit :: Так как я использую бистро Hortonworks, я также попытался зарегистрировать свой UDF на вкладке UDF.но он все равно выдает такую же ошибку даже после регистрации.
Edit2 :: Я также скопировал util.py в каталог /user/admin
и дал разрешения rwxrwxrwx
.но все еще не могу найти файл py.
Edit3 :: также пытался register 'hdfs://foo.py' USING jython as util;
, но все равно не найдет его.