2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Hive tukee useita tietotyyppejä, jotka on jaettu kahteen luokkaan: primitiiviset tietotyypit ja monimutkaiset tietotyypit. Hiven tukemat tietotyypit ovat seuraavat:
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
joukko<T> : Järjestetty luettelo, joka sisältää useita samantyyppisiä elementtejä, kuten taulukon<int>
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>
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>
- CREATE TABLE example_table (
- tinyint_col tinyint,
- smallint_col smallint,
- int_col int,
- bigint_col bigint,
- float_col float,
- double_col double,
- decimal_col decimal(10, 2),
- string_col string,
- varchar_col varchar(255),
- char_col char(10),
- timestamp_col timestamp,
- date_col date,
- boolean_col boolean,
- binary_col binary,
- array_col array<int>,
- map_col map<string, int>,
- struct_col struct<name: string, age: int>,
- union_col uniontype<int, string>
- );
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:
- create table if not exists stocks_parquet (
- track_time string,
- url string,
- session_id string,
- referer string,
- ip string,
- end_user_id string,
- city_id string
- )
- stored as parquet;
Muokkaa pesän oletustallennusmuotoa:
- <property>
- <name>hive.default.fileformat</name>
- <value>TextFile</value>
- <description>
- Expects one of [textfile, sequencefile, rcfile, orc].
- Default file format for CREATE TABLE statement. Users can explicitly override it by CREATE TABLE ... STORED AS [FORMAT]
- </description>
- </property>
- 也可以使用set方式修改:
- set hive.default.fileformat=TextFile