Qu'est-ce qu'une ruche?

Avant de comprendre les types de données de la ruche, nous étudierons d'abord la ruche. Hive est une technique d'entreposage de données de Hadoop. Hadoop est le segment de stockage et de traitement des données de la plate-forme Big Data. Hive maintient sa position pour les techniques de traitement de données consécutives. Comme d'autres environnements de suite, la ruche peut être atteinte via des requêtes de suite. Les principales offres par ruche sont l'analyse des données, les requêtes ad hoc et résument les données stockées du point de vue de la latence, les requêtes vont plus loin.

Types de données de la ruche

Les types de données sont classés en deux types:

  • Types de données primitifs
  • Types de données collectives

1. Types de données primitifs

Les moyens primitifs étaient anciens et anciens. tous les types de données répertoriés comme primitifs sont hérités. les zones de types de données primitives importantes énumérées ci-dessous:

Type Taille (octet) Exemple
TinyInt 1 20
SmallInt 2 20
Int 4 20
Bigint 8 20
Booléen Booléen vrai / faux FAUX
Double 8 10.2222
Flotte 4 10.2222
Chaîne Séquence de caractères A B C D
Horodatage Entier / flottant / chaîne 2/3/2012 12: 34: 56: 1234567
Date Entier / flottant / chaîne 03/02/2019

Les types de données Hive sont implémentés à l'aide de JAVA

Ex: Java Int est utilisé pour implémenter le type de données Int ici.

  • Les tableaux de caractères ne sont pas pris en charge dans HIVE.
  • Hive s'appuie sur des délimiteurs pour séparer ses champs, hive sur la coordination avec Hadoop permet d'augmenter les performances d'écriture et de lecture.
  • Il n'est pas prévu de spécifier la longueur de chaque colonne dans la base de données de la ruche.
  • Les littéraux de chaîne peuvent être articulés entre guillemets doubles (“) entre guillemets simples (').
  • Dans une version plus récente de la ruche, les types Varchar sont introduits et ils forment un spécificateur d'intervalle de (au milieu de 1 et 65535), donc pour une chaîne de caractères, cela agit comme la plus grande longueur de valeur qu'elle peut accueillir. Lorsqu'une valeur dépassant cette longueur est insérée, les éléments les plus à droite de ces valeurs sont tronqués. La longueur des caractères est la résolution avec le chiffre des points de code contrôlé par la chaîne de caractères.
  • Tous les littéraux entiers (TINYINT, SMALLINT, BIGINT) sont considérés comme des types de données INT fondamentalement, et seule la longueur dépasse le niveau int réel, il est transmuté en BIGINT ou tout autre type respectif.
  • Les littéraux décimaux offrent des valeurs définies et une collecte supérieure pour les valeurs à virgule flottante par rapport au type DOUBLE. Ici, les valeurs numériques sont stockées sous leur forme exacte, mais dans le cas d'un double, elles ne sont pas stockées exactement comme des valeurs numériques.

Processus de moulage de valeur de date

Casting effectué Résultat
cast (date comme date) Même valeur de date
cast (horodatage comme date) Un fuseau horaire local est utilisé pour évaluer les valeurs année / mois / date ici et imprimé dans la sortie.
cast (chaîne comme date) Une valeur de date correspondante sera demandée à la suite de cette conversion, mais nous devons nous assurer que la chaîne est au format 'AAAA-MM-JJ' Null sera renvoyé lorsque la valeur de la chaîne ne parvient pas à faire une correspondance valide.
cast (date comme horodatage) Selon le fuseau horaire local actuel, une valeur d'horodatage sera créée pour ce processus de casting
cast (date sous forme de chaîne) AAAA-MM-JJ est formé pour la valeur année / mois / date et la sortie sera au format chaîne.

2. Types de données de collecte

Il existe quatre types de données de collecte dans la ruche, ils sont également appelés types de données complexes.

  • ARRAY
  • CARTE
  • STRUCTURE
  • UNIONTYPE

1. TABLEAU: Une séquence d'éléments d'un type commun qui peut être indexé et la valeur d'index commence à zéro.

Code:

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

2. MAP: Ce sont des éléments qui sont déclarés et récupérés à l'aide de paires clé-valeur.

Code:

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

3. STRUCT: Comme en C, la structure est un type de données qui accumule un ensemble de champs étiquetés et peut être de tout autre type de données.

Code:

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

4. UNIONTYPE: Union peut contenir n'importe lequel des types de données spécifiés.

Code:

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

Production:

Les différents délimiteurs utilisés dans les types de données complexes sont répertoriés ci-dessous,

Délimiteur Code La description
\ n \ n Délimiteur d'enregistrement ou de ligne
A (Ctrl + A) \ 001 Délimiteur de champ
B (Ctrl + B) \ 002 STRUCTS et ARRAYS
C (Ctrl + C) \ 003 Plans

Exemple de types de données complexes

Voici des exemples de types de données complexes:

1. CRÉATION DE TABLE

Code:

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. EXEMPLES DE DONNÉES DU TABLEAU

Code:

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. CHARGEMENT DES DONNÉES

Code:

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

4. AFFICHAGE DES DONNÉES

Code:

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

Conclusion - Types de données Hive

Étant une base de données relationnelle et pourtant une suite se connecte, le HIVE offre toutes les propriétés clés des bases de données SQL habituelles de manière très sophistiquée, ce qui en fait l'une des unités de traitement de données structurées les plus efficaces de Hadoop.

Articles recommandés

Ceci est un guide sur le type de données Hive. Ici, nous discutons de deux types de types de données de ruche avec des exemples appropriés. Vous pouvez également consulter nos autres articles connexes pour en savoir plus -

  1. Qu'est-ce qu'une ruche?
  2. Alternatives à la ruche
  3. Fonctions intégrées de la ruche
  4. Questions d'entretiens chez Hive
  5. Types de données PL / SQL
  6. Exemples de fonctions intégrées Python
  7. Différents types de données SQL avec des exemples

Catégorie: