Apache Phoenix CURRENT_TIME() дает NPE
Я пытаюсь использовать фильтр Apache Phoenix для столбца меток времени.
Моя таблица и столбец существуют. Столбец имеет тип TIMESTAMP. https://phoenix.apache.org/language/datatypes.html
0: jdbc:phoenix:localhost:2181:/hbase> SELECT * FROM METRIC where METRIC_ID = 'process.cpu' AND METRIC_TIMESTAMP > NOW();
java.lang.NullPointerException
at org.apache.phoenix.compile.ScanRanges.getAscTimeRange(ScanRanges.java:674)
Я также пытался с CURRENT_TIME()
0: jdbc:phoenix:localhost:2181:/hbase> SELECT * FROM METRIC where METRIC_ID = 'process.cpu' AND METRIC_TIMESTAMP > CURRENT_TIME();
java.lang.NullPointerException
at org.apache.phoenix.compile.ScanRanges.getAscTimeRange(ScanRanges.java:674)
at org.apache.phoenix.compile.ScanRanges.getRowTimestampColumnRange(ScanRanges.java:658)
1 ответ
Это ошибка - пожалуйста, подайте JIRA. Обходной путь должен был бы объявить METRIC_TIMESTAMP как ДАТУ вместо TIMESTAMP. Тип DATE в Фениксе имеет гранулярность в миллисекундах.