Technologieaustausch

Zusammenfassung der Datentypen und Speicherformate in Hive

2024-07-12

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

1.Datentyp

Hive unterstützt mehrere Datentypen, die in zwei Kategorien unterteilt sind: primitive Datentypen und komplexe Datentypen. Die folgenden Datentypen werden von Hive unterstützt:

Primitive Datentypen:

1. Ganzzahltyp:

                winziger Wert: 1-Byte-Ganzzahl mit Vorzeichen
               kleine Ganzzahl: 2-Byte-Ganzzahl mit Vorzeichen
               int: 4-Byte-Ganzzahl mit Vorzeichen
                große Ganzzahl: 8-Byte-Ganzzahl mit Vorzeichen
               schweben: 4-Byte-Gleitkommazahl mit einfacher Genauigkeit
               doppelt: 8-Byte-Gleitkommazahl mit doppelter Genauigkeit
                Dezimal: Es können hochpräziser Zahlentyp, Genauigkeit und Skalierung angegeben werden, z. B. dezimal(10,2)

Byte: Eine der grundlegendsten Speichereinheiten in Computern. 1 Byte belegt 8 Bit, Datenbereich: negativer Bereich: -128 bis -1, positiver Bereich: 0 bis 127

2. String-Typ:

                Zeichenfolge: Zeichenfolge variabler Länge
               varchar: Eine Zeichenfolge variabler Länge mit einer maximalen Längenbeschränkung, z. B. varchar(255)
               verkohlen: String mit fester Länge, z. B. char(10)

3. Datums-/Uhrzeittyp:

                Zeitstempel: Zeitstempel mit Datum und Uhrzeit, auf Nanosekunden genau
               Datum: Enthält nur den Datumsteil, nicht den Zeitteil
                Intervall: Zeitintervall, das zur Darstellung der Differenz zwischen zwei Datums- oder Uhrzeitangaben verwendet wird

4.Boolescher Typ:

                Boolescher Wert: Boolescher Wert, der Wert ist wahr oder falsch

5. Binärtyp:

                binär: Byte-Array beliebiger Länge

Komplexe Datentypen:
1.Array-Typ

        Anordnung<T> : Eine geordnete Liste, die mehrere Elemente desselben Typs enthält, z. B. ein Array<int>

2. Zuordnungstyp

    Karte<K, V> : Eine ungeordnete Sammlung von Schlüssel-Wert-Paaren, wobei Schlüssel und Wert ein beliebiger Datentyp sein können, beispielsweise eine Karte<string, int>


    3. Strukturtyp

         Struktur<col1: type1, col2: type2, ...> : Datensätze, die mehrere Felder enthalten. Jedes Feld kann einen anderen Datentyp haben, z. B.Struktur<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. Hive-Dateispeicherformat

Die Speicherformate von Hive sind in zwei Kategorien unterteilt:

Eine Art reine Textdatei: Textdatei, die nicht komprimiert ist und auch das Standardspeicherformat von Hive ist.

Eine Kategorie ist die Speicherung binärer Dateien:

Sequenzdatei: wird komprimiert und Daten können nicht mit der Lademethode geladen werden.

orcfile: wird komprimiert und Daten können nicht mit der Lademethode geladen werden.

Parkett: wird komprimiert und Daten können nicht mit der Lademethode geladen werden.

rcfile: Es kann Daten mit der Lademethode komprimieren und nicht laden. Es handelt sich um eine niedrige Konfiguration von orcfile.

Die Speicherformate Textdatei und Sequenzdatei basieren auf der Zeilenspeicherung; Orc und Parkett basieren auf der Spaltenspeicherung, und rcfile ist eine gemischte Zeilen- und Spaltenspeicherung.

Beim Erstellen einer Tabelle können Sie mit „gespeichert als Parkett“ das Speicherformat der Tabelle angeben, zum Beispiel:

  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;

Ändern Sie das Standardspeicherformat von 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