Teknologian jakaminen

Yhteenveto Hiven tietotyypeistä ja tallennusmuodoista

2024-07-12

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

1.Tietotyyppi

Hive tukee useita tietotyyppejä, jotka on jaettu kahteen luokkaan: primitiiviset tietotyypit ja monimutkaiset tietotyypit. Hiven tukemat tietotyypit ovat seuraavat:

Primitiiviset tietotyypit:

1. Kokonaislukutyyppi:

                tinyint: 1-tavun etumerkillinen kokonaisluku
               smallint: 2-tavuinen etumerkillinen kokonaisluku
               int: 4-tavuinen etumerkillinen kokonaisluku
                bigint: 8-tavuinen etumerkillinen kokonaisluku
               kellua: 4-tavuinen yhden tarkkuuden liukuluku
               kaksinkertainen: 8-tavuinen kaksinkertainen tarkkuus liukuluku
                desimaali: Erittäin tarkka numerotyyppi, tarkkuus ja asteikko voidaan määrittää, kuten desimaali (10,2)

Tavu: Yksi tietokoneiden perusmuistiyksiköistä, 1 tavu vie 8 bittiä, dataalue: negatiivinen alue: -128 - -1, positiivinen alue: 0 - 127

2. Merkkijonotyyppi:

                merkkijono: vaihtuvapituinen merkkijono
               varchar: Vaihtuvapituinen merkkijono, jolla on enimmäispituusrajoitus, kuten varchar(255)
               hiiltyä: Kiinteäpituinen merkkijono, kuten char(10)

3. Päivämäärän/ajan tyyppi:

                aikaleima: Aikaleima, joka sisältää päivämäärän ja ajan, nanosekuntien tarkkuudella
               Päivämäärä: Sisältää vain päivämääräosan, ei aikaosaa
                intervalli: Aikaväli, jota käytetään edustamaan kahden päivämäärän tai kellonajan eroa

4. Boolen tyyppi:

                boolean: Boolen arvo, arvo on tosi tai epätosi

5. Binäärityyppi:

                binääri: mielivaltaisen pituinen tavutaulukko

Monimutkaiset tietotyypit:
1.Matriisityyppi

        joukko<T> : Järjestetty luettelo, joka sisältää useita samantyyppisiä elementtejä, kuten taulukon<int>

2. Kartoitustyyppi

    kartta<K, V> : Järjestämätön kokoelma avain-arvo-pareja, jossa avain ja arvo voivat olla mikä tahansa tietotyyppi, kuten kartta<string, int>


    3. Rakenteen tyyppi

         struct<col1: type1, col2: type2, ...> : Tietueet, jotka sisältävät useita kenttiä, jokainen kenttä voi olla eri tietotyyppiä, esim.struct<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-tiedoston tallennusmuoto

pesän säilytysmuodot on jaettu kahteen luokkaan:

Tavallinen tekstitiedostotyyppi: tekstitiedosto, jota ei ole pakattu ja joka on myös pesän oletustallennusmuoto.

Yksi luokka on binääritiedostojen tallennus:

sekvenssitiedosto: pakataan, eikä tietoja voi ladata latausmenetelmällä.

orcfile: pakataan, eikä tietoja voi ladata latausmenetelmällä.

parketti: pakataan, eikä tietoja voi ladata latausmenetelmällä.

rcfile: Se voi pakata eikä ladata tietoja latausmenetelmällä. Se on alhainen orcfile-kokoonpano.

Tekstitiedoston ja sekvenssitiedoston tallennusmuodot perustuvat rivitallennustilaan orc ja parquet perustuvat sarakevarastointiin, ja rcfile on sekoitettu rivi- ja sarakevarastointi.

Kun luot pöytää, voit käyttää parkettina varastoitua määrittääksesi pöydän säilytysmuodon, esimerkiksi:

  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;

Muokkaa pesän oletustallennusmuotoa:

  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