Condivisione della tecnologia

Riepilogo dei tipi di dati e dei formati di archiviazione in Hive

2024-07-12

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

1.Tipo di dati

Hive supporta più tipi di dati, divisi in due categorie: tipi di dati primitivi e tipi di dati complessi. Di seguito sono riportati i tipi di dati supportati da Hive:

Tipi di dati primitivi:

1. Tipo intero:

                minuscolo: Intero con segno a 1 byte
               piccoloint: Intero con segno a 2 byte
               interno: Intero con segno a 4 byte
                grandezza: Intero con segno a 8 byte
               galleggiante: Numero in virgola mobile a precisione singola da 4 byte
               Doppio: Numero in virgola mobile a doppia precisione da 8 byte
                decimale: È possibile specificare tipo di numero, precisione e scala ad alta precisione, ad esempio decimal(10,2)

Byte: una delle unità di memorizzazione più basilari nei computer, 1 byte occupa 8 bit, intervallo dati: intervallo negativo: da -128 a -1, intervallo positivo: da 0 a 127

2. Tipo di stringa:

                corda: stringa di lunghezza variabile
               variabile: Una stringa di lunghezza variabile con un limite di lunghezza massima, come varchar(255)
               carattere: Stringa di lunghezza fissa, come char(10)

3.Tipo data/ora:

                marca temporale: Timestamp contenente data e ora, preciso al nanosecondo
               data: Contiene solo la parte della data, non quella dell'ora
                intervallo: Intervallo di tempo, utilizzato per rappresentare la differenza tra due date o ore

4.Tipo booleano:

                booleano: valore booleano, il valore è vero o falso

5. Tipo binario:

                binario: array di byte di lunghezza arbitraria

Tipi di dati complessi:
1.Tipo di array

        vettore<T> : Un elenco ordinato contenente più elementi dello stesso tipo, ad esempio array<int>

2. Tipo di mappatura

    carta geografica<K, V> : Una raccolta non ordinata di coppie chiave-valore, in cui la chiave e il valore possono essere qualsiasi tipo di dati, ad esempio mappa<string, int>


    3. Tipologia di struttura

         struttura<col1: type1, col2: type2, ...> : Record contenenti più campi, ciascun campo può essere di un tipo di dati diverso, ad es.struttura<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. Formato di archiviazione file Hive

I formati di archiviazione di hive sono divisi in due categorie:

Un tipo di file di testo semplice: textfile, che non è compresso ed è anche il formato di archiviazione predefinito di hive.

Una categoria è l'archiviazione di file binari:

filesequenza: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.

orcfile: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.

parquet: verrà compresso e i dati non potranno essere caricati utilizzando il metodo load.

rcfile: può comprimere e non può caricare dati utilizzando il metodo load. È una configurazione bassa di orcfile.

I formati di archiviazione di textfile e sequencefile si basano sull'archiviazione di righe; orc e parquet si basano sull'archiviazione di colonne e rcfile è un'archiviazione mista di righe e colonne.

Quando si crea una tabella, è possibile utilizzare memorizzato come parquet per specificare il formato di archiviazione della tabella, ad esempio:

  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;

Modifica il formato di archiviazione predefinito di hive:

  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