Impala v2.11.0 + (CDH v5.11.1 +) не может читать временные метки только со значением времени из файла Parquet.
create table TT2(t timestamp) STORED AS PARQUET;
insert into TT2 (t) values ("10:00:00");
select * from TT2;
+------+
| t |
+------+
| NULL |
+------+
WARNINGS: Parquet file 'hdfs://localhost:20500/test-warehouse/tt2/714d741212df3180-cd4e670800000000_226739479_data.0.parq' column 't' contains an out of range timestamp. The valid date range is 1400-01-01..9999-12-31.`
https://issues.apache.org/jira/browse/IMPALA-5942
Несмотря на то, что оператор выбора возвращает ноль, менеджер метастазов показывает, что столбец имеет значение
4714-12-30 10: 00: 00,0
То, что я ищу, - это альтернативный способ запроса этих данных, чтобы получить значение времени вместо того, чтобы вручную находить и преобразовывать все столбцы отметок времени без даты в строку.
Я пробовал
SELECT cast(t as string) FROM TT2
SELECT date_part('hour', t) FROM TT2
SELECT from_timestamp(tms, "HH:mm:ss") FROM TT2
SELECT extract(tms, "hour") FROM TT2
SELECT extract(cast(tms as string), "hour") FROM TT2