en ekstern Tabell Er En Tabell Som Beskriver Skjemaet eller Metadataene for eksterne filer. I utgangspunktet er det to typer tabeller I HIVE-Administrerte eller Interne tabeller og eksterne tabeller. Hovedformålet med å definere en ekstern tabell er å få tilgang til og utføre spørringer på data lagret utenfor Strukturen. Disse datafilene kan lagres i andre verktøy som Pig, Azure storage Volume (ASV) eller en ekstern HDFS-plassering. Hive antar at det ikke har eierskap til dataene for eksterne tabeller, og det krever derfor ikke å behandle dataene som i administrerte eller interne tabeller. Også for eksterne tabeller slettes ikke data når du slipper tabellen.
Arbeide Og Opprette Eksterne tabeller i Hive
som standard opprettes I Hive table directory under databasekatalogen. Unntaket er standarddatabasen. Plasseringen bruker / hive / warehouse har ikke en katalog slik at standard databasetabeller vil ha sin katalog direkte opprettet under denne plasseringen. Det anbefales å opprette eksterne tabeller hvis vi ikke vil bruke standardplasseringen.
Start Ditt Gratis Datavitenskapskurs
Hadoop, Datavitenskap, Statistikk&andre
en ekstern tabell brukes vanligvis når data er plassert utenfor strukturen.
La oss lage en ekstern tabell ved hjelp av søkeordet «EKSTERN» med kommandoen nedenfor.
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:
et eksternt bord kan også opprettes ved å kopiere skjemaet og dataene til et eksisterende bord, med kommandoen nedenfor:
CREATE EXTERNAL TABLE if not exists students_v2 LIKE students
Location ‘/data/students_details’;
hvis vi utelater det eksterne søkeordet, vil den nye tabellen som er opprettet, være ekstern hvis grunntabellen er ekstern. På samme måte, hvis basistabellen administreres med det eksterne nøkkelordet, blir den nye tabellen opprettet ekstern.
FOR å identifisere typen tabell som er opprettet, KAN BESKRIV FORMATERT klausul brukes. På slutten av den detaljerte tabellen beskrivelse output table type vil enten være «Managed table» eller «External table».
Partisjonerte tabeller hjelper til med å dele dataene i logiske undersegmenter eller partisjoner, noe som gjør spørringsytelsen mer effektiv. En partisjonert tabell kan opprettes som vist nedenfor.
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’
Utgang:
Det Kan Være Tilfeller Når Partisjon Eller Struktur Av En Ekstern Tabell Er Endret, så Ved Hjelp Av Denne Kommandoen Metadata Informasjon Kan Oppdateres:
MSCK REPAIR TABLE external_table_name
1. Partisjonert ekstern tabell
NÅR du oppretter en ikke-partisjonert ekstern tabell, ER PLASSERINGEN klausulen nødvendig. Men for et partisjonert eksternt bord er det ikke nødvendig. ALTER TABLE setningen er nødvendig for å legge partisjoner sammen MED PLASSERINGEN klausulen.
ALTER TABLE students ADD PARTITION (class =10)
Location ‘here://master_server/data/log_messages/2012/01/02’;
Fra Hive v0.8.0 utover kan flere partisjoner legges til i samme spørring. Plasseringen for en partisjon kan også endres ved å spørre under, uten å flytte eller slette dataene fra den gamle plasseringen.
ALTER TABLE students_v2 partition( class = 10)
Set location ‘s2n://buckets/students_v2/10’;
for å slippe en partisjon, brukes spørringen nedenfor:
ALTER TABLE students DROP IF EXISTS PARTITION (class = 12);
denne kommandoen sletter data og metadata for partisjonen for administrerte eller interne tabeller. For eksterne tabeller slettes imidlertid ikke data.
2. Operasjoner på den eksterne tabellen
operasjonene SOM SELECT, JOINS, ORDER BY, GROUP BY, CLUSTER BY og andre implementeres på eksterne tabeller. Eksterne tabeller kan enkelt slås sammen med andre tabeller for å utføre komplekse data manipulasjoner. Konsepter For Partisjonering, bucketing og indeksering implementeres også på eksterne tabeller på samme måte som for administrerte eller interne tabeller. Alle konfigurasjonsegenskapene i Hive gjelder også for eksterne tabeller. For eksempel ved å sette skip.topptekst.linje. Count = 1, vi kan hoppe over overskriftsraden fra datafilen.
Alle Filformater som ORC, AVRO, TEXTFILE, SEQUENCE FILE, ELLER PARKETT støttes For Hive interne og eksterne tabeller. Når du oppretter en tabell, brukes posisjonstilordning til å sette inn data i kolonnen, og den rekkefølgen opprettholdes.
Datatyper i eksterne tabeller: i eksterne tabeller støttes også datatypene for innsamling sammen med primitive datatyper (som heltall, streng, tegn). Det er nødvendig å spesifisere avgrenserne av elementene i innsamlingsdatatyper (som en matrise, struktur og kart).
Når skal Du bruke Eksterne Tabeller i Hive?
vanligvis opprettes interne tabeller i Hive. Men for visse scenarier kan et eksternt bord være nyttig. Dette er:
- når data er plassert utenfor Strukturen eller HDFS plassering, opprette en ekstern tabell hjelper som de andre verktøyene som kan bruke tabellen, plasserer ingen lås på disse filene.
- en ekstern tabell kan opprettes når data ikke finnes i en eksisterende tabell (dvs.VED HJELP AV SELECT-setningsdelen).den eksterne tabellen må opprettes hvis Vi ikke vil At Hive skal eie dataene eller ha andre datakontroller.den eksterne tabellen forhindrer også utilsiktet tap av data, som ved å slippe et eksternt bord, blir basisdataene ikke slettet. Dette fungerer som en sikkerhetsfunksjon i Bikuben. DETTE er grunnen TIL AT TRUNCATE heller ikke vil fungere for eksterne tabeller.
Funksjoner
Det er visse funksjoner I Hive som bare er tilgjengelige for enten administrerte eller eksterne tabeller. Disse Er:
- Kommandoer SOM ARKIV / UNARCHIVE/TRUNCATE/CONCATENATE / MERGE fungerer bare for interne tabeller.
- SYREN fungerer bare for administrerte eller interne tabeller.
- DROP klausul vil slette bare metadata for eksterne tabeller. Det sletter imidlertid underliggende data også for interne tabeller.
- bufring Av Spørringsresultater er bare mulig for administrerte tabeller.
- STOLE begrensning er tillatt på eksterne tabeller bare.
- Enkelte funksjoner i materialiserte visninger fungerer bare for administrerte tabeller.
Konklusjon
i denne opplæringen så vi når og hvordan du bruker eksterne tabeller i Hive. Høydepunktene i denne opplæringen er å skape en bakgrunn på bordene annet enn å administrere og analysere data utenfor Bikupen.
Anbefalte Artikler
Dette er en veiledning Til Eksternt Bord i Hive. Her diskuterer vi innføring Av Eksterne Tabeller i Strukturen Og Funksjonene og Spørringene. Du kan også gå gjennom våre andre relaterte artikler for å lære mer –
- Partisjonering i Hive
- Kart Bli Med I Hive
- Hive Datatyper
- Hive Installasjon
- Guide Til Hive Klynge Av