A kezelt táblák a Hive tulajdonában lévő táblák, ahol a táblák adatainak teljes életciklusát a Hive kezeli és ellenőrzi. A külső táblák olyan táblák, ahol a Hive laza kapcsolattal rendelkezik az adatokkal. A Replikációkezelő sikeresen replikálja a külső táblákat a célfürtbe. A kezelt táblák a replikáció után külső táblákká alakulnak át.

A Hive támogatja a külső táblák adatokkal történő replikációját a célfürtbe, és megtartja a külső táblák összes tulajdonságát. Az adatfájlok jogosultsága és tulajdonjoga megmarad, így az érintett külső folyamatok a failover után is írhatnak bele.

A külső táblákra történő írás a Hive SQL-parancsaival történik, és az adatfájlokat a Hive-on kívüli folyamatok is elérhetik és kezelhetik. Ha egy külső tábla vagy partíció törlődik, csak a táblához vagy partícióhoz kapcsolódó metaadatok törlődnek, de a mögöttes adatfájlok érintetlenül maradnak. A külső tábla tipikus példája a HBase vagy a Druid tulajdonában lévő adatokra vonatkozó analitikai lekérdezések futtatása a Hive segítségével, ahol az adatfájlokat a HBase vagy a Druid írja, és a Hive olvassa be őket az analitikához.

A Hive-replikációs házirend ütemezésének létrehozásakor állítsa be a gyakoriságot úgy, hogy a változások elég gyakran replikálódjanak a túl nagy másolatok elkerülése érdekében.

A Hive-replikáció során a következő felhasználási esetekkel találkozhat:

Replication Manager frissítés felhasználási esete Normál forgatókönyv esetén, ha voltak olyan külső táblái, amelyeket kezelt táblaként replikált, a frissítési folyamat után el kell távolítania ezeket a táblákat a célpontból, és be kell állítania az alapkönyvtárat. A következő példányban külső táblákként replikálódnak. Konfliktusok a külső táblák adatainak helyében több forrásfürt replikációja esetén ugyanabba a célfürtbe A több forrásfürt replikációja esetén ugyanabba a célfürtbe a külső táblák adatainak helyében fellépő konfliktusok kezeléséhez a Replikációkezelő minden egyes forrásfürthöz egyedi báziskönyvtárat rendel, amely alá a külső táblák adatait a megfelelő forrásfürtből másolja. Ha például egy forrásfürtben a külső táblák helye /ext/hbase_data, akkor a célfürtben a replikáció után a hely <base_dir>/ext/hbase_data. A DESCRIBE TABLE paranccsal nyomon követheti a külső táblák új helyét. A HDFS és a Hive külső táblák helye közötti replikációs konfliktusok Amikor a Hive replikációs házirendet egy külső táblára futtatja, az adatokat a célkönyvtárban egy meghatározott helyen tárolja. Ezután, amikor futtatja a HDFS replikációs házirendet, amely megpróbál adatokat másolni ugyanarra a külső tábla helyére, a Replikációkezelő biztosítja, hogy a Hive-adatokat ne írja felül a HDFS. Amikor például egy külső táblán futtat egy Hive-replikációs házirendet, a házirend létrehoz egy /tmp/db1/ext1 célkönyvtárat. Amikor HDFS-replikációs házirendet futtat, a házirend nem írhatja felül az adatokat azzal, hogy a /tmp/db1/ext1 könyvtárra replikál. Konfliktusok a külső táblák replikációs folyamata során Konfliktusok akkor jelennek meg, ha két Hive-replikációs házirend a DB1 és DB2 rendszereken (akár ugyanabból a forrásfürtből, akár különböző forrásfürtökből) olyan külső táblákkal rendelkezik, amelyek ugyanarra az adattárolóra (például /abc) mutatnak, és ugyanarra a célfürtre replikálódnak. Az ilyen konfliktusok elkerülése érdekében mindkét házirend esetében különböző elérési utakat kell beállítania a külső táblák báziskönyvtárának konfigurációjához. Például a DB1 esetében állítsa be a /db1-et, a DB2 esetében pedig a /db2-t. Ez biztosítja, hogy a külső céltábla adatainak helye mindkét adatbázis esetében eltérő legyen. Például /db1/abcd és /db2/abcd.

Articles

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.