Johdatus ulkoiseen taulukkoon pesässä
ulkoinen taulukko on taulukko, joka kuvaa ulkoisten tiedostojen skeemaa tai metatietoja. Pohjimmiltaan on olemassa kahdenlaisia taulukoita HIVE-hallittu tai sisäisiä taulukoita ja ulkoisia taulukoita. Ulkoisen taulukon määrittelyn ensisijainen tarkoitus on käyttää ja suorittaa kyselyjä pesän ulkopuolelle tallennetuista tiedoista. Nämä tiedostot voidaan tallentaa muihin työkaluihin, kuten Pig, Azure storage Volumes (ASV) tai mihin tahansa HDFS-etäpaikkaan. Hive olettaa, että sillä ei ole omistusoikeutta ulkoisten taulukoiden tietoihin, joten sen ei tarvitse hallita tietoja kuten hallituissa tai sisäisissä taulukoissa. Myöskään ulkoisten taulukoiden osalta tietoja ei poisteta taulukon pudottamisen yhteydessä.
ulkoisten taulukoiden tekeminen ja luominen Hivessä
oletuksena Hivessä tauluhakemisto luodaan tietokantahakemiston alle. Poikkeuksena on oletustietokanta. Sijainnilla user/hive / warehouse ei ole hakemistoa, joten oletustietokantataulukoissa sen hakemisto luodaan suoraan tämän sijainnin alle. On suositeltavaa luoda ulkoisia taulukoita, jos emme halua käyttää oletussijaintia.
Aloita ilmainen Data Science-kurssi
Hadoop, Data Science, Statistics&muut
/div>
ulkopuolista taulukkoa käytetään yleensä silloin, kun tieto sijaitsee pesän ulkopuolella.
luodaanpa ulkoinen taulukko käyttämällä hakusanaa ”ulkoinen” alla olevalla komennolla.
CREATE EXTERNAL TABLE if not exists students
(
Roll_id Int,
Class Int,
Name String,
Rank Int)
Row format delimited fields terminated by ‘,’
Location ‘/data/students_details’;
Output:
ulkoinen taulukko voidaan luoda myös kopioimalla olemassa olevan taulukon skeemaa ja tietoja, alla komento:
CREATE EXTERNAL TABLE if not exists students_v2 LIKE students
Location ‘/data/students_details’;
jos jätetään ulkoinen avainsana pois, niin Uusi luotu taulukko on ulkoinen, jos perustaulukko on ulkoinen. Vastaavasti jos perustaulukkoa hallitaan ulkoisella avainsanalla, syntyy uusi taulukko on ulkoinen.
luodun taulukon tyypin tunnistamiseksi voidaan käyttää KUVAUSMUOTOISTA lauseketta. Yksityiskohtaisen taulukon lopussa kuvaus tulostaulun tyyppi on joko ”hallittu taulukko”tai” ulkoinen taulukko”.
Osiotaulut auttavat datan jakamisessa loogisiin osasegmentteihin tai osioihin, mikä tehostaa kyselyn suorituskykyä. Osioitu taulukko voidaan luoda kuten alla.
CREATE EXTERNAL TABLE if not exists students
( roll_id Int,
name String,
Rank Int)
partitioned by (class Int)
Row format delimited fields terminated by ‘\t’
Lähtö:
voi olla tapauksia, joissa ulkoisen taulukon osiota tai rakennetta muutetaan, tämän komennon avulla metatietoa voidaan päivittää:
MSCK REPAIR TABLE external_table_name
1. Osioitu ulkoinen taulukko
kun luodaan osioimatonta ulkoista taulua, vaaditaan SIJAINTILAUSEKE. Mutta osioitu ulkoinen taulukko, sitä ei tarvita. ALTER TABLE-lauseke tarvitaan osioiden lisäämiseen SIJAINTILAUSEKKEEN mukana.
ALTER TABLE students ADD PARTITION (class =10)
Location ‘here://master_server/data/log_messages/2012/01/02’;
pesästä v0.8.0 eteenpäin, useita osioita voidaan lisätä samaan kyselyyn. Myös, sijainti osion voidaan muuttaa alla kysely, siirtämättä tai poistamalla tietoja vanhasta sijainnista.
ALTER TABLE students_v2 partition( class = 10)
Set location ‘s2n://buckets/students_v2/10’;
pudotaksesi osion, alla on kysely:
ALTER TABLE students DROP IF EXISTS PARTITION (class = 12);
Tämä komento poistaa osion tiedot ja metatiedot hallinnoiduista tai sisäisistä taulukoista. Ulkoisten taulukoiden osalta tietoja ei kuitenkaan poisteta.
2. Ulkoisen taulukon operaatiot
operaatiot kuten SELECT, JOINS, ORDER BY, GROUP BY, CLUSTER BY ja muut toteutetaan ulkoisissa taulukoissa. Ulkoiset taulukot voidaan helposti yhdistää muihin taulukoihin monimutkaisten tietojen käsittelemiseksi. Osioinnin, bucketingin ja indeksoinnin käsitteet toteutetaan myös ulkoisissa taulukoissa samalla tavalla kuin hallituissa tai sisäisissä taulukoissa. Kaikki hiven määritysominaisuudet ovat sovellettavissa myös ulkoisiin taulukoihin. Esimerkiksi asettamalla ohita.otsikko.rivi. Count = 1, voimme ohittaa otsikkorivin tiedostosta.
kaikki tiedostomuodot, kuten ORC, AVRO, TEXTFILE, SEQUENCE FILE tai PARQUET, ovat tuettuja hiven sisäisissä ja ulkoisissa taulukoissa. Taulukon luomisessa käytetään sijaintikartoitusta, jonka avulla tiedot lisätään sarakkeeseen, ja tämä järjestys säilyy.
tietotyypit ulkoisissa taulukoissa: ulkoisissa taulukoissa myös kokoelman tietotyypit ovat tuettuja alkeellisten tietotyyppien (kuten kokonaisluku, merkkijono, merkki) ohella. On tarpeen määritellä tiedonkeruun tietotyyppien (kuten array, struct ja map) elementtien rajaajat.
milloin käytetään ulkoisia taulukoita Hivessä?
yleensä Hivessä luodaan sisäisiä taulukoita. Mutta tietyissä skenaarioissa ulkoinen taulukko voi olla hyödyllinen. Nämä ovat:
- kun tiedot sijoitetaan pesän tai HDFS-sijainnin ulkopuolelle, ulkoisen taulukon luominen auttaa, koska muut taulukkoa mahdollisesti käyttävät työkalut eivät aseta lukkoa näihin tiedostoihin.
- ulkoinen taulukko voidaan luoda, kun Tietoja ei ole missään olemassa olevassa taulukossa (eli käyttäen SELECT-lauseketta).
- ulkoinen taulukko on luotava, jos emme halua hiven omistavan dataa tai omaavan muita dataohjauksia.
- ulkoinen taulukko estää myös tietojen tahattoman häviämisen, sillä ulkoisen taulukon pudottaessa perustietoja ei poisteta. Tämä toimii Turvallisuusominaisuutena pesässä. Tämä on syy, miksi TRUNCATE ei toimi myöskään ulkoisissa taulukoissa.
ominaisuudet
Hivessä on tiettyjä ominaisuuksia, jotka ovat käytettävissä vain joko hallituille tai ulkoisille taulukoille. Nämä ovat:
- komennot kuten ARCHIVE/UNARCHIVE/TRUNCATE/CONCATENATE/MERGE toimivat vain sisäisissä taulukoissa.
- happo toimii vain hallituissa tai sisäisissä taulukoissa.
- PUDOTUSLAUSEKE poistaa vain metatiedot ulkoisista taulukoista. Se kuitenkin poistaa taustalla olevat tiedot myös sisäisistä taulukoista.
- kyselyn tulosten välimuistiin tallentaminen on mahdollista vain hallituissa taulukoissa.
- luottorajoitus on sallittu vain ulkoisissa taulukoissa.
- jotkut materialisoitujen näkymien ominaisuudet toimivat vain hallituissa pöydissä.
johtopäätös
tässä opetusohjelmassa näimme, milloin ja miten hivessä käytetään ulkoisia taulukoita. Kohokohtia tämä opetusohjelma on luoda tausta taulukoita kuin hallitaan ja analysoidaan tietoja pesän ulkopuolella.
suositellut artikkelit
Tämä on opas ulkoiseen taulukkoon Hivessä. Tässä keskustelemme ulkoisten taulukoiden käyttöönotosta pesässä ja ominaisuuksista sekä kyselyistä. Voit myös käydä läpi muita aiheeseen liittyviä artikkeleitamme saadaksesi lisätietoja –
- Partitioning in Hive
- Map Join in Hive
- Hive – tietotyypit
- Pesäasennus
- opas Pesäklusteriin