Tabelele gestionate sunt tabelele deținute de Hive în care întregul ciclu de viață al datelor din tabele este gestionat și controlat de Hive. Tabelele externe sunt tabele în care Hive are o cuplare liberă cu datele. Managerul de replicare replică cu succes tabelele externe către un cluster țintă. Tabelele gestionate sunt convertite în tabele externe după replicare.

Hive suportă replicarea tabelelor externe cu date către clusterul țintă și păstrează toate proprietățile tabelelor externe. Permisiunile și proprietatea fișierelor de date sunt păstrate, astfel încât procesele externe relevante să poată continua să scrie în ele chiar și după failover.

Scrierile în tabelele externe sunt efectuate cu ajutorul comenzilor SQL Hive, iar fișierele de date pot fi, de asemenea, accesate și gestionate de procese din afara Hive. Dacă o tabelă sau o partiție externă este abandonată, doar metadatele asociate cu tabela sau partiția sunt șterse, dar fișierele de date subiacente rămân intacte. Un exemplu tipic pentru o tabelă externă este rularea de interogări analitice pe datele deținute de HBase sau Druid folosind Hive, unde fișierele de date sunt scrise de HBase sau Druid, iar Hive le citește pentru analiză.

Când creați o planificare pentru o politică de replicare Hive, setați frecvența astfel încât modificările să fie replicate suficient de des pentru a evita copiile prea mari.

Ați putea întâlni următoarele cazuri de utilizare în timpul replicării Hive:

Caz de utilizare a actualizării Replication Manager Într-un scenariu normal, dacă ați avut tabele externe care au fost replicate ca tabele gestionate, după procesul de actualizare, trebuie să renunțați la acele tabele din țintă și să setați directorul de bază. În următoarea instanță, acestea sunt replicate ca tabele externe. Conflicte în locația datelor tabelelor externe pentru replicarea mai multor clustere sursă în același cluster țintă Pentru a gestiona conflictele în locația datelor tabelelor externe pentru replicarea mai multor clustere sursă în același cluster țintă, Replication Manager atribuie un director de bază unic pentru fiecare cluster sursă, sub care se copiază datele tabelelor externe din clusterul sursă corespunzător. De exemplu, dacă locația tabelelor externe dintr-un cluster sursă este /ext/hbase_data, atunci locația din clusterul țintă după replicare este <base_dir>/ext/hbase_data. Puteți utiliza comanda DESCRIBE TABLE pentru a urmări noua locație a tabelelor externe. Conflicte de replicare între HDFS și locația tabelelor externe Hive Atunci când executați politica de replicare Hive pe un tabel extern, datele sunt stocate în directorul țintă la o anumită locație. Apoi, atunci când rulați politica de replicare HDFS care încearcă să copieze datele la aceeași locație a tabelei externe, Replication Manager se asigură că datele Hive nu sunt înlocuite de HDFS. De exemplu, atunci când executați o politică de replicare Hive pe o tabelă externă, politica creează un director țintă /tmp/db1/ext1. Atunci când executați o politică de replicare HDFS, politica nu trebuie să suprascrie datele prin replicarea pe directorul /tmp/db1/ext1. Conflicte în timpul procesului de replicare a tabelelor externe Apar conflicte atunci când două politici de replicare Hive pe DB1 și DB2 (fie din același cluster sursă, fie din clustere sursă diferite) au tabele externe care indică aceeași locație de date (de exemplu, /abc) și sunt replicate pe același cluster țintă. Pentru a evita astfel de conflicte, trebuie să setați căi diferite pentru configurația directorului de bază al tabelelor externe pentru ambele politici. De exemplu, setați /db1 pentru DB1 și /db2 pentru DB2. Acest lucru asigură faptul că locația de date a tabelelor externe țintă este diferită pentru ambele baze de date. De exemplu, /db1/abcd și /db2/abcd.

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată.