O que é uma colméia?

Antes de entender os tipos de dados do Hive primeiro, estudaremos o ramo. Hive é uma técnica de armazenamento de dados do Hadoop. Hadoop é o segmento de armazenamento e processamento de dados da plataforma de Big Data. A Hive mantém sua posição para técnicas de processamento de dados de sequela. Como outros ambientes de sequela, a seção pode ser acessada através de consultas de sequela. As principais ofertas do hive são: análise de dados, consultas ad-hoc e resumir os dados armazenados a partir de uma perspectiva de latência; as consultas aumentam bastante.

Tipos de dados do Hive

Os tipos de dados são classificados em dois tipos:

  • Tipos de dados primitivos
  • Tipos de dados coletivos

1. Tipos de dados primitivos

Os meios primitivos eram antigos e antigos. todos os tipos de dados listados como primitivos são herdados. as áreas de tipos de dados primitivos importantes listadas abaixo:

Tipo Tamanho (byte) Exemplo
TinyInt 1 1 20
SmallInt 2 20
Int 4 20
Bigint 8 20
boleano Booleano verdadeiro / falso FALSO
Duplo 8 10.2222
Flutuador 4 10.2222
Corda Sequência de caracteres ABCD
Registro de data e hora Inteiro / flutuante / sequência 2/2/2012 12: 34: 56: 1234567
Encontro Inteiro / flutuante / sequência 03/02/2019

Os tipos de dados do Hive são implementados usando JAVA

Ex: Java Int é usado para implementar o tipo de dados Int aqui.

  • Matrizes de caracteres não são suportadas no HIVE.
  • O Hive conta com delimitadores para separar seus campos, o hive na coordenação com o Hadoop permite aumentar o desempenho de gravação e o desempenho de leitura.
  • A especificação do comprimento de cada coluna não é esperada no banco de dados da seção.
  • Literais de string podem ser articulados entre aspas duplas (“) aspas simples (').
  • Em uma versão mais recente da seção, os tipos Varchar são introduzidos e formam um especificador de extensão de (entre 1 e 65535). Portanto, para uma cadeia de caracteres, ela atua como o maior comprimento de valor que pode acomodar. Quando um valor que excede esse comprimento é inserido, os elementos mais à direita desses valores são truncados. O comprimento dos caracteres é a resolução, com a figura dos pontos de código controlados pela cadeia de caracteres.
  • Todos os literais inteiros (TINYINT, SMALLINT, BIGINT) são considerados basicamente como tipos de dados INT, e apenas o comprimento excede o nível int real que é transmutado em um BIGINT ou qualquer outro tipo respectivo.
  • Literais decimais fornecem valores definidos e uma coleção superior para valores de ponto flutuante quando comparados ao tipo DOUBLE. Aqui, os valores numéricos são armazenados em sua forma exata, mas, no caso de duplo, eles não são armazenados exatamente como valores numéricos.

Data Valor Processo de Elenco

Fundição realizada Resultado
elenco (data como data) Mesmo valor de data
elenco (carimbo de data e hora como data) Um fuso horário local é usado para avaliar os valores de Ano / mês / data aqui e impresso na saída.
elenco (sequência como data) Um valor de data correspondente será solicitado como resultado dessa conversão, mas precisamos garantir que a string tenha o formato 'AAAA-MM-DD' Nulo será retornado quando o valor da string falhar em fazer uma correspondência válida.
elenco (data como carimbo de data / hora) De acordo com o fuso horário local atual, um valor de carimbo de data / hora será criado para esse processo de transmissão
elenco (data como sequência) AAAA-MM-DD é formado para o valor de ano / mês / data e a saída será no formato de sequência.

2. Tipos de dados de coleta

Existem quatro tipos de dados de coleta na seção, eles também são denominados como tipos de dados complexos.

  • ARRAY
  • MAPA
  • ESTRUTURA
  • UNIONTYPE

1. ARRAY: Uma sequência de elementos de um tipo comum que pode ser indexado e o valor do índice começa do zero.

Código:

array ('anand', 'balaa', 'praveeen');

2. MAPA: Esses são elementos que são declarados e recuperados usando pares de valores-chave.

Código:

'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').

3. ESTRUTURA: Como em C, a estrutura é um tipo de dados que acumula um conjunto de campos rotulados e pode ser de qualquer outro tipo de dados.

Código:

For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY

4. UNIONTYPE: Union pode conter qualquer um dos tipos de dados especificados.

Código:

CREATE TABLE test(col1 UNIONTYPE ) CREATE TABLE test(col1 UNIONTYPE )

Resultado:

Vários delimitadores usados ​​em tipos de dados complexos estão listados abaixo,

Delimitador Código Descrição
\ n \ n Delimitador de registro ou linha
A (Ctrl + A) \ 001 Delimitador de campo
B (Ctrl + B) \ 002 ESTRUTURAS e ARRAYS
C (Ctrl + C) \ 003 MAP's

Exemplo de tipos de dados complexos

Abaixo estão os exemplos de tipos de dados complexos:

1. CRIAÇÃO DA TABELA

Código:

create table store_complex_type (
emp_id int,
name string,
local_address STRUCT,
country_address MAP,
job_history array)
row format delimited fields terminated by ', '
collection items terminated by ':'
map keys terminated by '_';

2. DADOS DA TABELA DE AMOSTRA

Código:

100, Shan, 4th : CHN : IND : 600101, CHENNAI_INDIA, SI : CSC
101, Jai, 1th : THA : IND : 600096, THANJAVUR_INDIA, HCL : TM
102, Karthik, 5th : AP : IND : 600089, RENIKUNDA_INDIA, CTS : HCL

3. CARREGANDO OS DADOS

Código:

load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;

4. VISUALIZANDO OS DADOS

Código:

select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';

Conclusão - Tipos de dados do Hive

Sendo um banco de dados relacional e, no entanto, um Sequel se conecta, o HIVE oferece todas as principais propriedades dos bancos de dados SQL usuais de uma maneira muito sofisticada, o que o torna uma das unidades de processamento de dados estruturados mais eficientes do Hadoop.

Artigos recomendados

Este é um guia para o tipo de dados Hive. Aqui discutimos dois tipos em tipos de dados da seção com exemplos apropriados. Você também pode consultar nossos outros artigos relacionados para saber mais -

  1. O que é uma colméia?
  2. Hive Alternatives
  3. Funções internas do Hive
  4. Hive Interview Questions
  5. Tipos de dados PL / SQL
  6. Exemplos de funções internas do Python
  7. Diferentes tipos de dados SQL com exemplos

Categoria: