Описание тега udf
Из документов:
Вступление
Pig обеспечивает расширенную поддержку пользовательских функций (UDF) как способ указать пользовательскую обработку. В настоящее время UDF Pig могут быть реализованы на трех языках: Java, Python и JavaScript.
Наиболее обширная поддержка предоставляется для функций Java. Вы можете настроить все части обработки, включая загрузку / сохранение данных, преобразование столбцов и агрегирование. Функции Java также более эффективны, потому что они реализованы на том же языке, что и Pig, и потому, что поддерживаются дополнительные интерфейсы, такие как алгебраический интерфейс и интерфейс накопителя.
Ограниченная поддержка предоставляется для функций Python и JavaScript. Эти функции являются новыми, постоянно развивающимися дополнениями к системе. В настоящее время поддерживается только базовый интерфейс; функции загрузки / сохранения не поддерживаются. Кроме того, JavaScript предоставляется в качестве экспериментальной функции, поскольку он не прошел такое же количество тестов, как Java или Python. Обратите внимание, что во время выполнения Pig автоматически обнаруживает использование UDF сценария в сценарии Pig и автоматически отправляет соответствующий jar сценария, Jython или Rhino, на бэкэнд.