Цикл и разбиение в сценарии Pig - PullRequest
0 голосов
/ 25 октября 2019

Предположим, что у нас есть файл с именем details.txt со следующими данными

421,Rajiv,Reddy,21,9848022337,Hyderabad
549,Ramprakash,Reddymasi,22,8341592775,Kolkata
278,Divya,Khanna,22,9848022339,Delhi 
126,Kathi,Agarwal,21,9848022330,Pune 
789,Srinivas,Mohanthy,23,9848022336,Bhuwaneshwar 
245,Archana,Mishra,23,9848022335,Chennai 
128,Komal,Nayak,24,9848022334,trivendram 
111,Bharathi,Nambiayar,24,9848022333,Chennai`

У меня есть следующий скрипт:

grunt> student_details = LOAD 'details.txt' USING PigStorage(',')
   as (id:int, firstname:chararray, lastname:chararray,age:int, phone:chararray, city:chararray);

Я получу текущую дату и времяв pig grunt shell, используя следующие вычисления:

grunt> %default FILE `date "+%Y%m%d%H%M%S"`

Я хочу сохранить эти данные в каталогах с папками времени данных, каждая из которых содержит три записи, как показано ниже:

grunt> STORE first_3 INTO '$FILE' using PigStorage(',');
grunt> %default FILE `date "+%Y%m%d%H%M%S"`
grunt> STORE second_3 INTO '$FILE' using PigStorage(',');
grunt> %default FILE `date "+%Y%m%d%H%M%S"`
grunt> STORE next_3 INTO '$FILE' using PigStorage(',');

Проблемавот я не знаю сколько там входных записей. Есть ли способ разделить входные записи на основе подсчета с помощью циклов.

...