Saya pikir saya menemukannya. Saya melihat kode sumber dan ternyata UDFHour.java
memang memiliki dua evaluate()
fungsi. Yang tidak menerima Text
objek sebagai parameter dan objek yang menggunakan TimeStampWritable
objek sebagai parameter. Keduanya bekerja dengan Calendar
misalnya tetapi untuk beberapa alasan fungsi pertama mengembalikan nilai Calendar.HOUR_OF_DAY
dan yang kedua Calendar.HOUR
.
Saya telah mencari di dokumentasi Hives tetapi saya tidak dapat menemukan apa pun tentang fungsi kedua itu, tetapi ada di sana. Saya menggunakan Hive 0.9.0.16, yang disertakan dengan HDP Hortonworks.
Sunting: Saya telah melaporkan ini beberapa waktu lalu. Patch sekarang tersedia:https://issues.Apache.org/jira/browse /HIVE-3850 .