The TOTUPLE() function is used convert one or more expressions to the data type tuple.
Given below is the syntax of the TOTUPLE() function.
grunt> TOTUPLE(expression [, expression ...])
Assume we have a file named employee_details.txt in the HDFS directory /pig_data/, with the following content.
001,Robin,22,newyork 002,BOB,23,Kolkata 003,Maya,23,Tokyo 004,Sara,25,London 005,David,23,Bhuwaneshwar 006,Maggy,22,Chennai
We have loaded this file into Pig with the relation name emp_data as shown below.
grunt> emp_data = LOAD 'hdfs://localhost:9000/pig_data/employee_details.txt' USING PigStorage(',') as (id:int, name:chararray, age:int, city:chararray);
Let us now convert the id, name and age of each student (record) into a tuple.
grunt> totuple = FOREACH emp_data GENERATE TOTUPLE (id,name,age);
You can verify the contents of the totuple schema using the Dump operator as shown below.
grunt> DUMP totuple; ((1,Robin,22)) ((2,BOB,23)) ((3,Maya,23)) ((4,Sara,25)) ((5,David,23)) ((6,Maggy,22))