Introdução ao Hive Order By

O Hive é um recurso de data warehouse fornecido pelo Apache. O Hive é construído sobre o HDFS (Hadoop Distributed File System) para gravar, ler, consultar e gerenciar grandes dados estruturados ou semiestruturados em sistemas de armazenamento distribuído, como o HDFS. Cada HiveQL será convertido em um trabalho MapReduce no back-end. O Hive fornece a Hive Query Language (HiveQL) semelhante ao SQL normal no RDBMS. Como o SQL, o HiveQL também fornece a cláusula ORDER BY, que pode ser usada com a cláusula SELECT. A função ORDER BY é usada para classificar os dados em ordem crescente ou decrescente nas colunas especificadas pelo usuário.

Sintaxe no Hive Ordenar por

Abaixo está a sintaxe na ordem da seção, por:

Sintaxe básica:

SELECT, FROM ORDER BY ;

SELECT, FROM ORDER BY ;

ORDER BY, juntamente com todas as outras cláusulas:

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

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

Você também pode especificar ORDER BY 1 ou ORDER BY 2, em que 1 e 2 representam o número da coluna em vez de usar ORDER BY. ORDER BY pode ser usado apenas quando os nomes de coluna são especificados na cláusula SELECT e não com a cláusula SELECT *.

Como podemos usar a função ORDER BY no Hive?

A explicação abaixo mostra que como podemos usar a ordem por função em uma seção:

1. ORDEM POR Ascendente e Descendente

  • Por padrão, a ordem de classificação será crescente, mostrando o menor valor no início e o maior valor no final do resultado, mesmo que você não o especifique explicitamente.
  • Você também pode especificar ORDER BY ASC para ordem crescente e ORDER BY DESC para classificar o resultado em ordem decrescente ou na coluna especificada.
  • A sintaxe do HiveQL para a ordem crescente ODER BY pode ser mostrada abaixo:

SELECT, FROM ORDER BY ASC;

SELECT, FROM ORDER BY ASC;

  • A sintaxe do HiveQL para a ordem decrescente ODER BY pode ser representada como abaixo:

SELECT, FROM ORDER BY DESC;

SELECT, FROM ORDER BY DESC;

  • Cláusulas ascendentes e descendentes podem ser usadas simultaneamente com várias colunas na cláusula ORDER BY, como mostrado abaixo:

SELECT, FROM ORDER BY ASC DESC;

SELECT, FROM ORDER BY ASC DESC;

2. ORDER BY e NULL Valores

  • As versões mais recentes do Hive também oferecem suporte à ordem de classificação para o valor NULL.
  • Por padrão, a ordem de classificação dos valores NULL para ORDER BY ASC é NULLS PRIMEIRO. Classifica todos os valores NULL no início do resultado classificado.
  • Da mesma forma, a ordem de classificação dos valores NULL para ORDER BY DESC é NULLS LAST por padrão. Classifica todos os valores NULL até o final do resultado classificado.
  • Você também pode especificar NULLS PRIMEIRO e NULL LAST junto com ORDER BY ASC ou ORDER BY DESC de acordo com seus requisitos e conveniência.
  • Sintaxe da cláusula NULLS FIRST junto com ORDER BY ascendente:

SELECT, FROM ORDER BY ASC NULLS LAST;

SELECT, FROM ORDER BY ASC NULLS LAST;

  • Sintaxe da cláusula NULLS LAST junto com a ordem ORDER BY descendente:

SELECT, FROM ORDER BY DESC NULLS FIRST;

SELECT, FROM ORDER BY DESC NULLS FIRST;

3. Cláusula ORDER BY e LIMIT

  • A cláusula LIMIT é opcional com a cláusula ORDER BY.
  • A cláusula LIMIT pode ser usada para melhorar o desempenho. A cláusula LIMIT pode ser usada para evitar o processamento desnecessário de dados.
  • A cláusula LIMIT selecionará apenas o número limitado de valores do resultado para fins de verificação.
  • A cláusula LIMIT com a cláusula ORDER By pode ser mostrada abaixo:

SELECT, FROM ORDER BY ASC LIMIT 10;

SELECT, FROM ORDER BY ASC LIMIT 10;

  • A cláusula ORDER BY também pode ser combinada com a cláusula OFFSET e a cláusula LIMIT para reduzir a quantidade do resultado. A sintaxe do mesmo pode ser mostrada como:

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

SELECT, FROM ORDER BY ASC LIMIT 10 OFFSET 10;

Exemplos na Hive Order By

Considere a tabela de exemplo a seguir Funcionário, que contém ID do funcionário como EmpID, Nome do funcionário como EmpName, Designação, Departamento como Departamento, Nível do trabalho como JL e Salário.

Exemplo 1

Código:

SELECT * FROM Employee ORDER BY JL ASC;

Resultado:

Exemplo 2

Código:

SELECT * FROM Employee ORDER BY Salary DESC LIMIT 3;

Resultado:

Exemplo 3

Código:

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

Resultado:

Conclusão

ORDER BY no Hive permite que você classifique os dados em ordem crescente ou decrescente. ORDER BY pode ser combinado com outras cláusulas para obter os dados classificados. ORDER BY é diferente de SORT BY, uma vez que SORT BY classifica os dados em um redutor, mas ORDER BY classifica todos os dados.

Artigos recomendados

Este é um guia para o Hive Order By. Aqui discutimos Como podemos usar a ordem por função em uma seção, e diferentes exemplos com códigos e saídas. Você também pode consultar nossos outros artigos relacionados para saber mais -

  1. Funções internas do Hive
  2. O que é uma colméia?
  3. Como instalar o Hive
  4. Função Hive
  5. Versões do Tableau
  6. Instalação do Hive
  7. Exemplos de funções internas do Python

Categoria: