Tôi nghĩ rằng tôi đã tìm thấy nó. Tôi đã xem mã nguồn và có vẻ như UDFHour.java
có hai evaluate()
chức năng. Một trong đó chấp nhận một Text
đối tượng dưới dạng tham số và một đối tượng sử dụng TimeStampWritable
đối tượng dưới dạng tham số. Cả hai đều hoạt động với Calendar
nhưng vì lý do nào đó, hàm đầu tiên trả về giá trị của Calendar.HOUR_OF_DAY
và cái thứ hai Calendar.HOUR
.
Tôi đã tìm trong tài liệu Hives nhưng không tìm thấy gì về chức năng thứ hai đó, nhưng nó ở đó. Tôi đang sử dụng Hive 0.9.0.16, đi kèm với HDP của Hortonworks.
Chỉnh sửa: Tôi đã báo cáo điều này một thời gian trở lại. Hiện đã có bản vá: https://issues.apache.org/jira/browse / HIVE-3850 .