Creo que lo encontré. Miré el código fuente y aparentemente UDFHour.java tiene dos evaluate() funciones Uno que acepta un Text objeto como parámetro y uno que usa un TimeStampWritable objeto como parámetro. Ambos funcionan con un Calendar pero por alguna razón la primera función devuelve el valor de Calendar.HOUR_OF_DAY y el segundo Calendar.HOUR .
Busqué en la documentación de Hives pero no pude encontrar nada sobre esa segunda función, pero está ahí. Estoy usando Hive 0.9.0.16, que venía con el HDP de Hortonworks.
Editar: He informado de esto hace un tiempo. Ya está disponible un parche:https://issues.apache.org/jira/browse /HIVE-3850 .