Тази публикация съдържа необходимата стъпка, необходима за създаване на UDF в Apache Pig. Всички UDF трябва да разширят функция за филтриране и трябва да съдържат метод, наречен exec, който съдържа Tuple. Приложената тук логика е, че ако Tuple е нула или нула, тя ще ви даде булева стойност: True или False. И ‘IsofAge’ е за проверка дали дадената възраст е правилна или не. Логиката на дефинираната от потребителя функция е написана в Java кодове, където JAR файлът ще бъде създаден и след това експортиран. JAR файлът е регистриран по-късно. Тези JAR файлове се намират в библиотечните файлове на Apache Pig по време на зареждането.
публичен клас IsOfAge разширява FilterFunc { @Override publicBoolean exec (Tuple tuple) throwsIOException { if (кортеж == null || tuple.size () == 0) { returnfalse } опитвам{ Обект обект = tuple.get (0) ако (обект == нула) { returnfalse } inti = (Integer) обект ако (i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { възвръщаемост } друго { returnfalse }} улов (ExecExceptione) { thrownewIOException (e) }}}
Как да се обадя на прасе UDF?
След като е създаден UDF, трябва да се използва следната команда за регистриране на JAR файла.
регистрирайте myudf.jar X = филтър A по IsOfAge (възраст)
Стъпки за създаване на UDF в Pig:
В Apache Pig има множество предварително дефинирани функции. Имаме и функцията да създадем наша собствена функция, която е потребителска функция (UDF). Pig UDF е написан на Java и това изисква Pig Library да използва предварително дефинираните класове. Библиотеката на Apache Pig pig-0.8.0-cdh3u0-core.jar може да се изтегли от интернет.
Щракнете тук за стъпки за създаване на Pig скрипт с UDF в режим HDFS.
Имате въпрос към нас? Споменете ги в раздела за коментари и ние ще се свържем с вас.
Подобни публикации:
java структури от данни и алгоритми
Apache Pig Script с UDF в режим HDFS
Оператори в Apache Pig: Част 1- Релационни оператори
Оператори в Apache Pig: Част 2 - Диагностични оператори