Existem dois tipos. Mesa gerenciada e mesa externa. Na tabela gerenciada, os dados e o esquema estão sob controle do Hive, mas na tabela externa, apenas o esquema está sob o controle do Hive.

No Hive não fornece inserção e atualização no nível da linha. Portanto, não é adequado para o sistema OLTP.

Alterar Tabela table_name RENAME TO new_name

Usando a opção de coluna REPLACE

ALTER TABLE nome_tabela REPLACE COLUMNS ……

É um banco de dados relacional que armazena os metadados de tabelas, partições, bancos de dados Hive etc.

Dependendo da natureza dos dados que o usuário possui, o SerDe embutido pode não atender ao formato dos dados. Os usuários de SO precisam escrever seu próprio código java para satisfazer seus requisitos de formato de dados.

Hive é uma ferramenta no ecossistema Hadoop que fornece uma interface para organizar e consultar dados em um banco de dados da mesma maneira e escrever consultas como SQL. É adequado para acessar e analisar dados no Hadoop usando a sintaxe SQL.

hdfs: // namenode_server / user / hive / warehouse

  • Modo local
  • Modo distribuído
  • Modo pseudodistribuído

Sim. Os tipos de dados TIMESTAMP armazenam data no formato java.sql.timestamp

Existem três tipos de dados de coleta no Hive.

  • ARRAY
  • MAP
  • STRUCT

Sim, usando o! marque logo antes do comando.

Por exemplo,! Pwd no prompt do hive listará o diretório atual.

A variável hive é uma variável criada no ambiente Hive que pode ser referenciada por scripts Hive. É usado para passar alguns valores para as consultas do hive quando a consulta começa a ser executada.

Usando o comando source.

Example −

Hive> source /path/to/file/file_with_query.hql

É um arquivo que contém uma lista de comandos que precisam ser executados quando o hive CLI é iniciado. Por exemplo, definir o modo estrito como verdadeiro, etc.

O delimitador de registro padrão é - \ n

E os delimitadores arquivados são - \ 001, \ 002, \ 003

O esquema é validado com os dados ao ler os dados e não aplicado ao gravar dados.

MOSTRAR BANCOS DE DADOS COMO 'p. *'

Com o comando use, você fixa o banco de dados no qual todas as consultas subsequentes do hive serão executadas.

Não há como excluir DBPROPERTY.

Ele define os trabalhos mapreduce para o modo estrito. Através do qual as consultas em tabelas particionadas não podem ser executadas sem uma cláusula WHERE. Isso evita que trabalhos muito grandes sejam executados por muito tempo.

Isso pode ser feito com a seguinte consulta

SHOW PARTITIONS table_name PARTITION(partitioned_column=’partition_value’)

org.apache.hadoop.mapred.TextInputFormat

org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat

Quando emitimos o comando DROP TABLE IF EXISTS nome_tabela

O Hive gera um erro se a tabela que está sendo eliminada não existir.

Os dados permanecem no local antigo. Ele deve ser movido manualmente.

ALTER TABLE table_name
CHANGE COLUMN new_col  INT
BEFORE x_col

Não. Isso apenas reduz o número de arquivos, o que se torna mais fácil para o namenode gerenciar.

Usando a cláusula ENABLE OFFLINE com a ação ALTER TABLE.

Omitindo a CLÁUSULA LOCAL na instrução LOAD DATA.

Os novos arquivos recebidos são apenas adicionados ao diretório de destino e os arquivos existentes são simplesmente substituídos. Outros arquivos cujo nome não corresponda a nenhum dos arquivos recebidos continuarão a existir.

Se você adicionar a cláusula OVERWRITE, todos os dados existentes no diretório serão excluídos antes que os novos dados sejam gravados.

Ele cria partição nos funcionários da tabela com valores de partição provenientes das colunas na cláusula select. É chamado de inserção de partição dinâmica.

Uma função geradora de tabela é uma função que pega uma única coluna como argumento e a expande para várias colunas ou linhas. Exemplo de exploração ()

Se definirmos a propriedade hive.exec.mode.local.auto como true, o hive evitará mapreduce para buscar os resultados da consulta.

O operador LIKE se comporta da mesma maneira que os operadores SQL regulares usados ​​em consultas selecionadas. Exemplo -

street_name como '% Chi'

Mas o operador RLIKE usa expressões regulares mais avançadas que estão disponíveis em java

Exemplo - street_name RLIKE '. * (Chi | Oho). *' Que selecionará qualquer palavra que contenha chi ou oho.

Não. Como este tipo de Join não pode ser implementado no mapreduce

Em uma consulta de junção, a menor tabela a ser obtida na primeira posição e a maior tabela deve ser obtida na última posição.

Ele controla como a saída do mapa é reduzida entre os redutores. É útil no caso de streaming de dados

Selecione o elenco (preço como FLOAT)

O Hive retornará NULL

Não. O nome de uma visão deve ser único quando comparado a todas as outras tabelas e visões presentes no mesmo banco de dados.

Não. Uma visão não pode ser o destino de uma instrução INSERT ou LOAD.

Os índices ocupam espaço e há um custo de processamento na organização dos valores da coluna na qual o índice é cerado.

MOSTRAR ÍNDICE ON nome_tabela

Isso listará todos os índices criados em qualquer uma das colunas da tabela nome_tabela.

Os valores em uma coluna são misturados em uma série de depósitos que são definidos pelo usuário. É uma maneira de evitar muitas partições ou partições aninhadas, garantindo a otimização da saída da consulta.

É uma dica de consulta transmitir uma tabela para a memória antes de executar a consulta. É uma técnica de otimização de consulta.

Sim. Uma partição pode ser arquivada. A vantagem é que diminui o número de arquivos armazenados no namenode e o arquivo arquivado pode ser consultado usando o hive. A desvantagem é que causará consultas menos eficientes e não oferecerá nenhuma economia de espaço.

É uma UDF que é criada usando um programa java para servir a alguma necessidade específica não coberta pelas funções existentes no Hive. Ele pode detectar o tipo de argumento de entrada programaticamente e fornecer uma resposta apropriada.

O caminho de entrada local deve conter um arquivo e não um diretório. O $ env: HOME é uma variável válida disponível no ambiente da colmeia.

A cláusula TBLPROPERTIES é usada para adicionar o nome do criador ao criar uma tabela.

O TBLPROPERTIES é adicionado como -

TBLPROPERTIES(‘creator’= ‘Joan’)