Apache Pig
Unit Size

Intro
  • Unit size measurements show the distribution of size of units of code (methods, functions...).
  • Units are classified in four categories based on their size (lines of code): 1-20 (small units), 20-50 (medium size units), 51-100 (long units), 101+ (very long units).
  • You should aim at keeping units small (< 20 lines). Long units may become "bloaters", code that have increased to such gargantuan proportions that they are hard to work with.
Learn more...
Unit Size Overall
  • There are 11,738 units with 118,869 lines of code in units (75.9% of code).
    • 64 very long units (10,295 lines of code)
    • 246 long units (16,693 lines of code)
    • 1,049 medium size units (32,286 lines of code)
    • 1,541 small units (22,400 lines of code)
    • 8,838 very small units (37,195 lines of code)
8% | 14% | 27% | 18% | 31%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Extension
java8% | 14% | 27% | 18% | 31%
Legend:
101+
51-100
21-50
11-20
1-10
Unit Size per Logical Component
primary logical decomposition
src/org/apache/pig/backend12% | 16% | 26% | 16% | 28%
src/org/apache/pig/newplan6% | 15% | 28% | 18% | 30%
lib-src/bzip2/org/apache/tools47% | 15% | 13% | 15% | 8%
src/org/apache/pig/data8% | 14% | 24% | 16% | 35%
src/org/apache/pig/impl4% | 13% | 25% | 20% | 36%
contrib/piggybank/java/src/main5% | 12% | 33% | 21% | 27%
src/org/apache/pig11% | 6% | 23% | 18% | 39%
src/org/apache/pig/pen11% | 22% | 26% | 16% | 21%
src/org/apache/pig/scripting5% | 11% | 25% | 19% | 37%
src/org/apache/pig/parser3% | 12% | 34% | 22% | 27%
src/org/apache/pig/tools0% | 15% | 25% | 21% | 37%
src/org/apache/pig/builtin0% | 6% | 32% | 25% | 35%
tutorial/src/org/apache/pig0% | 25% | 24% | 27% | 21%
lib-src/bzip2/org/apache/pig0% | 0% | 31% | 29% | 39%
shims/src/hive3/org/apache0% | 0% | 22% | 15% | 62%
src/org/apache/pig/validator0% | 0% | 0% | 29% | 70%
shims/src/hive1/org/apache0% | 0% | 0% | 25% | 75%
shims/src/hadoop2/org/apache0% | 0% | 0% | 32% | 67%
src/org/apache/pig/classification0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
11-20
1-10
backend logical decomposition
src/org/apache/pig/backend/hadoop12% | 16% | 26% | 16% | 28%
shims/src/hadoop2/org/apache/pig0% | 0% | 0% | 32% | 67%
src/org/apache/pig/backend/executionengine0% | 0% | 0% | 0% | 100%
src/org/apache/pig/backend0% | 0% | 0% | 0% | 100%
src/org/apache/pig/backend/datastorage0% | 0% | 0% | 0% | 100%
Legend:
101+
51-100
21-50
11-20
1-10
Alternative Visuals
Longest Units
Top 50 longest units
Unit# linesMcCabe index# params
private Object convertWithSchema()
in src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POCast.java
495 138 2
private Job getJob()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/JobControlCompiler.java
427 105 4
static int run()
in src/org/apache/pig/Main.java
405 75 2
private Vertex newVertex()
in src/org/apache/pig/backend/hadoop/executionengine/tez/TezDagBuilder.java
317 68 1
static
in contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java
307 1 0
public PigStats launchPig()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MapReduceLauncher.java
290 56 3
private void sendMTFValues()
in lib-src/bzip2/org/apache/tools/bzip2r/CBZip2OutputStream.java
254 66 0
private int compareBinInterSedesDatum()
in src/org/apache/pig/data/BinInterSedes.java
253 95 3
public void visit()
in src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java
244 48 1
public void visitMROp()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/SecondaryKeyOptimizer.java
207 50 1
public SecondaryKeyOptimizerInfo applySecondaryKeySort()
in src/org/apache/pig/backend/hadoop/executionengine/util/SecondaryKeyOptimizerUtil.java
206 50 2
public void visitSkewedJoin()
in src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java
204 22 1
public void registerFunctions()
in src/org/apache/pig/scripting/groovy/GroovyScriptEngine.java
192 82 3
public Result getNextTuple()
in src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POMergeJoin.java
192 45 0
public void visitTezOp()
in src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/MultiQueryOptimizerTez.java
187 54 1
private Pair getSamplingJob()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
187 17 10
private void getAndMoveToFrontDecode()
in lib-src/bzip2/org/apache/tools/bzip2r/CBZip2InputStream.java
173 30 0
public void visitMergeJoin()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
165 25 1
public void visit()
in src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java
164 10 1
public void visitTezOp()
in src/org/apache/pig/backend/hadoop/executionengine/tez/plan/optimizer/UnionOptimizer.java
161 42 1
private int compareDefaultTuple()
in src/org/apache/pig/data/DefaultTuple.java
159 49 3
public void visitMergeJoin()
in src/org/apache/pig/backend/hadoop/executionengine/tez/plan/TezCompiler.java
157 24 1
public PigStats launchPig()
in src/org/apache/pig/backend/hadoop/executionengine/tez/TezLauncher.java
156 24 3
public void launchPig()
in src/org/apache/pig/pen/LocalMapReduceSimulator.java
153 36 6
void GenerateMatchingTupleHelper()
in src/org/apache/pig/pen/AugmentBaseDataVisitor.java
151 48 3
protected Result processPlan()
in src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/relationalOperators/POForEach.java
136 54 0
protected static void hbMakeCodeLengths()
in lib-src/bzip2/org/apache/tools/bzip2r/CBZip2OutputStream.java
131 26 4
private void mainSort()
in lib-src/bzip2/org/apache/tools/bzip2r/CBZip2OutputStream.java
131 32 0
public void visitSkewedJoin()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
130 16 1
private MapReduceOper getSortJob()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/MRCompiler.java
130 15 6
private void addCombiner()
in src/org/apache/pig/backend/hadoop/executionengine/spark/optimizer/CombinerOptimizer.java
130 32 1
public void handleNotification()
in src/org/apache/pig/impl/util/SpillableMemoryManager.java
129 23 2
public void visit()
in src/org/apache/pig/newplan/logical/relational/LogToPhyTranslationVisitor.java
129 10 1
public void visit()
in src/org/apache/pig/newplan/logical/visitor/ProjectStarExpander.java
129 28 1
public static void addCombiner()
in src/org/apache/pig/backend/hadoop/executionengine/util/CombinerOptimizerUtil.java
127 28 5
public static void writeDatum()
in src/org/apache/pig/data/DataReaderWriter.java
126 23 2
public LogicalSchema getSchema()
in src/org/apache/pig/newplan/logical/relational/LOGenerate.java
122 39 0
private Throwable getExceptionFromStrings()
in src/org/apache/pig/backend/hadoop/executionengine/Launcher.java
121 16 2
private void selectComparator()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/JobControlCompiler.java
121 33 3
private void init()
in contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/Over.java
116 46 1
public void visitMergeJoin()
in src/org/apache/pig/backend/hadoop/executionengine/spark/plan/SparkCompiler.java
116 18 1
public void visit()
in src/org/apache/pig/newplan/logical/rules/ColumnPruneVisitor.java
115 33 1
public void writeDatum()
in src/org/apache/pig/data/BinInterSedes.java
115 34 3
public static Schema mergeSchema()
in src/org/apache/pig/impl/logicalLayer/schema/Schema.java
114 21 5
private static Schema resourceFieldSchemaToAvroSchema()
in src/org/apache/pig/impl/util/avro/AvroStorageSchemaConversionUtilities.java
112 32 7
public void visit()
in src/org/apache/pig/newplan/logical/rules/ColumnPruneVisitor.java
110 27 1
private boolean fullGtU()
in lib-src/bzip2/org/apache/tools/bzip2r/CBZip2OutputStream.java
109 18 2
public Result getNextInteger()
in src/org/apache/pig/backend/hadoop/executionengine/physicalLayer/expressionOperators/POCast.java
109 39 0
public void visitMROp()
in src/org/apache/pig/backend/hadoop/executionengine/mapReduceLayer/SampleOptimizer.java
109 26 1
private String convertCubeToFGPlan()
in src/org/apache/pig/parser/LogicalPlanBuilder.java
109 23 5