Come posso lanciare una stringa nel formato 'gg-MM-aaaa' a un tipo di data anche nel formato 'gg-MM-aaaa' in Hive?String cast di hive alla data gg-MM-aaaa
Qualcosa sulla falsariga di:
CAST('12-03-2010' as date 'dd-mm-yyyy')
Come posso lanciare una stringa nel formato 'gg-MM-aaaa' a un tipo di data anche nel formato 'gg-MM-aaaa' in Hive?String cast di hive alla data gg-MM-aaaa
Qualcosa sulla falsariga di:
CAST('12-03-2010' as date 'dd-mm-yyyy')
prova:
from_unixtime(unix_timestamp('12-03-2010' , 'dd-MM-yyyy'))
Questo è ancora un * Stringa *, con il formato * TimeStamp *. Per lanciarlo in un * Date * devi racchiuderlo in 'cast (to_date (from_unixtime (unix_timestamp (STR_DMY, 'dd-MM-yyyy'))) come data)' –
E sì, vorrei che ci fosse un modo migliore per manipolare le date in Hive: - / –
per quanto ne so è necessario riformattare il String in formato ISO per essere in grado di lanciare come Data:
cast(concat(substr(STR_DMY,7,4), '-',
substr(STR_DMY,1,2), '-',
substr(STR_DMY,4,2)
)
as date
) as DT
Per disp porre una data come String con formato specifico, allora è il contrario, a meno che non si dispone di Hive 1.2+ e può utilizzare date_format()
=> hai fatto check the documentation a proposito?
Non esiste un "tipo di data con formato specifico". Digitare DATE è memorizzato come binario e visualizzato per impostazione predefinita in formato ISO; se si desidera visualizzarlo in un altro formato, è necessario formattarlo in modo esplicito, caso per caso. –