Principais comandos do Hive com exemplos em HQL



Este blog discute comandos Hive com exemplos em HQL. CREATE, DROP, TRUNCATE, ALTER, SHOW, DESCRIBE, USE, LOAD, INSERT, JOIN e muitos mais comandos do Hive

Nesta postagem do blog, vamos discutir os principais comandos do Hive com exemplos. Esses comandos do Hive são muito importantes para estabelecer a base para .

O Guia de Carreira Técnica Edureka 2019 foi lançado! As funções de trabalho mais interessantes, caminhos de aprendizagem precisos, perspectivas do setor e muito mais no guia. Baixar agora.

O que é o Hive?

Apache Hive é um sistema de data warehouse construído para funcionar no Hadoop. Ele é usado para consultar e gerenciar grandes conjuntos de dados que residem em armazenamento distribuído. Antes de se tornar um projeto de código aberto do Apache Hadoop, o Hive foi originado no Facebook. Ele fornece um mecanismo para projetar a estrutura dos dados no Hadoop e consultar esses dados usando uma linguagem semelhante a SQL chamada HiveQL (HQL).





O Hive é usado porque as tabelas no Hive são semelhantes às tabelas em um banco de dados relacional. Se você está familiarizado com SQL, é moleza. Muitos usuários podem consultar os dados simultaneamente usando Hive-QL.

O que é HQL?

O Hive define uma linguagem de consulta simples semelhante a SQL para consultar e gerenciar grandes conjuntos de dados, chamada Hive-QL (HQL). É fácil de usar se você estiver familiarizado com a linguagem SQL. O Hive permite que os programadores familiarizados com a linguagem escrevam a estrutura MapReduce personalizada para realizar análises mais sofisticadas.



Usos do Hive:

1. O armazenamento distribuído Apache Hive.

2. O Hive fornece ferramentas para facilitar a extração / transformação / carregamento de dados (ETL)

3. Ele fornece a estrutura em uma variedade de formatos de dados.



4. Ao usar o Hive, podemos acessar arquivos armazenados no Hadoop Distributed File System (HDFS é usado para consultar e gerenciar grandes conjuntos de dados residentes) ou em outros sistemas de armazenamento de dados, como o Apache HBase.

Limitações do Hive:

& bull Hive não foi projetado para processamento de transações online (OLTP), ele é usado apenas para processamento analítico online.

O & bull Hive suporta sobrescrever ou apreender dados, mas não atualiza e exclui.

& bull No Hive, subconsultas não são suportadas.

Por que o Hive é usado apesar do Pig?

A seguir estão os motivos pelos quais o Hive é usado, apesar da disponibilidade do Pig:

  • Hive-QL é uma linha de linguagem declarativa SQL, PigLatin é uma linguagem de fluxo de dados.
  • Pig: uma linguagem e ambiente de fluxo de dados para explorar conjuntos de dados muito grandes.
  • Hive: um data warehouse distribuído.

Componentes do Hive:

Metastore:

O Hive armazena o esquema das tabelas do Hive em um Hive Metastore. Metastore é usado para conter todas as informações sobre as tabelas e partições que estão no warehouse. Por padrão, o metastore é executado no mesmo processo que o serviço Hive e o Metastore padrão é o banco de dados DerBy.

SerDe:

Serializer, Deserializer fornece instruções sobre como processar um registro.

Comandos do Hive:

Linguagem de definição de dados (DDL)

As instruções DDL são usadas para construir e modificar as tabelas e outros objetos no banco de dados.

Comando DDL Função
CRIO É usado para criar uma tabela ou banco de dados
MOSTRAR É usado para mostrar Banco de Dados, Tabela, Propriedades, etc.
ERA É usado para fazer alterações na tabela existente
DESCREVER Ele descreve as colunas da tabela
TRUNCAR Usado para truncar e excluir permanentemente as linhas da tabela
EXCLUIR Exclui os dados da tabela, mas podem ser restaurados

Vá para o shell do Hive, dando o comando sudo hive e digite o comando 'crio base de dados nome> ’ para criar o novo banco de dados no Hive.

Crie banco de dados Hive usando comandos Hive

Para listar os bancos de dados no armazém Hive, digite o comando ‘ mostrar bancos de dados '.

O banco de dados é criado em um local padrão do armazém Hive. Em Cloudera, o banco de dados Hive é armazenado em um / user / hive / warehouse.

O comando para usar o banco de dados é USAR

Copie os dados de entrada para o HDFS do local usando o comando copy From Local.

Quando criamos uma tabela no hive, ela é criada no local padrão do armazém do hive. - “/ user / hive / warehouse”, após a criação da tabela, podemos mover os dados do HDFS para a tabela hive.

O seguinte comando cria uma tabela com a localização de “/user/hive/warehouse/retail.db”

Nota : retail.db é o banco de dados criado no warehouse do Hive.

Descrever fornece informações sobre o esquema da tabela.

