Optimalizace Apache Pigu pomocí Apache Ambari ve službě Azure HDInsight
Apache Ambari je webové rozhraní pro správu a monitorování clusterů HDInsight. Úvod do webového uživatelského rozhraní Ambari najdete v tématu Správa clusterů HDInsight pomocí webového uživatelského rozhraní Apache Ambari.
Vlastnosti Apache Pigu je možné upravit z webového uživatelského rozhraní Ambari a ladit dotazy Pig. Úprava vlastností Pig z Ambari přímo upraví vlastnosti Pig v /etc/pig/2.4.2.0-258.0/pig.properties
souboru.
Chcete-li upravit vlastnosti Pigu, přejděte na kartu Konfigurace pig a potom rozbalte podokno Upřesnit vlastnosti pig-properties.
Najděte, odkomentujte a změňte hodnotu vlastnosti, kterou chcete upravit.
Novou hodnotu uložíte výběrem možnosti Uložit v pravém horním rohu okna. Některé vlastnosti mohou vyžadovat restartování služby.
Poznámka:
Všechna nastavení na úrovni relace přepíší hodnoty vlastností v pig.properties
souboru.
Ladění prováděcího modulu
K dispozici jsou dva prováděcí moduly pro spouštění skriptů Pig: MapReduce a Tez. Tez je optimalizovaný modul a je mnohem rychlejší než MapReduce.
Chcete-li upravit prováděcí modul, v podokně Upřesnit vlastnosti pig-properties vyhledejte vlastnost
exectype
.Výchozí hodnota je MapReduce. Změňte ho na Tez.
Povolení místního režimu
Podobně jako Hive se místní režim používá k urychlení úloh s relativně menšími objemy dat.
Pokud chcete povolit místní režim, nastavte
pig.auto.local.enabled
hodnotu true. Výchozí hodnota je false.Úlohy s velikostí vstupních dat menší než
pig.auto.local.input.maxbytes
hodnota vlastnosti se považují za malé úlohy. Výchozí hodnota je 1 GB.
Kopírování mezipaměti JAR uživatele
Pig zkopíruje soubory JAR vyžadované funkcemi definovanými uživatelem do distribuované mezipaměti, aby je bylo možné zpřístupnit pro uzly úloh. Tyto jary se často nemění. Pokud je tato možnost povolená, umožňuje, pig.user.cache.enabled
aby se soubory JAR umístily do mezipaměti, aby je znovu používaly pro úlohy spuštěné stejným uživatelem. Výsledkem tohoto nastavení je menší zvýšení výkonu úlohy.
Pokud chcete povolit, nastavte
pig.user.cache.enabled
hodnotu true. Výchozí hodnotou je hodnota false.Pokud chcete nastavit základní cestu souborů JAR uložených v mezipaměti, nastavte
pig.user.cache.location
na základní cestu. Výchozí hodnota je/tmp
.
Optimalizace výkonu pomocí nastavení paměti
Následující nastavení paměti vám může pomoct optimalizovat výkon skriptu Pig.
pig.cachedbag.memusage
: Množství paměti přidělené sáčku. Taška je kolekce řazených kolekcí členů. Řazená kolekce členů je uspořádaná sada polí a pole je část dat. Pokud jsou data v sáčku nad danou pamětí, přesahují se na disk. Výchozí hodnota je 0,2, což představuje 20 procent dostupné paměti. Tato paměť se sdílí napříč všemi taškami v aplikaci.pig.spill.size.threshold
: Tašky větší než tato prahová hodnota velikosti přelití (v bajtech) se přelijí na disk. Výchozí hodnota je 5 MB.
Komprese dočasných souborů
Pig během provádění úlohy generuje dočasné soubory. Komprese dočasných souborů vede ke zvýšení výkonu při čtení nebo zápisu souborů na disk. K komprimaci dočasných souborů je možné použít následující nastavení.
pig.tmpfilecompression
: Pokud je true, povolí dočasnou kompresi souborů. Výchozí hodnota je false.pig.tmpfilecompression.codec
: Komprimační kodek, který se má použít ke komprimaci dočasných souborů. Doporučené kodeky komprese jsou LZO a Snappy pro nižší využití procesoru.
Povolení kombinování rozdělení
Pokud je tato možnost povolená, zkombinují se malé soubory pro méně úkolů mapování. Toto nastavení zlepšuje efektivitu úloh s mnoha malými soubory. Pokud chcete povolit, nastavte pig.noSplitCombination
hodnotu true. Výchozí hodnota je false.
Ladění mapovačů
Počet mapovačů je řízen úpravou vlastnosti pig.maxCombinedSplitSize
. Tato vlastnost určuje velikost dat, která se mají zpracovat jedním úkolem mapování. Výchozí hodnota je výchozí velikost bloku systému souborů. Zvýšení této hodnoty vede k nižšímu počtu úkolů mapperu.
Ladění reduktorů
Počet reduktorů se vypočítá na základě parametru pig.exec.reducers.bytes.per.reducer
. Parametr určuje počet bajtů zpracovaných na redukci ve výchozím nastavení 1 GB. Chcete-li omezit maximální počet reduktorů, nastavte pig.exec.reducers.max
vlastnost ve výchozím nastavení 999.