Visão geral
- Apache ColmeiaHive é uma plataforma de mídia social descentralizada que permite que seus usuários compartilhem conteúdo e se conectem com outras pessoas sem a intervenção de uma autoridade central. Usa a tecnologia blockchain para garantir a segurança e a propriedade dos dados. Ao contrário de outras redes sociais, O Hive permite que os usuários monetizem seu conteúdo por meio de recompensas criptográficas, que incentiva a criação e a troca ativa de informações .... es una herramienta imprescindible para cualquier persona interesada en la ciencia y la ingeniería de datos.
- Aprenda sobre os diferentes tipos de tabelas Apache Hive
Introdução
Passei mais de meia década trabalhando com a pilha de tecnologia de Big Data e prestando consultoria a clientes em vários domínios. Uma coisa que percebi é a frequência com que o Hive é usado como solução de armazenamento em todos os domínios de negócios.
Você simplesmente não pode ignorar o Apache Hive quando estiver aprendendo o Apache Hadoop.
Hive es parte del gran ecosistema de Hadoop que le posibilita proporcionar un esquema para grandes datos que residen en HDFSHDFS, o Sistema de Arquivos Distribuído Hadoop, É uma infraestrutura essencial para armazenar grandes volumes de dados. Projetado para ser executado em hardware comum, O HDFS permite a distribuição de dados em vários nós, garantindo alta disponibilidade e tolerância a falhas. Sua arquitetura é baseada em um modelo mestre-escravo, onde um nó mestre gerencia o sistema e os nós escravos armazenam os dados, facilitando o processamento eficiente de informações... A maioria de vocês conhecerá RDBMS e suas tabelas. Nós os usamos com tanta frequência que agora se tornou parte de nossas vidas. E aqui está a questão: as tabelas no Hive não são diferentes.
Você já se perguntou quais podem ser os diferentes tipos de mesas no Hive? É isso que discutiremos neste post!!
Tabela de conteúdo
- O que é Apache Hive?
- Tipos de tabela no Apache Hive # 1: tabelas gerenciadas
- Tipos de tabela no Apache Hive # 2: Tabelas externas
- Tabela gerenciada vs. tabela externa: qual é a diferença?
- Identifique o tipo de tabela Apache Hive
O que é Apache Hive?
Apache Hive é um sistema de armazenamento de dados para Apache Hadoop. Fornece acesso SQL equivalente a dados em HDFS para que o Hadoop possa ser usado como uma estrutura de warehouse. O Hive permite que você forneça estrutura sobre dados amplamente não estruturados. Depois de estabelecer a estrutura, você pode usar o Hive para consultar os dados sem conhecimento de Java ou Map Reduce.
Linguagem de consulta Hive (HQL) cuenta con una semántica y funciones similares a las de SQL estándar en la base de dadosUm banco de dados é um conjunto organizado de informações que permite armazenar, Gerencie e recupere dados com eficiência. Usado em várias aplicações, De sistemas corporativos a plataformas online, Os bancos de dados podem ser relacionais ou não relacionais. O design adequado é fundamental para otimizar o desempenho e garantir a integridade das informações, facilitando assim a tomada de decisão informada em diferentes contextos.... relacional para que los analistas de bases de datos experimentados puedan ingresar fácilmente a los datos.
Quais são os recursos oferecidos pelo Hive?
Apache Hive oferece os seguintes recursos:
- Apache Hive fornece um modelo de consulta mais simples com menos codificação do que Map Reduce
- HQL e SQL têm uma sintaxe equivalente
- Oferece muitos recursos que tornam a análise fácil de usar.
- O tempo de resposta é geralmente muito mais rápido do que outros tipos de consultas nos mesmos enormes conjuntos de dados
- Apache Hive suporta execução em diferentes estruturas de computação
- Suporta consultas de dados ad hoc em HDFS
- Apache Hive oferece suporte a funções definidas pelo usuário, scripts e um formato E / S personalizado para estender sua funcionalidade.
- É escalonável e extensível a vários tipos de dados e conjuntos de dados maiores.
- Drivers JDBC e ODBC maduros permitem que muitos aplicativos extraiam dados do Hive para relatórios suaves
- O Hive permite que os usuários leiam dados em formatos arbitrários, usando SerDes e formatos de entrada / Saída
- O Hive tem uma arquitetura bem estabelecida para gerenciamento de metadados, autenticação e otimização de consulta.
- Existe uma grande comunidade de profissionais e desenvolvedores que trabalham e usam o Hive.
Tipos de tabela no Apache Hive
Estes são os tipos de tabelas no Apache Hive:
Tabelas gerenciadas
Em uma mesa gerenciada, O Hive gerencia os dados e o esquema da tabela. Os dados serão localizados em uma pasta com o nome da tabela dentro do armazenamento de dados Hive, que é simplesmente um local de arquivo no HDFS.
A localização é configurável pelo usuário quando o Hive é instalado. Por gerenciado ou controlado, queremos dizer que se você excluir (retirar) uma mesa gerenciada, O Hive removerá o esquema (a descrição da mesa) como os arquivos de dados associados à tabela. O local padrão é / Nome do usuário / colmeia / estoque).
Sintaxe para criar uma tabela gerenciada
CRIAR ESTOQUES DE TABELA SE NÃO EXISTIR (trocar STRING, STRING símbolo, price_open flutuante, price_high flutuante, price_low flutuante, price_adj_close flutuante) FORMATO DE LINHA CAMPOS DELIMITADOS POR ',' ;
Quanto a tabelas gerenciadas, você também pode copiar o esquema (mas não os dados) de uma tabela existente:
CREATE EXTERNAL TABLE IF NOT EXISTS mydb.employees3
LIKE mydb.employees
LOCATION '/path/to/data';
Tabelas Externas
uma tabela externa é uma em que a colmeia só controla o esquema da tabela. Na maioria dos casos, o usuário definirá a localização da pasta dentro do HDFS e copiará os arquivos de dados lá. este local está incluído como parte da declaração de definição da tabela. Quando uma tabela externa é excluída, colmeia só vai excluir o esquema associado à tabela. Os arquivos de dados não são afetados.
Sintaxe para criar uma tabela externa
CRIE ESTOQUES DE TABELA EXTERNA SE NÃO EXISTIREM (trocar STRING,
STRING símbolo,
price_open flutuante,
price_high flutuante,
price_low flutuante,
price_adj_close flutuante)
FORMATO DE LINHA CAMPOS DELIMITADOS POR ','
LOCATION '/data/stocks';
Tabela gerenciada vs. tabela externa: qual é a diferença?
Mesa gerenciada | Mesa Externa |
Hive assume que tem dados de tabelas gerenciadas. | Para mesas externas, Hive presume que sim não gerenciar dados. |
Se uma tabela ou partição gerenciada for excluída, os dados e metadados associados a essa tabela ou partição são excluídos. | Sair da mesa não apaga os dados, mesmo que os metadados da tabela sejam removidos. |
Para Tabelas gerenciadas, Colmeia armazena dados em seu diretório de armazém | Para Tabelas Externas, Colmeia armazena os dados no LOCAL especificado durante a criação do mesa(geralmente não está no diretório do warehouse) |
A tabela gerenciada fornece suporte ACID / ação transnacional. | A tabela externa não oferece suporte para ações ACID / transacional. |
Declarações: ARQUIVO, DESARQUIVAR, TRUNCAR, MERGE, CONCATENATE compatível | Não suportado. |
O armazenamento em cache dos resultados da consulta é compatível (salva os resultados de uma consulta Hive executada para reutilização) | Não suportado |
Identifique o tipo de tabela Apache Hive
Você pode dizer se uma tabela é gerenciada ou externa usando a saída de DESCRIBE EXTENDED table name.
Perto do final da saída de informações detalhadas da tabela, você verá o seguinte para administrado mesas:
... tableType: MANAGED_TABLE)
Para externo Pranchas, você verá o seguinte:
... tableType: EXTERNAL_TABLE)
Observação: Se você omitir a palavra-chave EXTERNAL e a tabela original for externa, a nova mesa também será externa. Se você omitir EXTERNAL e a tabela original for gerenciada, também a nova mesa será gerenciada. Apesar disto, se incluir a palavra-chave EXTERNAL e a tabela original for gerenciada, a nova mesa será externa. Mesmo neste cenário, a cláusula LOCATION permanecerá opcional.
Notas finais
Neste post, aprendemos sobre o Apache Hive e seus tipos de tabela. Com sorte, você pode ter obtido uma boa visão geral dos tipos de tabela no Hive. As diferenças indicadas não são exaustivas. Sinta-se à vontade para adicionar mais na seção de comentários abaixo.
A seguir estão alguns recursos adicionais de engenharia de dados que recomendo que você explore:
Espero que tenha gostado do post. Se você tiver alguma dúvida relacionada a esta postagem, Me avise na seção de comentários abaixo.
Leitura recomendada-
https://cwiki.apache.org/confluence/display/Hive/Home