J'ai une colonne timestamp dans ma table, je dérive une colonne nommée dt_skey
de la colonne timestamp. Pour une explication claire, supposons que le nom de la colonne d'horodatage est time_column
. Voici à quoi ressemble la colonne de temps 2017-02-05 03:33:50
, dt_skey
qui ressemble à ceci 20170205033350
qui n'est rien d'autre que de supprimer les symboles entre les deux.Comment puis-je convertir un horodatage au format gmt dans la ruche
Ma question ici: time_column
est en est timezone, je veux le convertir au format gmt alors que je dérive dt_skey
de celui-ci. La raison pour laquelle je veux faire ceci est l'horodatage qui sera converti au format gmt lorsque nous l'interrogerons via l'impala où dt_skey
ne sera pas converti car il s'agit d'un type de données int. Je fais l'ingestion via la ruche où l'horodatage et la colonne dt_skey
seront synchronisés lorsque nous interrogerons via la ruche. Pour le rapport et les utilisateurs, nous utilisons l'impala, donc je veux apporter des modifications à la colonne dt_skey
de sorte que si l'utilisateur consulte l'impala, les deux colonnes doivent être synchronisées.
est inférieure à la sql j'utilise pour calculer dt_skey
colonne sur une colonne d'horodatage:
cast(substr(regexp_replace(cast(time_column as string), '-',''),1,8) as int)as dt_skey
la requête ci-dessus convertira cette 2017-02-02 07:32:51
dans ce 20170202
.
S'il vous plaît aidez-moi à compenser le dt_skey
au format GMT. J'apprécie également les solutions à travers l'étincelle.
Pourquoi la balise 'mysql'? et êtes-vous sûr que "2017-02-05" devient "20170233" lorsque vous supprimez les tirets? –
Mon tag sql est parce que la ruche utilise à peu près sql quires, et la date sera comme est juste enlevé les tirets entre les deux, je viens d'éditer la question s'il vous plaît voir le changement. Thankyou – Rob