Steps to Create UDF in Apache Pig

Recommended by 79 users

Sep 9, 2014
Steps to Create UDF in Apache Pig
Add to Bookmark Email this Post 10.2K    2

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. 

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

Operators in Apache Pig: Part 2 – Diagnostic Operators

Big Data and Hadoop Training

Share on
Comments
2 Comments
  • aamir

    very nice and informative blog sir i appreciate your efforts . i have one question how to use hive internal table schema and data in pig script