comment convertir époque unix temps de chaîne de date dans la ruche
J'ai un fichier de log qui contient une colonne timestamp. L'horodatage est dans l'époque unix format de l'heure.
Je veux créer une partition basée sur un horodatage avec des partitions de l'année, le mois et le jour.
Jusqu'à présent, je l'ai fait, mais c'est de lancer une erreur.
PARSE ERROR cannot recognize input '(' in column type
Voici mon code.
from (
from raw_data
MAP ${PREFIX}raw_data.line
USING 's3://scripts/clean.py'
AS (timestamp STRING, name STRING)
) map_out
INSERT OVERWRITE TABLE date_base_data_temp PARTITION(year(timestamp), month(timestamp)), day(timestamp)))
select map_out.name;
OriginalL'auteur priyank | 2011-08-26
Vous devez vous connecter pour publier un commentaire.
D'absence du bureau, qui semble laid. Essayez d'utiliser cette fonction dans la Ruche:
Ou si le timestamp est dans
ms
au lieu de secondes:Qui convertit un timestamp unix dans une AAAA-MM-JJ HH:MM:SS, alors vous pouvez utiliser les fonctions suivantes pour obtenir de l'année, le mois et le jour:
Assurez-vous que le
timestamp_value
(iciunix_timestamp
) est en secondes, autrement utiliserfrom_unixtime(timestamp_value DIV 1000)
Je suis seulement le temps jusqu'à la seconde mais je veux ms aussi . comment dois-je faire ?
J'ai de la date à l'époque format. La valeur est 1513708200000. De bien vouloir m'aider à sortir de la requête pour convertir la valeur en format de date
Comme je l'ai mentionné, vous avez besoin de convertir votre valeur d'horodatage de secondes & puis de passer -
from_unixtime(timestamp_value DIV 1000)
OriginalL'auteur Aswin
Avec des versions plus récentes de la Ruche et de SparkSQL, le type de données de date et le type coulée options sont disponibles. Suivant devrait fonctionner dans la Ruche ainsi que Spark SQL
OriginalL'auteur user2847619
Si vous avez besoin de convertir la date en format personnalisé, utilisez ceci:
qui renvoie la date yearMonth par exemple 201708
y
dans le spécificateur de format.OriginalL'auteur Abdul Mannan
L'ajout de cette requête à la liste, où l'horodatage doit être converti en chaîne de date aaaa-MM-jj pour une chaîne de partition:
date_format
n'est pas nécessaire,from_unixtime
pouvez recevoir un autre argument de format:select from_unixtime(epoch_datetime, 'yyyy-MM-dd') as day from table_name limit 20;
cwiki.apache.org/confluence/display/Hive/LanguageManual+UDFVous êtes correct. J'ai utilisé votre plus version succincte, et il fonctionne très bien.
OriginalL'auteur Yash Sharma
ou si vous voyez une erreur sur le même , essayez d'utiliser
sélectionnez order_id, date_format(from_unixtime(order_date DIV 1000),'yyy-MM-dd') order_date ,order_customer_id,order_status
à partir de commandes
OriginalL'auteur Loganathan .R