A Hive egy széles körben használt Big Data Analytics eszköz az üzletben, és ez egy fantasztikus hely a kezdéshez, ha még nem ismeri a Big Data-t. Ez az Apache Hive lecke bemutatja az Apache Hive alapjait, miért van szükség egy kaptárra, annak jellemzőire és minden egyébre, amit tudnia kell.
Először ismerjük meg a Hadoop keretrendszert, amelyre az Apache Hive épül.
Apache Hadoop
Az Apache Hadoop egy ingyenes és nyílt forráskódú platform a gigabájttól a petabájtig terjedő nagy adatkészletek tárolására és feldolgozására. A Hadoop lehetővé teszi számos számítógép fürtözését hatalmas adatkészletek párhuzamos elemzéséhez, ahelyett, hogy egyetlen nagy számítógépre lenne szükség az adatok tárolására és elemzésére.
A MapReduce és a Hadoop Distributed File System két összetevőből áll:
- MapReduce – A MapReduce egy párhuzamos programozási technika nagy mennyiségű szervezett, félig strukturált és strukturálatlan adat kezelésére árucikk-hardver-fürtökön.
- HDFS – A HDFS (Hadoop Distributed File System) egy Hadoop keretrendszer-összetevő, amely adatokat tárol és dolgoz fel. Ez egy hibatűrő fájlrendszer, amely szabványos hardveren fut
A Hadoop-ökoszisztéma különböző alprojektjei (eszközei), köztük a Sqoop, a Pig és a Hive, a Hadoop modulok támogatására szolgálnak.
- Kaptár – A Hive egy keretrendszer SQL-stílusú szkriptek írásához, amelyek MapReduce számításokat hajtanak végre.
- Disznó – A Pig egy procedurális programozási nyelv, amely a MapReduce folyamatok szkriptjének létrehozására használható.
- Sqoop – A Sqoop egy eszköz a HDFS és az RDBMS közötti adatok importálására és exportálására.
Mi Apache Hive?
Az Apache Hive nyílt forráskódú adattárház program az Apache Hadoop Distributed File Systemben (HDFS) vagy más adattároló rendszerekben, például az Apache HBase-ben közvetlenül tárolt hatalmas adatkészletek olvasására, írására és kezelésére.
Az SQL-fejlesztők a Hive segítségével olyan Hive Query Language (HQL) utasításokat hozhatnak létre adatlekérdezéshez és -elemzésekhez, amelyek összehasonlíthatók a normál SQL-utasításokkal. Azért hozták létre, hogy megkönnyítse a MapReduce programozást azáltal, hogy nincs szükség hosszú Java kód megtanulására és írására. Ehelyett megírhatja a lekérdezéseket HQL-ben, és a Hive elkészíti a térképet, és csökkenti a funkciókat.
Az Apache Hive SQL-szerű felülete az ad-hoc keresések végrehajtásának, a Hadoop adatok összegzésének és elemzésének aranyszabványává vált. Amikor szerepel a felhőben számítástechnikai hálózatok, ez a megoldás különösen költséghatékony és méretezhető, ezért sok cég, köztük a Netflix és az Amazon, folytatja az Apache Hive fejlesztését és fejlesztését.
Történelem
A Facebooknál töltött idő alatt Joydeep Sen Sarma és Ashish Suchoo közösen létrehozták az Apache Hive-ot. Mindketten felismerték, hogy ahhoz, hogy a legtöbbet hozhassák ki a Hadoopból, meglehetősen bonyolult Java Map-Reduce feladatokat kell létrehozniuk. Felismerték, hogy nem lesznek képesek gyorsan bővülő mérnöki és elemzői csapataikat olyan készségekre oktatni, amelyekre szükségük lesz a Hadoop vállalaton belüli hasznosításához. A mérnökök és elemzők gyakran használták az SQL-t felhasználói felületként.
Míg az SQL kielégíti az elemzési igények többségét, a fejlesztők a Hadoop programozhatóságát is be akarták építeni. Az Apache Hive ebből a két célból fakadt: egy SQL-alapú deklaratív nyelv, amely lehetővé tette a fejlesztők számára, hogy behozzák saját szkripteiket és programjaikat, amikor az SQL nem volt elég.
Arra is kifejlesztették, hogy központosított (Hadoop-alapú) metaadatokat tároljon a vállalat összes adatkészletéről, hogy megkönnyítse az adatvezérelt szervezetek felépítését.
Hogyan működik az Apache Hive?
Dióhéjban az Apache Hive a HiveQL (SQL-szerű) nyelven írt beviteli programot egy vagy több Java MapReduce, Tez vagy Spark feladattá alakítja. (Ezek a végrehajtó motorok mindegyike kompatibilis a Hadoop YARN-nel.) Ezt követően az Apache Hive táblákba rendezi az adatokat a Hadoop Distributed File System HDFS számára), és egy fürtön végrehajtja a feladatokat, hogy választ kapjon.
dátum
Az Apache Hive táblái ugyanúgy vannak elrendezve, mint a relációs adatbázisok táblái, az adategységek mérete a nagyobbtól a kisebbig terjed. Az adatbázisok táblákból állnak, amelyek részekre vannak osztva, amelyek tovább vannak osztva vödrökre. A HiveQL-t (Hive Query Language) használják az adatok eléréséhez, amelyek módosíthatók vagy hozzáfűzhetők. A táblaadatok minden adatbázison belül sorba rendeződnek, és minden táblának saját HDFS-könyvtára van.
Építészet
Most a Hive Architecture legfontosabb aspektusáról fogunk beszélni. Az Apache Hive összetevői a következők:
Metastore — Nyomon követi az egyes táblákkal kapcsolatos információkat, például azok szerkezetét és elhelyezkedését. A partíció metaadatait a Hive szintén tartalmazza. Ez lehetővé teszi az illesztőprogram számára, hogy nyomon kövesse a fürtben szétszórt különböző adatkészletek előrehaladását. Az adatok tárolása hagyományos RDBMS formátumban történik. A hive metaadatai rendkívül fontosak az illesztőprogram számára az adatok nyomon követéséhez. A biztonsági mentési szerver rendszeresen megkettőzi az adatokat, így azok adatvesztés esetén visszaállíthatók.
Vezető – A HiveQL utasításokat egy illesztőprogram fogadja, amely vezérlőként működik. A munkamenetek létrehozásával a vezető kezdeményezi az utasítás végrehajtását. Nyomon követi az ügyvezető élettartamát és előrehaladását. A HiveQL utasítás végrehajtása során az illesztőprogram elmenti a szükséges metaadatokat. A Reduce folyamatot követően adat- vagy lekérdezési eredmények gyűjtőpontként is szolgál.
fordítóprogram – Végrehajtja a HiveQL lekérdezés összeállítását. A lekérdezés most végrehajtási tervvé alakul. A feladatokat a terv tartalmazza. Tartalmazza azokat a lépéseket is, amelyeket a MapReduce-nek meg kell tennie, hogy megkapja a lekérdezés által lefordított eredményt. A lekérdezést a Hive fordítója (AST) absztrakt szintaxisfává alakítja. A kompatibilitás és a fordítási idejű hibák (DAG) ellenőrzése után az AST-t irányított aciklikus gráfmá alakítja.
Optimizer – A végrehajtási terv különböző változtatásaival optimalizálja a DAG-t. A hatékonyság növelése érdekében egyesíti az átalakításokat, például a csatlakozások csővezetékének egyetlen csatlakozássá alakítását. A sebesség növelése érdekében az optimalizáló feloszthatja a tevékenységeket, például transzformációt alkalmazhat az adatokra a redukciós művelet végrehajtása előtt.
végrehajtó – A végrehajtó futtatja a feladatokat, amikor a fordítás és az optimalizálás befejeződött. A munkákat a végrehajtó vezeti be.
CLI, UI és Thrift Server – A parancssori felület (CLI) egy olyan felhasználói felület, amely lehetővé teszi a külső felhasználók számára, hogy kommunikáljanak a Hive-vel. A Hive takarékos szervere a JDBC vagy ODBC protokollokhoz hasonlóan lehetővé teszi a külső ügyfelek számára, hogy hálózaton keresztül kommunikáljanak a Hive-vel.
Biztonság
Az Apache Hive integrálva van a Hadoop biztonsággal, amely Kerberost használ az ügyfél-szerver kölcsönös hitelesítéshez. A HDFS meghatározza az Apache Hive-ban újonnan generált fájlok engedélyeit, lehetővé téve a felhasználó, a csoport és mások jóváhagyását.
Főbb jellemzők
- A Hive támogatja a külső táblákat, amelyek lehetővé teszik az adatok feldolgozását HDFS-ben való tárolás nélkül.
- Lehetővé teszi az adatok táblázatszintű szegmentálását is a sebesség növelése érdekében.
- Az Apache Hive kiválóan megfelel a Hadoop alacsony szintű interfész igényeinek.
- A Hive megkönnyíti az adatok összegzését, lekérdezését és elemzését.
- A HiveQL nem igényel programozási ismereteket; elegendő az SQL lekérdezések egyszerű megértése.
- A Hive-t arra is használhatjuk, hogy ad-hoc lekérdezéseket végezzünk adatelemzés céljából.
- Skálázható, ismerős és alkalmazkodó.
- A HiveQL nem igényel programozási ismereteket; elegendő az SQL lekérdezések egyszerű megértése.
Előnyök
Az Apache Hive lehetővé teszi a nap végi jelentések készítését, a napi tranzakcióértékeléseket, az ad-hoc kereséseket és az adatelemzést. Az Apache Hive által nyújtott átfogó betekintések jelentős versenyelőnyt biztosítanak, és megkönnyítik a piaci igények kielégítését.
Íme néhány előnye annak, ha ilyen információk könnyen elérhetőek:
- Egyszerű használat – SQL-szerű nyelvének köszönhetően az adatok lekérdezése egyszerűen érthető.
- Gyorsított adatbevitel — Mivel az Apache Hive a táblatípus vagy a sémadefiníció ellenőrzése nélkül olvassa be a sémát, az adatokat nem kell az adatbázis belső formátumában olvasni, elemezni és lemezre sorozni. Ezzel szemben egy hagyományos adatbázisban az adatokat minden egyes hozzáadásakor érvényesíteni kell.
- Kiváló méretezhetőség, rugalmasság és költséghatékonyság – Mivel az adatokat a HDFS-ben tárolják, az Apache Hive 100 petabájtnyi adat tárolására képes, így sokkal skálázhatóbb lehetőség, mint egy átlagos adatbázis. Az Apache Hive, mint felhőalapú Hadoop szolgáltatás, lehetővé teszi az ügyfelek számára, hogy gyorsan fel- és leállítsák a virtuális szervereket, hogy megfeleljenek a változó munkaterhelésnek.
- Kiterjedt munkaképesség – A nagy adatkészletek óránként akár 100,000 XNUMX lekérdezést is kezelhetnek.
korlátozások
- Az Apache Hive lekérdezések általában nagyon magas késleltetéssel rendelkeznek.
- Az allekérdezés támogatása korlátozott.
- Valós idejű lekérdezések és sorszintű módosítások nem érhetők el az Apache Hive-ban.
- A materializált nézetek nem támogatottak.
- A kaptárban a frissítési és törlési műveletek nem támogatottak.
- Nem OLTP-hez (online átmeneti folyamat) készült.
Az Apache Hive használatának megkezdése
Az Apache Hive egy erős Hadoop-partner, amely leegyszerűsíti és leegyszerűsíti a munkafolyamatokat. Ahhoz, hogy a legtöbbet hozhassa ki az Apache Hive-ból, elengedhetetlen a zökkenőmentes integráció. Az első lépés az, hogy menjen a .
1. Telepítési kaptár stabil kiadásból
Kezdje azzal, hogy letölti a Hive legújabb stabil kiadását az Apache letöltési tükrök egyikéből (lásd Hive Releases). Ezután a tarballt ki kell csomagolni. Ez létrehoz egy hive-xyz nevű almappát (ahol xyz a kiadás száma):
Állítsa be a HIVE_HOME környezeti változót úgy, hogy a telepítési könyvtárra mutasson:
Végül adjon hozzá $HIVE_HOME/bin a sajátjához PATH
:
2. Futó kaptár
A Hive Hadoop-ot használ, tehát:
- Hadoopnak kell lennie az úton VAGY
3. DLL működés
Kaptár táblázat létrehozása
generál egy pokes nevű táblát két oszloppal, amelyek közül az első egy egész szám, a második pedig egy karakterlánc.
Böngészés a táblázatok között
Az összes táblázat felsorolása
Táblázatok módosítása és eldobása
A táblanevek módosíthatók, és az oszlopok hozzáadhatók vagy cserélhetők:
Érdemes megjegyezni, hogy a REPLACE COLUMNS lecseréli az összes meglévő oszlopot, miközben csak a táblázat szerkezetét módosítja, az adatokat nem. A táblázatban natív SerDe-t kell használni. A REPLACE COLUMNS funkció segítségével oszlopok is eltávolíthatók a táblázat sémájából:
Táblázatok ledobása
Az Apache Hive számos további műveletet és funkciót tartalmaz, amelyekről a hivatalos webhely felkeresésével tájékozódhat.
Következtetés
A Hive Definíció egy adatprogram-interfész hatalmas adatkészletek lekérdezéséhez és elemzéséhez, amelyek az Apache Hadoopra épülnek. A szakemberek ezt választják más programokkal, eszközökkel és szoftverekkel szemben, mivel főként a Hive kiterjedt adatokhoz készült, és egyszerűen használható.
Reméljük, hogy ez az oktatóanyag segít az Apache Hive használatának beindításában, és hatékonyabbá teheti munkafolyamatait. Tudassa velünk a megjegyzésekben.
Hagy egy Válaszol