我试图在timestamp列上使用apachephoenix的过滤器。
我的表和列已存在。列的类型为timestamp。https://phoenix.apache.org/language/datatypes.html#timestamp_type
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)
我还尝试了当前时间()
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条答案
按热度按时间xzlaal3s1#
那是一个错误-请提交一个jira。一种解决方法是将metric\u timestamp声明为日期,而不是时间戳。phoenix中的日期类型的粒度为毫秒。