2013-10-27 2 views
0

только что начал использовать HDInsight.Hdinsight по умолчанию папка для UDF

Я хочу зарегистрировать UDF в режиме сжимания свиньи, но либо это не работает, либо я не знаю, где положить файлы jar, чтобы свиньи загрузили его.

прямо сейчас, что я сделал, это поместить файл jar в папку lib (C: \ apps \ dist \ pig-0.9.3-SNAPSHOT \ lib) и в корневую папку свиньи (C: \ apps \ dist \ свино-0.9.3-ПАНОРАМА) и ничего не работает для меня, просто держать все это:

REGISTER elephant-bird-pig-3.0.0.jar; 

и ответ:

2013-10-27 09: 28: 53466 [главная] ОШИБКА org.apache.pig.tools.grunt.Grunt - ОШИБКА 101: Локальный файл 'слон-птица-свиньи-3.0.0.jar' не существует. Подробности в файле журнала: C: \ apps \ dist \ hadoop-1.1.0-SNAPSHOT \ logs \ pig_1382864851131.log

, пожалуйста, дайте мне знать, где и как я должен регистрировать этот UDF.

Спасибо

+0

мне удалось погрузить UDF, поместив их в папку бин. –

ответ

1

Вы не должны помещать их в папке BIN долго, потому что, если узел получает перезапись образом вы можете потерять файлы. Лучше поместить их в хранилище Windows Azure.

  1. Скопируйте дополнительный .jar для UDF на Windows Azure Storage Blobs ... WASB.

    • Возможно, вы создали папку «PigExtras». Место вашего источника будет отличаться, и ваши места назначения будут вашим контейнером и учетной записью.

    • Загрузить с помощью командной строки Hadoop:

    hadoop fs -copyFromLocal C:\files\MyUDF.jar wasb://[email protected]/PigExtras/MyUDF.jar

    hadoop fs -copyFromLocal c:\apps\dist\pig-0.11.0.1.3.1.0-06\piggybank.jar wasb://[email protected]/PigExtras/piggybank.jar

  2. Ссылка .jar место в свинью латинице. Я считаю, что подстановочный знак можно использовать для загрузки всех банок из определенной папки, но это может быть неэффективно, если их много.

    REGISTER wasb:///PigExtras/*.jar; myset = load 'wasb://[email protected]/data/file.txt' using MyUDF(); dump myset

+0

Пожалуйста, [не используйте подписи или метки в своих сообщениях] (http://stackoverflow.com/help/behavior). – meagar

+0

Мы наконец пошли с последним вариантом, имея контейнер со всеми UDF, которые всегда будут оставаться, даже когда мы очищаем сервер HDInsight. Но я забыл об этом вопросе, поэтому спасибо за подробный ответ. –

Смежные вопросы