Как указать формат отметки времени при создании таблицы с использованием каталога hdfs - PullRequest
0 голосов
/ 15 мая 2018

У меня есть следующий CSV-файл, расположенный в path/to/file в моем магазине hdfs.

1842,10/1/2017 0:02
7424,10/1/2017 4:06

Я пытаюсь создать таблицу с помощью следующей команды:

create external table t
(
number          string,
reported_time  timestamp
)
ROW FORMAT delimited fields terminated BY ',' 
LOCATION 'path/to/file';

В редакторе запросов Impala я вижу, что столбец reported_time в таблице t всегда равен нулю. Я полагаю, это связано с тем, что моя временная метка не была принята в формате временной метки.

Вопрос:

Как указать, что столбец метки времени должен иметь формат dd/mm/yyyy hh:min, чтобы он правильно анализировал метку времени?

1 Ответ

0 голосов
/ 15 мая 2018

Вы не можете настроить метку времени (согласно моему exp *), но вы можете создать таблицу со строковым типом данных и затем преобразовать строку в метку времени, как показано ниже:

select number,
       reported_time,
       from_unixtime(unix_timestamp(reported_time),'dd/MM/yyyy HH:mm') as reported_time
from t;
...