Penso di averlo trovato. Ho guardato il codice sorgente e apparentemente UDFHour.java
ha due evaluate()
funzioni. Uno che accetta un Text
oggetto come parametro e uno che utilizza un TimeStampWritable
oggetto come parametro. Entrambi funzionano con un Calendar
istanza ma per qualche motivo la prima funzione restituisce il valore di Calendar.HOUR_OF_DAY
e il secondo Calendar.HOUR
.
Ho cercato nella documentazione di Hives ma non sono riuscito a trovare nulla su quella seconda funzione, ma è lì. Sto usando Hive 0.9.0.16, fornito con HDP di Hortonworks.
Modifica: L'ho segnalato tempo fa. È ora disponibile una patch:https://issues.apache.org/jira/browse /HIVE-3850 .