2016-04-07 13 views
-1

クエリ:Pig LatinのDateの各要素にアクセスする方法は?

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

サンプル入力:

(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) 

私は日付(全体ではなく日付)の年に基づいて上記のデータをフィルタリングします。

+0

uはあなたが望むあなたのサンプル出力を貼り付けることができますか? –

答えて

1

これが機能するかどうかを確認してください。

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; 

最終的な出力は次のようになります。

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

ありがとうAbhijit。私はあなたの助けに感謝します。 :-) – Dhiraj

+0

@Dhirajはあなたの問題を解決すれば答えを受け入れますので、他者はこれが正解であることを知ることができます。あなたの問題を解決していない場合は、あなたを助けて投票することができます。 – Mahendra

関連する問題