0
타임 스탬프 열에서 Apache Phoenix의 필터를 사용하려고합니다.Apache Phoenix CURRENT_TIME()에서 NPE
테이블과 열이 있습니다. 열의 유형은 TIMESTAMP입니다. 나는 또한 CURRENT_TIME과 노력 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)
자동 생성 된 타임 스탬프와 비슷한 문제가 있습니다. – bearrito
문제를 해결하려면 sql.Date에 map 유형을 사용해야합니까? millis에 대한 입상 성을 유지합니까? – bearrito
create table 문에서 METRIC_TIMESTAMP를 DATE 유형으로 선언하십시오. CREATE TABLE METRIC (...., METRIC_TIMESTAMP DATE). Phoenix는 날짜를 저장하기 위해 8 epoch long을 사용하므로 항상 밀리 초 단위입니다. 전체 세부 사항을 표시하는 SQL 클라이언트를 사용해야합니다. 예를 들어, sqlline은 DATE의 일 부분 만 표시합니다. SELECT TO_CHAR (METRIC_TIMESTAMP, 'yyyy MM dd HH : mm : ss.SSS') FROM METRIC;을 사용할 수 있습니다. –