Tutorial HiveQL (Hive Query Language): Operadores integrados

Índice:

Anonim

O que é HiveQL (Hive Query Language)?

O Hive fornece uma CLI para escrever consultas Hive usando Hive Query Language (HiveQL). Geralmente a sintaxe HQL é semelhante à sintaxe SQL com a qual a maioria dos analistas de dados está familiarizada.

A linguagem inspirada em SQL do Hive separa o usuário da complexidade da programação Map Reduce. Ele reutiliza conceitos familiares do mundo do banco de dados relacional, como tabelas, linhas, colunas e esquema, para facilitar o aprendizado.

A maioria das interações tende a ocorrer em uma interface de linha de comando (CLI). O Hive fornece uma CLI para escrever consultas Hive usando Hive Query Language (Hive-QL).

Geralmente, a sintaxe HiveQL é semelhante à sintaxe SQL com a qual a maioria dos analistas de dados está familiarizada. O Hive suporta quatro formatos de arquivo: TEXTFILE, SEQUENCEFILE, ORC e ​​RCFILE (Arquivo Colunar de Registro).

  • Para armazenamento de metadados de usuário único, o Hive usa banco de dados Derby e
  • Para metadados de vários usuários ou caso de metadados compartilhados, o Hive usa MYSQL

Operadores integrados

O Hive fornece operadores integrados para operações de dados a serem implementadas nas tabelas presentes no warehouse do Hive.

Esses operadores são usados ​​para operações matemáticas em operandos e retornarão um valor específico de acordo com a lógica aplicada.

Os tipos de operadores integrados no HIVE são:

  • Operadores relacionais
  • Operadores aritméticos
  • Operadores lógicos
  • Operadores em tipos complexos
  • Construtores de tipo complexo

Operadores relacionais:

Usamos operadores relacionais para comparações de relacionamento entre dois operandos.

  • Operadores como igual, diferente, menor que, maior que ... etc
  • Os tipos de operandos são todos tipos de números nesses operadores.

A tabela a seguir nos dará detalhes sobre os operadores relacionais e seu uso.

Operador embutido Descrição Operando
X = Y TRUE se a expressão X for equivalente à expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X! = Y TRUE se a expressão X não for equivalente à expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X TRUE se a expressão X for menor que a expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X <= Y TRUE se a expressão X for menor ou igual à expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X> Y TRUE se a expressão X for maior que a expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X> = Y TRUE se a expressão X for maior ou igual à expressão Y Caso contrário, FALSE. Leva todos os tipos primitivos
X IS NULL TRUE se a expressão X for avaliada como NULL, caso contrário, FALSE. Aceita todos os tipos
X NÃO É NULO FALSE Se a expressão X for avaliada como NULL, caso contrário, TRUE. Aceita todos os tipos
X LIKE Y TRUE Se o padrão de string X corresponder a Y, caso contrário, FALSE. Leva apenas cordas
X RLIKE Y NULL se X ou Y for NULL, TRUE se qualquer substring de X corresponder à expressão regular Y do Java, caso contrário, FALSE. Leva apenas cordas
X REGEXP Y O mesmo que RLIKE. Leva apenas cordas

Operadores aritméticos :

Usamos operadores aritméticos para realizar operações aritméticas em operandos

  • Operações aritméticas como adição, subtração, multiplicação e divisão entre operandos usamos esses operadores.
  • Todos os tipos de operandos são tipos de números nestes Operadores

Exemplo de amostra:

2 + 3 dá o resultado 5.

Neste exemplo, '+' é o operador e 2 e 3 são operandos. O valor de retorno é 5

A tabela a seguir nos dará detalhes sobre os operadores aritméticos

Operador embutido Descrição Operando
X + Y Ele retornará a saída da adição dos valores X e Y. Aceita todos os tipos de números
X - Y Ele retornará a saída da subtração de Y do valor de X. Aceita todos os tipos de números
X * Y Ele retornará a saída da multiplicação dos valores X e Y. Aceita todos os tipos de números
X / Y Ele retornará a saída da divisão de Y de X. Aceita todos os tipos de números
X% Y Ele retornará o restante resultante da divisão de X por Y. Aceita todos os tipos de números
X e Y Ele retornará a saída de AND bit a bit de X e Y. Aceita todos os tipos de números
X | Y Ele retornará a saída de OR bit a bit de X e Y. Aceita todos os tipos de números
X Y Ele retornará a saída de XOR bit a bit de X e Y. Aceita todos os tipos de números
~ X Ele retornará a saída de bit a bit NOT de X. Aceita todos os tipos de números

Operadores lógicos:

Usamos operadores lógicos para realizar operações lógicas em operandos

  • Operações lógicas como AND, OR, NOT entre operandos, usamos esses Operadores.
  • Todos os tipos de operando são do tipo BOOLEANO nesses operadores

A tabela a seguir nos dará detalhes sobre os operadores lógicos

Operadores Descrição Operandos
X AND Y TRUE se X e Y forem TRUE, caso contrário, FALSE. Tipos booleanos apenas
X && Y O mesmo que X AND Y, mas aqui estamos usando o símbolo && Tipos booleanos apenas
X OU Y TRUE se X ou Y ou ambos forem TRUE, caso contrário, FALSE. Tipos booleanos apenas
X || Y O mesmo que X OR Y, mas aqui estamos usando || símbolo Tipos booleanos apenas
NÃO X TRUE se X for FALSE, caso contrário, FALSE. Tipos booleanos apenas
! X Mesmo que NÃO X, mas aqui estamos usando! símbolo Tipos booleanos apenas

Operadores em tipos complexos:

A tabela a seguir nos dará detalhes sobre os operadores de tipo complexo. Esses são operadores que fornecerão um mecanismo diferente para acessar elementos em tipos complexos.

Operadores Operandos Descrição
A] A é um Array en é um tipo inteiro Ele retornará o enésimo elemento na matriz A. O primeiro elemento tem índice de 0
M [tecla] M é um Mapa e a chave tem o tipo K Ele retornará os valores pertencentes à chave no mapa

Construtores de tipo complexo:

A tabela a seguir nos dará detalhes sobre construtores de tipo complexo. Ele construirá instâncias em tipos de dados complexos. São tipos de dados complexos, como tipos Array, Map e Struct no Hive.

Nesta seção, veremos as operações realizadas em construtores do tipo complexo.

Operadores Operandos Descrição
variedade (val1, val2, ...) Ele criará uma matriz com os elementos fornecidos, conforme mencionado como val1, val2
Create_ union (tag, val1, val2, ...) Ele criará um tipo de união com os valores que estão sendo mencionados pelo parâmetro de tag
mapa (chave1, valor1, chave2, valor2, ...) Irá criar um mapa com os pares chave / valor fornecidos mencionados nos operandos
Named_struct (nome1, val1, nome2, val2, ...) Ele criará uma Struct com os nomes de campo fornecidos e os valores mencionados nos operandos
ESTRUTURA (val1, val2, val3, ...) Cria um Struct com os valores de campo fornecidos. Os nomes dos campos de estrutura serão col1, col2,.

Resumo:

O Hive fornece algumas funções e operadores integrados para manipular os dados armazenados no warehouse do Hive. O Hive é semelhante à linguagem SQL, que oferece suporte a todos os tipos de operações de dados e consultas em tabelas e bancos de dados.