2016-04-07 23 views
-1

Sorgu:Pig Latin'de Tarih öğesinin her bir öğesine nasıl erişilir?

records = LOAD 'input' using PigStorage(' ') as (id:int, name:chararray, desination:chararray, date:chararray, salary: long); 

Numune girişi:

(10102,neha,developer,14/02/13,32000) 

    (10103,deva,admin,02/02/14,40000) 

    (10102,neha,developer,01/01/14,45000) 

    (10245,sasi,developer,01/01/14,20000) 

    (10109,surya,manager,01/02/2014,56000) 

    (10102,neha,developer,01/02/2014,45000) 

    (10245,sasi,developer,02/01/2014,25000) 

Bugüne (bütün değil tarih) yılı dayalı yukarıdaki verilere filtre istiyorum.

+0

u örnek çıktı istediğiniz yapıştırabilirsiniz? –

cevap

1

Bunun sizin için uygun olup olmadığını kontrol edin.

records = LOAD '/home/abhijit/Downloads/movies.txt' using PigStorage(',') as (id:int, name:chararray, desination:chararray, date:chararray, salary:int); 

todate_data = foreach records generate id,name,destination,date, salary,ToDate(date,'yyyy/MM/dd HH:mm:ss') as (date_time:DateTime); 

todate_data = foreach records generate name,desination,ToDate(date,'dd/MM/yyyy') as (date_time:DateTime); 

getyear_data = foreach todate_data generate name,desination,GetYear(date_time); 

groupByYear = group getyear_data by $3; 

son çıkış olacaktır:

(2013,{(neha,developer,2013)}) 
(2014,{(deva,admin,2014),(neha,developer,2014),(sasi,developer,2014),(surya,manager,2014),(neha,developer,2014),(sasi,developer,2014)}) 
+0

Teşekkür ederim Abhijit. Yardımın için minnettarım. :-) – Dhiraj

+0

@Dhiraj sorunun cevabını çözdüğü takdirde cevabı kabul etsin, böylece bunun doğru cevap olduğunu bilmesi gerekir. Sorununuzu çözmediyse ancak size yardımcı olursa o zaman oy verebilirsiniz. – Mahendra