Linguagem de manipulação de dados (DML)

As instruções DML são usadas para recuperar, armazenar, modificar, excluir, inserir e atualizar dados no banco de dados.

Exemplo:

instalar php no windows 7

Instruções LOAD, INSERT.

Sintaxe:

CARREGAR dados inpath na tabela [tablename]

A operação Carregar é usada para mover os dados para a tabela Hive correspondente. Se a palavra-chave local for especificado, no comando load fornecerá o caminho do sistema de arquivos local. Se a palavra-chave local não for especificada, temos que usar o caminho HDFS do arquivo.

Aqui estão alguns exemplos para o comando LOAD data LOCAL

Depois de carregar os dados na tabela Hive, podemos aplicar as declarações de manipulação de dados ou funções de agregação para recuperar os dados.

Exemplo para contar o número de registros:

A função de agregação de contagem é usada para contar o número total de registros em uma tabela.

'Criar tabela externa':

o criar externo palavra-chave é usada para criar uma tabela e fornece um local onde a tabela será criada, de forma que o Hive não use um local padrão para esta tabela. A EXTERNO A tabela aponta para qualquer local HDFS para seu armazenamento, em vez do armazenamento padrão.

Inserir comando:

o inserir comando é usado para carregar a tabela Hive de dados. As inserções podem ser feitas em uma tabela ou partição.

& bull INSERT OVERWRITE é usado para sobrescrever os dados existentes na tabela ou partição.

& bull INSERT INTO é usado para anexar os dados aos dados existentes em uma tabela. (Observação: a sintaxe INSERT INTO funciona a partir da versão 0.8)

Exemplo para os comandos ‘Particionados por’ e ‘Agrupados por’:

‘Particionada por 'É usado para dividir a tabela na partição e pode ser dividido em baldes usando o' Agrupado por ‘Comando.

Quando inserimos os dados de erros de lançamento do Hive, o modo de partição dinâmica é estrito e a partição dinâmica não habilitada (por Jeff em site dresshead ) Portanto, precisamos definir os seguintes parâmetros no shell do Hive.

definir hive.exec.dynamic.partition = true

Para habilitar partições dinâmicas, por padrão, é falso

definir hive.exec.dynamic.partition.mode = nonstrict

A partição é feita por categoria e pode ser dividida em blocos usando o comando ‘Clustered By’.

A declaração 'Drop Table' exclui os dados e metadados de uma tabela. No caso de tabelas externas, apenas os metadados são excluídos.

A declaração 'Drop Table' exclui os dados e metadados de uma tabela. No caso de tabelas externas, apenas os metadados são excluídos.

Carregue os dados locais inpath ‘aru.txt’ na tabela tablename e, em seguida, verificamos a tabela employee1 usando o comando Select * from table name

Para contar o número de registros na tabela usando Selecionar contagem(*) de txnrecords

Agregação :

Selecione a contagem (categoria DISTINCT) em tablename

Este comando contará as diferentes categorias da tabela 'categoria'. Aqui, existem 3 categorias diferentes.

Suponha que haja outra tabela cate onde f1 é o nome do campo da categoria.

Agrupamento:

O comando de grupo é usado para agrupar o conjunto de resultados por uma ou mais colunas.

Selecione a categoria, soma (quantidade) do grupo de registros txt por categoria

Ele calcula a quantidade de mesma categoria.

O resultado de uma tabela é armazenado em outra tabela.

Crie a tabela newtablename como select * from oldtablename

Comando de adesão:

Aqui, mais uma tabela é criada em nome ‘E-mails’

como reverter string python

Operação de união :

Uma operação de junção é executada para combinar campos de duas tabelas usando valores comuns a cada uma.

União Externa Esquerda :

O resultado de uma junção externa esquerda (ou simplesmente junção esquerda) para as tabelas A e B sempre contém todos os registros da tabela 'esquerda' (A), mesmo se a condição de junção não encontrar nenhum registro correspondente na tabela 'direita' (B).

Junção Externa Direita :

Uma junção externa direita (ou junção direita) se parece muito com uma junção externa esquerda, exceto com o tratamento das tabelas invertido. Cada linha da tabela “direita” (B) aparecerá na tabela associada pelo menos uma vez.

Full Join :

A tabela associada conterá todos os registros de ambas as tabelas e preencherá NULLs para correspondências ausentes em ambos os lados.

Depois de terminar com o hive, podemos usar o comando quit para sair do shell do hive.

Saindo da colmeia

O Hive é apenas uma parte do grande quebra-cabeça chamado Big Data e Hadoop. O Hadoop é muito mais do que apenas o Hive. Clique abaixo para ver quais outras habilidades você deve dominar no Hadoop.

Tem alguma questão para nós? Mencione isso na seção de comentários e entraremos em contato com você.

Postagens relacionadas:

7 maneiras pelas quais o treinamento de Big Data pode mudar sua organização

Modelos de Dados Hive