Optimera Apache Pig med Apache Ambari i Azure HDInsight

Apache Ambari är ett webbgränssnitt för att hantera och övervaka HDInsight-kluster. En introduktion till Ambari-webbgränssnittet finns i Hantera HDInsight-kluster med apache Ambari-webbgränssnittet.

Apache Pig-egenskaper kan ändras från Ambari-webbgränssnittet för att justera Pig-frågor. Om du ändrar Pig-egenskaper från Ambari ändras egenskaperna pig direkt i /etc/pig/2.4.2.0-258.0/pig.properties filen.

  1. Om du vill ändra Pig-egenskaper går du till fliken Pig Configs och expanderar sedan fönstret Avancerade grisegenskaper.

  2. Hitta, ta bort kommentarer och ändra värdet för den egenskap som du vill ändra.

  3. Välj Spara längst upp till höger i fönstret för att spara det nya värdet. Vissa egenskaper kan kräva en omstart av tjänsten.

    Advanced Apache pig properties.

Kommentar

Alla inställningar på sessionsnivå åsidosätter egenskapsvärden pig.properties i filen.

Finjustera körningsmotorn

Två körningsmotorer är tillgängliga för att köra Pig-skript: MapReduce och Tez. Tez är en optimerad motor och är mycket snabbare än MapReduce.

  1. Om du vill ändra körningsmotorn går du till fönstret Avancerade grisegenskaper och letar upp egenskapen exectype.

  2. Standardvärdet är MapReduce. Ändra den till Tez.

Aktivera lokalt läge

I likhet med Hive används lokalt läge för att påskynda jobb med relativt mindre mängder data.

  1. Om du vill aktivera det lokala läget anger du pig.auto.local.enabled till sant. Standardvärdet är "false".

  2. Jobb med en indatastorlek som är mindre än egenskapsvärdet pig.auto.local.input.maxbytes anses vara små jobb. Standardvärdet är 1 GB.

Kopiera jar-cache för användare

Pig kopierar JAR-filerna som krävs av UDF:er till en distribuerad cache för att göra dem tillgängliga för aktivitetsnoder. De här jar-filerna ändras inte ofta. Om inställningen pig.user.cache.enabled är aktiverad kan jars placeras i en cache för att återanvända dem för jobb som körs av samma användare. Den här inställningen resulterar i en mindre ökning av jobbprestanda.

  1. Om du vill aktivera anger du pig.user.cache.enabled sant. Standardvärdet är falskt.

  2. Om du vill ange bassökvägen för de cachelagrade jar-filerna anger du pig.user.cache.location till bassökvägen. Standardvärdet är /tmp.

Optimera prestanda med minnesinställningar

Följande minnesinställningar kan hjälpa dig att optimera Prestanda för Pig-skript.

  • pig.cachedbag.memusage: Mängden minne som ges till en påse. En påse är en samling tupplar. En tuppeln är en ordnad uppsättning fält och ett fält är en datadel. Om data i en påse ligger utanför det angivna minnet spills de till disken. Standardvärdet är 0,2, vilket representerar 20 procent av tillgängligt minne. Det här minnet delas över alla påsar i ett program.

  • pig.spill.size.threshold: Påsar som är större än tröskelvärdet för spillstorlek (i byte) spills till disken. Standardvärdet är 5 MB.

Komprimera temporära filer

Pig genererar temporära filer under jobbkörningen. Om du komprimerar de tillfälliga filerna ökar prestandan när du läser eller skriver filer till disken. Följande inställningar kan användas för att komprimera temporära filer.

  • pig.tmpfilecompression: När det är sant aktiverar du tillfällig filkomprimering. Standardvärdet är "false".

  • pig.tmpfilecompression.codec: Den komprimeringskodc som ska användas för att komprimera de temporära filerna. De rekommenderade komprimeringskoderna är LZO och Snappy för lägre CPU-användning.

Aktivera delnings kombination

När de är aktiverade kombineras små filer för färre kartuppgifter. Den här inställningen förbättrar effektiviteten för jobb med många små filer. Om du vill aktivera anger du pig.noSplitCombination sant. Standardvärdet är "false".

Finjustera mappare

Antalet mappningar styrs genom att ändra egenskapen pig.maxCombinedSplitSize. Den här egenskapen anger storleken på de data som ska bearbetas av en enda mappningsaktivitet. Standardvärdet är filsystemets standardblockstorlek. Om du ökar det här värdet resulterar det i ett lägre antal mappningsaktiviteter.

Finjustera reducers

Antalet reducers beräknas baserat på parametern pig.exec.reducers.bytes.per.reducer. Parametern anger antalet byte som bearbetas per reducer, som standard 1 GB. Om du vill begränsa det maximala antalet reducers anger du pig.exec.reducers.max egenskapen som standard 999.

Nästa steg