Apache Pig - EqualsIgnoreCase()


Advertisements

The EqualsIgnoreCase() function is used to compare two strings and verify whether they are equal. If both are equal this function returns the Boolean value true else it returns the value false.

Syntax

Given below is the syntax of the function EqualsIgnoreCase()

grunt> EqualsIgnoreCase(string1, string2)

Example

Assume that there is a file named emp.txt in the HDFS directory /pig_data/ as shown below. This file contains the employee details such as id, name age and city.

emp.txt

001,Robin,22,newyork
002,BOB,23,Kolkata
003,Maya,23,Tokyo
004,Sara,25,London 
005,David,23,Bhuwaneshwar 
006,Maggy,22,Chennai
007,Robert,22,newyork
008,Syam,23,Kolkata
009,Mary,25,Tokyo
010,Saran,25,London 
011,Stacy,25,Bhuwaneshwar 
012,Kelly,22,Chennai

And, we have loaded this file into Pig with a relation named emp_data as shown below.

grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/emp.txt' USING PigStorage(',')
   as (id:int, name:chararray, age:int, city:chararray);

Given below is an example of the EqualsIgnoreCase() function. In this example we are comparing the names of every employees with the string value ‘Robin’.

grunt> equals_data = FOREACH emp_data GENERATE (id,name), EqualsIgnoreCase(name, 'Robin');

The above statement compares the string “Robin” (case insensitive) with the names of the employees, if the value matches it returns true else it returns false. In short, this statement searches the employee record whose name is ‘Robin’

The result of the statement will be stored in the relation named equals_data. Verify the content of the relation equals_data, using the Dump operator as shown below.

grunt>  Dump equals_data;
  
((1,Robin),true)
((2,BOB),false)
((3,Maya),false)
((4,Sara),false)
((5,David),false)
((6,Maggy),false)
((7,Robert),false)
((8,Syam),false)
((9,Mary),false)
((10,Saran),false)
((11,Stacy),false)
((12,Kelly),false) 
apache_pig_string_functions.htm
Advertisements