Hive - Types de données

Ce chapitre vous présente les différents types de données dans Hive, qui sont impliqués dans la création de la table. Tous les types de données dans Hive sont classés en quatre types, comme suit:

  • Types de colonnes
  • Literals
  • Valeurs nulles
  • Types complexes

Types de colonnes

Le type de colonne est utilisé comme type de données de colonne de Hive. Ils sont les suivants:

Types intégraux

Les données de type entier peuvent être spécifiées à l'aide de types de données intégraux, INT. Lorsque la plage de données dépasse la plage de INT, vous devez utiliser BIGINT et si la plage de données est inférieure à INT, vous utilisez SMALLINT. TINYINT est plus petit que SMALLINT.

Le tableau suivant décrit différents types de données INT:

Type Postfix Exemple
TINYINT Oui 10 ans
PETITE MENTHE S 10S
INT - dix
GRAND L 10 L

Types de chaînes

Les types de données de type chaîne peuvent être spécifiés à l'aide de guillemets simples ('') ou doubles (""). Il contient deux types de données: VARCHAR et CHAR. Hive suit les caractères d'échappement de type C.

Le tableau suivant décrit différents types de données CHAR:

Type de données Longueur
VARCHAR 1 à 65355
CARBONISER 255

Horodatage

Il prend en charge l'horodatage UNIX traditionnel avec une précision nanoseconde en option. Il prend en charge le format java.sql.Timestamp «AAAA-MM-JJ HH: MM: SS.fffffffff» et le format «aaaa-mm-jj hh: mm: ss.ffffffffff».

Rendez-vous

Les valeurs DATE sont décrites au format année / mois / jour sous la forme {{AAAA-MM-JJ}}.

Décimales

Le type DECIMAL dans Hive est identique au format Big Decimal de Java. Il est utilisé pour représenter une précision arbitraire immuable. La syntaxe et l'exemple sont les suivants:

DECIMAL(precision, scale)
decimal(10,0)

Types d'union

Union est un ensemble de types de données hétérogènes. Vous pouvez créer une instance en utilisantcreate union. La syntaxe et l'exemple sont les suivants:

UNIONTYPE<int, double, array<string>, struct<a:int,b:string>>

{0:1} 
{1:2.0} 
{2:["three","four"]} 
{3:{"a":5,"b":"five"}} 
{2:["six","seven"]} 
{3:{"a":8,"b":"eight"}} 
{0:9} 
{1:10.0}

Littéraux

Les littéraux suivants sont utilisés dans Hive:

Types de virgule flottante

Les types à virgule flottante ne sont rien d'autre que des nombres avec des points décimaux. Généralement, ce type de données est composé de type de données DOUBLE.

Type décimal

Les données de type décimal ne sont rien d'autre qu'une valeur en virgule flottante avec une plage plus élevée que le type de données DOUBLE. La plage de type décimal est d'environ -10-308 à 10 308 .

Valeur nulle

Les valeurs manquantes sont représentées par la valeur spéciale NULL.

Types complexes

Les types de données complexes Hive sont les suivants:

Tableaux

Les tableaux dans Hive sont utilisés de la même manière qu'ils sont utilisés dans Java.

Syntax: ARRAY<data_type>

Plans

Les cartes dans Hive sont similaires aux cartes Java.

Syntax: MAP<primitive_type, data_type>

Structs

Structs dans Hive est similaire à l'utilisation de données complexes avec des commentaires.

Syntax: STRUCT<col_name : data_type [COMMENT col_comment], ...>