Mikor használjunk vektorizálást kaptárban?

Pontszám: 4,3/5 ( 33 szavazat )

Lekérdezés vektorizálása. A vektorizálás lehetővé teszi a Hive számára, hogy a sorok egyenkénti feldolgozása helyett egy kötegsort dolgozzon fel együtt . Minden köteg általában primitív típusok tömbje. A műveleteket a teljes oszlopvektoron hajtják végre, ami javítja az utasításfolyamatokat és a gyorsítótár használatát.

Mi az a szikravektorizálás?

A vektorizált lekérdezés-végrehajtás egy olyan szolgáltatás, amely nagymértékben csökkenti a CPU-használatot az olyan tipikus lekérdezési műveleteknél , mint a szkennelés, szűrők, összesítések és csatlakozások. A vektorizálás az ORC formátumhoz is megvalósul. A Spark a Spark 2.0 óta használja a Whole Stage Codegen-t és ezt a vektorizálást (Parquethez).

Hogyan optimalizálja a Hive-táblát?

Hive Performance – 10 bevált módszer az Apache Hive számára
  1. Táblázatok particionálása: A hive particionálás hatékony módszer a nagyobb táblák lekérdezési teljesítményének javítására. ...
  2. Denormalizálási adatok: ...
  3. Leképezés tömörítése/kimenet csökkentése:...
  4. Csatlakozás a térképhez:...
  5. Bemeneti formátum kiválasztása:...
  6. Párhuzamos végrehajtás:...
  7. Vektorizálás: ...
  8. Egységteszt:

Mi az indexelés a Hive-ban?

Bevezetés a Hive indexeibe. Az indexek egy táblában lévő rekordra mutató mutató vagy hivatkozás, mint a relációs adatbázisokban. Az indexelés egy viszonylag új funkció a Hive-ben. A Hive-ban az indextábla eltér a főtáblától. Az indexek megkönnyítik a lekérdezés végrehajtását vagy a keresési műveletek gyorsabbá tételét.

Mi az a költségalapú optimalizálás a Hive-ben?

A Hive Cost-Based Optimizer (CBO) a Hive lekérdezésfeldolgozó motorjának alapvető összetevője . Az Apache Calcite által működtetett CBO optimalizálja és kiszámítja a különböző tervek költségeit egy lekérdezéshez. ... A Calcite hatékony tervmetszővel rendelkezik, amely a legolcsóbb lekérdezési tervet tudja kiválasztani.

Kaptár vektorizálás | Hadoop interjú kérdése

24 kapcsolódó kérdés található

Mikor használjam a rendezést a sorrend helyett a Kaptárban?

A Hive támogatja a SORT BY funkciót, amely szűkítőnként rendezi az adatokat . A különbség a "rendezés szerint" és a "rendezés szerint" között az, hogy az előbbi teljes sorrendet garantál a kimenetben, míg az utóbbi csak a sorok sorrendjét egy szűkítőn belül. Ha egynél több szűkítő van, a "rendezés szerint" részben rendezett végeredményt adhat.

Mi a különbség a Hive és a HBase között?

A Hive és a HBase két különböző Hadoop alapú technológia . A Hive egy SQL-szerű motor, amely MapReduce-feladatokat futtat, a HBase pedig egy NoSQL-kulcs/érték-adatbázis a Hadoop-on. De ahogy a Google is használható keresésre, a Facebook pedig közösségi hálózatokra, a Hive használható analitikus lekérdezésekre, míg a HBase valós idejű lekérdezésre.

Létrehozhatunk indexet a Hive-on?

Az Apache Hive index létrehozása azonban azt jelenti, hogy egy mutatót kell létrehozni a táblázat egy adott oszlopán. Tehát indexelés létrehozása a kaptárban. INDEX index_neve LÉTREHOZÁSA A TÁBLÁBAN: alaptábla_neve (oszlopnév, ...) ... AZ 'index.kezelő.osztály.neve' [HASZNÁLT ÚJRAÉPÍTÉSSEL] [IDXPROPERTIES (tulajdonság_neve=tulajdon_értéke, ...)]

Létrehozhatunk indexet a Hive külső tábláján?

Mindkét táblán elvégezheti az indexelést . A belső vagy a külső táblázat nem tesz különbséget a teljesítmény szempontjából. Mindkettőre építhet indexeket.

Támogatja a Hive az elsődleges kulcsot?

A Hive jelenleg lehetővé teszi a felhasználók számára a következő megszorítások deklarálását: PRIMARY KEY . IDEGEN KULCS .

Mire használható a Hive a legjobban?

A Hive lehetővé teszi a felhasználók számára, hogy SQL használatával petabájtnyi adatokat olvassanak, írjanak és kezeljenek . A Hive az Apache Hadoopra épül, amely egy nyílt forráskódú keretrendszer, amelyet nagy adatkészletek hatékony tárolására és feldolgozására használnak. Ennek eredményeként a Hive szorosan integrálva van a Hadooppal, és úgy tervezték, hogy gyorsan dolgozzon petabájtnyi adattal.

Hogyan optimalizálhatja a csatlakozást a Hive-ben?

