#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-13	->	Tez vertex scope-16,
Tez vertex scope-16

Tez vertex scope-13
# Plan on vertex
b: Local Rearrange[tuple]{tuple}(true) - scope-15	->	 scope-16
|   |
|   Project[tuple][*] - scope-14
|
|---a: New For Each(false,false)[bag] - scope-7
    |   |
    |   Cast[int] - scope-2
    |   |
    |   |---Project[bytearray][0] - scope-1
    |   |
    |   Cast[int] - scope-5
    |   |
    |   |---Project[bytearray][1] - scope-4
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
Tez vertex scope-16
# Combine plan on edge <scope-13>
org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.DistinctCombiner$Combine
# Plan on vertex
c: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-12
|
|---c: New For Each(false)[bag] - scope-11
    |   |
    |   Project[int][1] - scope-9
    |
    |---New For Each(true)[bag] - scope-19
        |   |
        |   Project[tuple][0] - scope-18
        |
        |---Package(Packager)[tuple]{tuple} - scope-17
