Apache Pig - GetYear ()

Questa funzione accetta un oggetto data-ora come parametro e restituisce l'anno corrente dall'oggetto data-ora specificato.

Sintassi

Ecco la sintassi di GetYear() funzione.

grunt> GetYear(datetime)

Esempio

Supponiamo che esista un file denominato date.txt nel HDFS directory /pig_data/come mostrato di seguito. Questo file contiene i dettagli della data di nascita di una determinata persona, ha l'ID persona, la data e l'ora.

date.txt

001,1989/09/26 09:00:00
002,1980/06/20 10:22:00
003,1990/12/19 03:11:44

E abbiamo caricato questo file in Pig con una relazione denominata date_data come mostrato di seguito.

grunt> date_data = LOAD 'hdfs://localhost:9000/pig_data/date.txt' USING PigStorage(',')
   as (id:int,date:chararray);

Di seguito è riportato un esempio di GetYear()funzione. Recupererà l'anno corrente dall'oggetto data-ora specificato. Pertanto, prima di tutto generiamo gli oggetti data-ora di tutti i dipendenti che utilizzanotodate() funzionare come mostrato di seguito.

grunt> todate_data = foreach date_data generate ToDate(date,'yyyy/MM/dd HH:mm:ss')
   as (date_time:DateTime );
  
grunt> Dump todate_data;
(1989-09-26T09:00:00.000+05:30) 
(1980-06-20T10:22:00.000+05:30) 
(1990-12-19T03:11:44.000+05:30)

Otteniamo ora l'anno dalla data di nascita di ciascun dipendente utilizzando l'estensione GetYear() funzione e memorizzarlo nella relazione denominata getyear_data.

grunt> getyear_data = foreach todate_data generate (date_time), GetYear(date_time);

Ora verifica il contenuto della relazione getyear_data utilizzando l'operatore Dump come mostrato di seguito.

grunt> Dump getyear_data;
  
(1989-09-26T09:00:00.000+05:30,1989) 
(1980-06-20T10:22:00.000+05:30,1980) 
(1990-12-19T03:11:44.000+05:30,1990)