Как изменить формат даты в улье?
В моей таблице в hive есть файл даты в формате '2016/06/01'. но я нахожу, что это не в ущерб формату "2016-06-01".
Они не могут сравнивать, например.
Оба они-струны .
Поэтому я хочу знать, как сделать их в хармори и могу сравнить их. Или, с другой стороны, как изменить "2016/06/01" на "2016-06-01", чтобы их можно было сравнить.
Большое спасибо.
2 ответов:
Для преобразования строки даты из одного формата в другой необходимо использовать функцию двух дат hive
unix_timestamp(string date, string pattern)преобразование строки времени с заданным шаблоном к метке времени unix (в секундах), возвращает 0, если потерпеть неудачу.from_unixtime(bigint unixtime[, string format])преобразует количество секунд от Unix epoch (1970-01-01 00: 00: 00 UTC) до a строка, представляющая метку времени этого момента в текущем системный часовой пояс.Используя вышеуказанные две функции, вы можете достичь желаемого результата.
Пример входных данных и выход можно увидеть снизу изображения:
![]()
Последний запрос -
select from_unixtime(unix_timestamp('2016/06/01','yyyy/MM/dd'),'yyyy-MM-dd') from table1;Где table1-имя таблицы, присутствующее в моей базе данных hive.
Я надеюсь, что это поможет вам!!!

Comments