Introduction à Hive Order By

Hive est une installation d'entreposage de données fournie par Apache. Hive est construit au-dessus du système de fichiers distribués Hadoop (HDFS) pour l'écriture, la lecture, l'interrogation et la gestion de grandes données structurées ou semi-structurées dans des systèmes de stockage distribué tels que HDFS. Chaque HiveQL sera converti en un travail MapReduce dans le backend. Hive fournit Hive Query Language (HiveQL) qui est comme le SQL normal dans RDBMS. Comme SQL, HiveQL fournit également la clause ORDER BY qui peut être utilisée avec la clause SELECT. La fonction ORDER BY est utilisée pour trier les données dans l'ordre croissant ou décroissant sur les colonnes spécifiées par l'utilisateur.

Syntaxe dans Hive Order By

Voici la syntaxe dans l'ordre de la ruche par:

Syntaxe de base:

SELECT, FROM ORDER BY ;

SELECT, FROM ORDER BY ;

Clause ORDER BY avec toutes les autres clauses:

SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;

SELECT DISTINCT, , FROM WHERE GROUP BY HAVING ORDER BY LIMIT ;

Vous pouvez également spécifier ORDER BY 1 ou ORDER BY 2 où 1 et 2 représentent le numéro de colonne au lieu d'utiliser ORDER BY. ORDER BY ne peut être utilisé que lorsque les noms de colonne sont spécifiés dans la clause SELECT et non avec la clause SELECT *.

Comment utiliser la fonction ORDER BY dans Hive?

L'explication ci-dessous montre comment utiliser l'ordre par fonction dans une ruche:

1. ORDRE PAR Ascendant et Descendant

  • Par défaut, l'ordre de tri sera croissant, ce qui indique la plus petite valeur au début et la plus grande à la fin du résultat, même si vous ne le spécifiez pas explicitement.
  • Vous pouvez également spécifier ORDER BY ASC pour l'ordre croissant et ORDER BY DESC pour trier le résultat dans l'ordre décroissant ou la colonne spécifiée.
  • La syntaxe HiveQL pour l'ordre croissant ODER BY peut être affichée comme ci-dessous:

SELECT, FROM ORDER BY ASC;

SELECT, FROM ORDER BY ASC;

  • La syntaxe HiveQL pour l'ordre décroissant ODER BY peut être représentée comme suit:

SELECT, FROM ORDER BY DESC;

SELECT, FROM ORDER BY DESC;

  • Les clauses ascendantes et descendantes peuvent être utilisées simultanément avec plusieurs colonnes dans la clause ORDER BY comme indiqué ci-dessous:

SELECT, FROM ORDER BY ASC DESC;

SELECT, FROM ORDER BY ASC DESC;

2. ORDER BY et valeurs NULL

  • Les dernières versions de Hive prennent également en charge l'ordre de tri pour la valeur NULL.
  • Par défaut, l'ordre de tri des valeurs NULL pour ORDER BY ASC est NULLS FIRST. Il trie toutes les valeurs NULL au début du résultat trié.
  • De même, l'ordre de tri des valeurs NULL pour ORDER BY DESC est NULLS LAST par défaut. Il trie toutes les valeurs NULL jusqu'à la fin du résultat trié.
  • Vous pouvez également spécifier NULLS FIRST et NULLS LAST avec ORDER BY ASC ou avec ORDER BY DESC selon vos besoins et votre convenance.
  • Syntaxe de la clause NULLS FIRST avec ORDER BY croissant:

SELECT, FROM ORDER BY ASC NULLS LAST;

SELECT, FROM ORDER BY ASC NULLS LAST;

  • Syntaxe de la clause NULLS LAST avec ORDER BY décroissant:

SELECT, FROM ORDER BY DESC NULLS FIRST;

SELECT, FROM ORDER BY DESC NULLS FIRST;

3. Clause ORDER BY et LIMIT

  • La clause LIMIT est facultative avec la clause ORDER BY.
  • La clause LIMIT peut être utilisée pour améliorer les performances. La clause LIMIT peut être utilisée pour éviter un traitement inutile des données.
  • La clause LIMIT sélectionnera uniquement le nombre limité de valeurs du résultat à des fins de vérification.
  • La clause LIMIT avec la clause ORDER By peut être affichée comme suit:

SELECT, FROM ORDER BY ASC LIMIT 10;

SELECT, FROM ORDER BY ASC LIMIT 10;

  • La clause ORDER BY peut également être combinée avec la clause OFFSET et la clause LIMIT pour réduire la quantité du résultat. La syntaxe de la même chose peut être montrée comme:

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

Exemples dans Hive Order By

Considérez l'exemple de table employé suivant, qui contient l'ID employé comme EmpID, le nom de l'employé comme EmpName, la désignation, le service comme service, le niveau de travail comme JL et le salaire.

Exemple 1

Code:

SELECT * FROM Employee ORDER BY JL ASC;

Production:

Exemple # 2

Code:

SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;

Production:

Exemple # 3

Code:

SELECT EmpId, EmpName, Designation, Dept FROM Employee where Salary < 50000 ORDER BY EmpName ASC JL ASC;

Production:

Conclusion

ORDER BY dans Hive vous permet de trier les données dans un ordre croissant ou décroissant. ORDER BY peut être combiné avec d'autres clauses pour obtenir les données triées. ORDER BY est différent de SORT BY car SORT BY trie les données dans un réducteur mais ORDER BY trie la totalité des données.

Articles recommandés

Ceci est un guide pour Hive Order By. Ici, nous discutons Comment pouvons-nous utiliser l'ordre par fonction dans une ruche, et différents exemples avec des codes et des sorties. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Fonctions intégrées de la ruche
  2. Qu'est-ce qu'une ruche?
  3. Comment installer Hive
  4. Fonction ruche
  5. Versions de Tableau
  6. Installation de ruche
  7. Exemples de fonctions intégrées Python

Catégorie: