Hive teljesítményének vizsgálata és optimalizálása

OData támogatás
Konzulens:
Dr. Dudás Ákos
Automatizálási és Alkalmazott Informatikai Tanszék

Apache Hive eredetileg a Facebook által készített nyílt forráskódú adattárház platform. Célja, hogy megkönnyítse az adatelemzők munkáját azzal, hogy bevezetett egy, az SQL-hez hasonló nyelvet, a HiveQL-t. Hive bemenete egy HiveQL lekérdezés, amit feldolgoz, szemantikailag elemzi, majd amennyiben lehetséges, optimalizálja különböző optimalizációs stratégiákat felhasználva. Végezetül generál egy Hadoop feladatot, amit az végre tud hajtani. Hive nem csak MapReduce-t tud használni végrehajtó motortként, támogatja az Apache Spark és Apache Tez használatát is.

Bizonyos körülmények között Hive memória problémákkal küzd. HiveServer2 az egyik fő komponense, gyakran összeomlik Out Of Memory (OOM) hibaüzenettel. Jelen dolgozattal a célom, hogy felépítsek egy alapvető modellt, mely segítségével megtudjuk a lekérdezés életciklusában mikor és miért növekszik jelentősen a memóriahasználat, valamint memória problémákat találjak és amennyiben lehetséges, ezekre megoldási javaslatot adjak.

A model építéshez segítségül létrehoztam egy eszközt, melynek használatával információkat tudok kinyerni a memóriahasználattal kapcsolatban, és heap mintákat (heap dump) tudok generálni automatikusan a lekérdezés életciklusa során, későbbi elemzés céljából. A memória elemző eszközök segítségével azonosítottam két problémát, amik a heap memória használatot jelentősen tudják növelni. Az egyik probléma HDFS-ből származik (Hadoop elosztott fájlrendszere), ezért Hadoop kód megértése és módosítása is szükségessé vált. Mindkét memória problémára létrehoztam egy megoldási javaslatot, és csináltam egy lehetséges implementációt, ami segíthet megszabadulni a memória problémától. Mindkét javítás alapos tesztelést igényelt: lokális, egyszerű teljesítménytesztekre és skálázható adatközpont klaszteren végrehajtott benchmark tesztekre is szükség volt. Az azonosított problémák vizsgálata jelenleg is folyamatban van. A HDFS javításom előidézhet nehezen detektálható, váratlan CPU problémákat, ezért annak eldöntésére, hogy a kompromisszum előnyös lesz, nagyon alapos tesztelés szükséges.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.