Fizikai optimalizálás:
  1. Partíció metszés.
  2. A metszés ellenőrzése válaszfalak és kanálok alapján.
  3. Vizsgálja meg a metszést, ha a lekérdezés mintavételen alapul.
  4. Bizonyos esetekben alkalmazza a Csoportosítást a térkép oldalán.
  5. Optimalizálja az Uniót úgy, hogy az egyesítést csak a térképoldalon lehessen végrehajtani.
  6. A felhasználói tippek alapján döntse el, hogy melyik táblát kívánja utoljára streamelni, többutas összekapcsolás esetén.

Mi a stream táblázat szerepe a Hive-ban?

A Hive-ben a lekérdezést a STREAMTABLE tipp használatával optimalizálhatjuk . SELECT lekérdezésben tudjuk megadni a JOIN segítségével. A JOIN leképezés/kicsinyítés szakaszában a táblázat adatai streamelhetők ezzel a tippel.

Hogyan használod a vektorizálást a szikrában?

Engedélyezze a vektorizált lekérdezés végrehajtását
  1. sql. ork. enabled=true – Engedélyezi az új ORC formátum számára a Spark adatforrástáblázatok és -fájlok olvasását/írását.
  2. sql. kaptár. convertMetastoreOrc=true – Engedélyezi az új ORC formátumot Hive-táblázatok olvasásához/írásához.
  3. sql. ork. char.

Mi a szikra vektorának két fő típusa?

Egy lokális vektor egész típusú és 0 alapú indexekkel és kettős típusú értékekkel rendelkezik, egyetlen gépen tárolva. A Spark kétféle helyi vektort támogat: sűrű és ritka . A sűrű vektor mögött egy kettős tömb áll, amely a belépési értékeit képviseli, míg a ritka vektort két párhuzamos tömb: indexek és értékek.

Mi az a lekérdezés vektorizálás?

A vektorizált lekérdezés-végrehajtás egy Hive-szolgáltatás, amely nagymértékben csökkenti a CPU-használatot az olyan tipikus lekérdezési műveleteknél, mint a vizsgálatok , szűrők, összesítések és csatlakozások. Egy szabványos lekérdezés-végrehajtási rendszer egyszerre egy sort dolgoz fel. ... A vektorizált lekérdezés-végrehajtás leegyszerűsíti a műveleteket egy 1024 soros blokk egyszerre történő feldolgozásával.

Létrehozhatunk indexet külső táblákon?

A külső táblázatokról. ... Kijelölheti, egyesítheti vagy rendezheti például a külső táblázat adatait. Nézeteket és szinonimákat is létrehozhat külső táblázatokhoz. A DML-műveletek (UPDATE, INSERT vagy DELETE) azonban nem lehetségesek, és nem hozhatók létre indexek külső táblákon .

Milyen típusú költségek társulnak az index létrehozásához a Hive-táblákon?

43. kérdés: Milyen típusú költségek társulnak a kaptártáblákon való index létrehozásához? Válasz: Az indexek helyet foglalnak el, és feldolgozási költséggel jár az indexet tartalmazó oszlop értékeinek elrendezése.

Hogyan egyesíthetek két táblázatot a Hive-ban?

Csatlakozások végrehajtása az Apache Hive-ben
  1. BELSŐ CSATLAKOZÁS – Válassza ki azokat a rekordokat, amelyek mindkét táblában megegyező értékekkel rendelkeznek.
  2. LEFT JOIN (LEFT OUTER JOIN) – Visszaadja a bal oldali tábla összes értékét, plusz a jobb oldali tábla illesztett értékeit, vagy NULL-t, ha nincs egyező összekapcsolási predikátum.

Mi a hátránya, ha túl sok partíciót használunk a kaptártáblákban?

Korlátozások: A nagyszámú partíció sok fájlt/könyvtárat hoz létre a HDFS-ben, ami többletterhelést jelent a NameNode számára a metaadatok karbantartása során . Optimalizálhat bizonyos lekérdezéseket a hol záradék alapján, de lassú választ okozhat a csoportosítási záradékon alapuló lekérdezéseknél.

Mik azok a nézetek, amelyek nincsenek a kaptárban?

A nézet lehetővé teszi a lekérdezések mentését és táblázatként való kezelését. Ez egy logikai konstrukció, mivel nem tárol adatokat, mint egy táblázat. Más szavakkal, a Hive jelenleg nem támogatja a materializált nézeteket .

Mikor használjam a Hive-t?

A Hive-t egy bizonyos időszak alatt gyűjtött adatok analitikus lekérdezésére kell használni – például trendek vagy webhelynaplók kiszámításához. A Hive-t nem szabad valós idejű lekérdezésre használni, mivel eltarthat egy ideig, amíg az eredményeket visszaküldik. Nagy mennyiségű adat van.

A HBase OLAP vagy OLTP?

Az Apache Hive-et főként kötegelt feldolgozásra, azaz OLAP -ra használják, de a HBase-t széles körben használják tranzakciós feldolgozásra, ahol a lekérdezés válaszideje nem túl interaktív, azaz OLTP. A Hive-tól eltérően a HBase műveletei valós időben futnak az adatbázison, ahelyett, hogy leképezési feladatokká alakulnának át.