Comment sélectionner la date actuelle dans Hive SQL

Comment pouvons-nous obtenir la date actuelle du système dans Hive? Dans MySQL, nous avons select now (), quelqu’un peut-il m’aider à obtenir les résultats de la requête. Je suis très nouveau sur Hive, existe-t-il une documentation appropriée pour Hive qui donne des informations détaillées sur les pseudo-colonnes et les fonctions intégrées.

    Selon le LanguageManual , vous pouvez utiliser unix_timestamp() pour obtenir “l’horodatage actuel en utilisant le fuseau horaire par défaut”. Si vous avez besoin de le convertir en quelque chose de plus lisible, vous pouvez utiliser from_unixtime(unix_timestamp()) .

    J’espère que cela pourra aider.

    Oui … J’utilise Hue 3.7.0 – L’interface utilisateur Hadoop et pour obtenir les informations de date / heure actuelles, nous pouvons utiliser les commandes ci-dessous dans Hive:

     SELECT from_unixtime(unix_timestamp()); --/Selecting Current Time stamp/ SELECT CURRENT_DATE; --/Selecting Current Date/ SELECT CURRENT_TIMESTAMP; --/Selecting Current Time stamp/ 

    Cependant, dans Impala, vous trouverez que seule la commande ci-dessous fonctionne pour obtenir les détails de la date / heure:

     SELECT from_unixtime(unix_timestamp()); --/Selecting Current Timestamp / 

    J’espère que cela résout votre requête 🙂

    Les fonctions current_date et current_timestamp sont désormais disponibles dans Hive 1.2.0 et versions ultérieures, ce qui rend le code beaucoup plus propre.

    Pour récupérer uniquement la date actuelle sans l’horodatage:

    dans les versions inférieures, on dirait que Hive CURRENT_DATE n’est pas disponible, donc vous pouvez utiliser (cela a fonctionné pour moi sur Hive 0.14)

     select TO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP())); 

    Dans les versions supérieures, disons hive 2.0, vous pouvez utiliser:

     select CURRENT_DATE; 

    Pour extraire l’année de la date actuelle

     SELECT YEAR(CURRENT_DATE()) 

    IBM Netezza

     extract(year from now()) 

    RUCHE

     SELECT YEAR(CURRENT_DATE()) 
     select from_unixtime(unix_timestamp(current_date, 'yyyyMMdd'),'yyyy-MM-dd'); 

    current_date – date actuelle

    yyyyMMdd – le format de date actuel de mon système;

    yyyy-MM-dd – si vous souhaitez changer le format en diff.