Почему Hive выдает ошибку FileNotFoundException, когда UDF использует некоторые файлы внешних ресурсов, но работает прямо на нативном? - PullRequest
1 голос
/ 06 сентября 2011

UDF использовал некоторые внешние файлы ресурсов, затем он выдавал ошибку: «java.io.FileNotFoundException: resource / placeMap.txt (Нет такого файла или каталога)», эта функция работает прямо на нативном, почему неверна на кусте, как можетЯ решил это?Большое спасибо!

Ответы [ 2 ]

2 голосов
/ 07 сентября 2011

посмотрите на это . то, что вы хотите сделать, это add file <filename>, чтобы <filename> можно было добавить в распределенный кеш.

он будет доступен, как если бы он находился в том же пути, что и исполняемый файл / jar, так что проверяйте также пути ваших родственников.

1 голос
/ 07 сентября 2011

что в основном делает улей, это конвертирует ваши запросы в задания схемы сокращения карты. поэтому они выполняются на машинах с трекерами задач. поэтому, если вы используете внешний источник, вам нужно быть уверенным, что этот файл существует на каждой машине по одному и тому же пути (и было бы намного лучше использовать fullpath), или получить файл из hdfs, и загрузить исходный файл из HDFS. (Я предпочитаю использовать hdfs, гораздо безопаснее)

...