Partage de technologie

Résumé des types de données et des formats de stockage dans Hive

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1.Type de données

Hive prend en charge plusieurs types de données, divisés en deux catégories : les types de données primitifs et les types de données complexes. Voici les types de données pris en charge par Hive :

Types de données primitifs :

1. Type entier :

                minuscule: Entier signé de 1 octet
               petitint: Entier signé sur 2 octets
               int: Entier signé de 4 octets
                grandint: Entier signé de 8 octets
               flotter: Nombre à virgule flottante simple précision sur 4 octets
               double: Nombre à virgule flottante double précision sur 8 octets
                décimal: Le type de nombre de haute précision, la précision et l'échelle peuvent être spécifiés, tels que décimal (10,2)

Octet : L'une des unités de stockage les plus élémentaires des ordinateurs, 1 octet occupe 8 bits, plage de données : plage négative : -128 à -1, plage positive : 0 à 127

2. Type de chaîne :

                chaîne: chaîne de longueur variable
               varchar: Une chaîne de longueur variable avec une limite de longueur maximale, telle que varchar(255)
               carboniser: Chaîne de longueur fixe, telle que char(10)

3.Type de date/heure :

                horodatage: Horodatage contenant la date et l'heure, précis à la nanoseconde près
               date: Contient uniquement la partie date, pas la partie heure
                intervalle: Intervalle de temps, utilisé pour représenter la différence entre deux dates ou heures

4.Type booléen :

                booléen: Valeur booléenne, la valeur est vraie ou fausse

5. Type binaire :

                binaire: tableau d'octets de longueur arbitraire

Types de données complexes :
1.Type de tableau

        tableau<T> : Une liste ordonnée contenant plusieurs éléments du même type, tel qu'un tableau<int>

2. Type de cartographie

    carte<K, V> : Une collection non ordonnée de paires clé-valeur, où la clé et la valeur peuvent être n'importe quel type de données, tel qu'une carte<string, int>


    3. Type de structure

         structure<col1: type1, col2: type2, ...> : Enregistrements contenant plusieurs champs, chaque champ peut être d'un type de données différent, par ex.structure<name: string, age: int>

  1. CREATE TABLE example_table (
  2. tinyint_col tinyint,
  3. smallint_col smallint,
  4. int_col int,
  5. bigint_col bigint,
  6. float_col float,
  7. double_col double,
  8. decimal_col decimal(10, 2),
  9. string_col string,
  10. varchar_col varchar(255),
  11. char_col char(10),
  12. timestamp_col timestamp,
  13. date_col date,
  14. boolean_col boolean,
  15. binary_col binary,
  16. array_col array<int>,
  17. map_col map<string, int>,
  18. struct_col struct<name: string, age: int>,
  19. union_col uniontype<int, string>
  20. );

2.Format de stockage de fichiers Hive

Les formats de stockage de Hive sont divisés en deux catégories :

Un type de fichier texte brut : fichier texte, qui n'est pas compressé et est également le format de stockage par défaut de Hive.

Une catégorie est le stockage de fichiers binaires :

fichier séquence : sera compressé et les données ne pourront pas être chargées à l’aide de la méthode de chargement.

fichier orc : sera compressé et les données ne pourront pas être chargées à l'aide de la méthode de chargement.

parquet : sera compressé et les données ne pourront pas être chargées à l'aide de la méthode de chargement.

rcfile : Il peut compresser et ne peut pas charger les données en utilisant la méthode de chargement. Il s'agit d'une configuration basse d'orcfile.

Les formats de stockage du fichier texte et du fichier séquence sont basés sur le stockage en lignes ; orc et parquet sont basés sur le stockage en colonnes, et rcfile est un stockage mixte en lignes et en colonnes.

Lors de la création d'un tableau, vous pouvez utiliser stocké comme parquet pour préciser le format de stockage du tableau, par exemple :

  1. create table if not exists stocks_parquet (
  2. track_time string,
  3. url string,
  4. session_id string,
  5. referer string,
  6. ip string,
  7. end_user_id string,
  8. city_id string
  9. )
  10. stored as parquet;

Modifiez le format de stockage par défaut de la ruche :

  1. <property>
  2. <name>hive.default.fileformat</name>
  3. <value>TextFile</value>
  4. <description>
  5. Expects one of [textfile, sequencefile, rcfile, orc].
  6. Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
  7. </description>
  8. </property>
  9. 也可以使用set方式修改:
  10. set hive.default.fileformat=TextFile