У меня есть столбец timestamp в моей таблице, я получаю столбец с именем dt_skey
из столбца timestamp. Для четкого объяснения давайте предположим, что имя столбца метки времени как time_column
. Вот как выглядит time_column: 2017-02-05 03:33:50
, dt_skey
столбец выглядит так: 20170205033350
, что не что иное, как удаление символов между ними.Как преобразовать временную метку в формат gmt в hive
Мой вопрос здесь: time_column
находится в часовом поясе, я хочу преобразовать его в формат gmt, пока я получаю dt_skey
из него. Причина, по которой я хочу сделать это, - это временная метка будет преобразована в формат gmt, когда мы запрашиваем ее через impala, где dt_skey
не будет преобразован, так как это тип данных int. Я делаю проглатывание через куст, где временная метка и столбец dt_skey
будут синхронизироваться при запросе через куст. Для целей отчетности и пользователей мы используем impala, поэтому я хочу внести изменения в столбец dt_skey
, чтобы, если пользователь просматривает impala, оба столбца должны быть синхронизированы.
Ниже SQL я использую, чтобы получить dt_skey
столбец из столбца временной метки:
cast(substr(regexp_replace(cast(time_column as string), '-',''),1,8) as int)as dt_skey
выше запрос будет преобразовывать этот 2017-02-02 07:32:51
в эту 20170202
.
Пожалуйста, помогите мне компенсировать dt_skey
в формате GMT. Я также приветствую решения через искру.
Почему тег 'mysql'? и вы уверены, что «2017-02-05» становится «20170233» при удалении тире? –
Мой тег sql заключается в том, что улей использует довольно много sql-запросов, и дата будет такой, как только удалены тире между ними, я только что отредактировал вопрос, пожалуйста, ознакомьтесь с этим изменением. Thankyou – Rob