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 в Фениксе имеет гранулярность в миллисекундах.

Другие вопросы по тегам