This post contains the necessary step required to create UDF in Apache Pig. All UDF should extend a Filter function and has to contain a method called exec, which contains a Tuple. The logic applied here is that if the Tuple is null or zero, it will give you a Boolean value: True or False. And ‘IsofAge’ is for checking if the age given is correct or not. The logic of the User Defined Function is written in Java codes, where the JAR file will be created and then exported. The JAR file is later on registered. These JAR files are found in the library files of Apache Pig at the time of loading.
public class IsOfAge extends FilterFunc { @Override publicBoolean exec(Tuple tuple) throwsIOException { if(tuple == null|| tuple.size() == 0) { returnfalse; } try{ Object object= tuple.get(0); if(object == null) { returnfalse; } inti = (Integer) object; if(i == 18 || i == 19 || i == 21 || i == 23 || i == 27) { returntrue; } else{ returnfalse; } } catch(ExecExceptione) { thrownewIOException(e); } } }
How to Call a Pig UDF?
Once a UDF is created, the following command has to be used to register the JAR file.
register myudf.jar; X = filter A by IsOfAge(age);
Steps to Create UDF in Pig:
There are multiple predefined functions in Apache Pig. We also have the feature to create our own function that is User Defined Function (UDF). Pig UDF is written in Java and this requires Pig Library to use the predefined classes. The Apache Pig library pig-0.8.0-cdh3u0-core.jar can be downloaded from internet.
Click here for steps for creating a Pig script with UDF in HDFS Mode.
Embark on a transformative journey into the world of data engineering and unlock the power of data with our Data Engineer Courses.
Take your data analysis skills to the next level with our cutting-edge Big Data Course.
Got a question for us? Mention them in the comments section and we will get back to you.
Related Posts:
Apache Pig Script With UDF in HDFS Mode
Operators in Apache Pig: Part 1- Relational Operators