#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-30	->	Tez vertex scope-54,
Tez vertex scope-54	->	Tez vertex scope-31,Tez vertex scope-64,
Tez vertex scope-64	->	Tez vertex scope-67,
Tez vertex scope-31	->	Tez vertex scope-67,
Tez vertex scope-67

Tez vertex scope-30
# Plan on vertex
Local Rearrange[tuple]{tuple}(false) - scope-43	->	 scope-54
|   |
|   Constant(DummyVal) - scope-42
|
|---New For Each(true,true)[tuple] - scope-53
    |   |
    |   Project[int][0] - scope-26
    |   |
    |   POUserFunc(org.apache.pig.impl.builtin.GetMemNumRows)[tuple] - scope-52
    |   |
    |   |---Project[tuple][*] - scope-51
    |
    |---PoissonSample - scope-44
        |
        |---d: New For Each(false,false)[bag] - scope-7
            |   |
            |   Cast[int] - scope-2
            |   |
            |   |---Project[bytearray][0] - scope-1
            |   |
            |   Cast[chararray] - scope-5
            |   |
            |   |---Project[bytearray][1] - scope-4
            |
            |---d: Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-0
Tez vertex scope-54
# Plan on vertex
POValueOutputTez - scope-63	->	 [scope-31, scope-64]
|
|---New For Each(false)[tuple] - scope-62
    |   |
    |   POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.PartitionSkewedKeysTez)[tuple] - scope-61
    |   |
    |   |---Project[tuple][*] - scope-60
    |
    |---New For Each(false,false)[tuple] - scope-59
        |   |
        |   Constant(-1) - scope-58
        |   |
        |   Project[bag][1] - scope-56
        |
        |---Package(Packager)[tuple]{bytearray} - scope-55
Tez vertex scope-64
# Plan on vertex
Local Rearrange[tuple]{int}(false) - scope-41	->	 scope-67
|   |
|   Project[int][0] - scope-26
|
|---d: New For Each(false,false)[bag] - scope-50
    |   |
    |   Cast[int] - scope-47
    |   |
    |   |---Project[bytearray][0] - scope-46
    |   |
    |   Cast[chararray] - scope-49
    |   |
    |   |---Project[bytearray][1] - scope-48
    |
    |---d: Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-45
Tez vertex scope-31
# Plan on vertex
a: Split - scope-73
|   |
|   Partition Rearrange[tuple]{int}(false) - scope-74	->	 scope-67
|   |   |
|   |   Project[int][0] - scope-75
|   |
|   Partition Rearrange[tuple]{int}(false) - scope-76	->	 scope-67
|   |   |
|   |   Project[int][0] - scope-77
|   |
|   |---b: Filter[bag] - scope-21
|       |   |
|       |   Equal To[boolean] - scope-24
|       |   |
|       |   |---Project[int][0] - scope-22
|       |   |
|       |   |---Constant(2) - scope-23
|
|---a: New For Each(false,false)[bag] - scope-15
    |   |
    |   Cast[int] - scope-10
    |   |
    |   |---Project[bytearray][0] - scope-9
    |   |
    |   Cast[chararray] - scope-13
    |   |
    |   |---Project[bytearray][1] - scope-12
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-8
Tez vertex scope-67
# Plan on vertex
e: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-29
|
|---New For Each(true,true)[tuple] - scope-71
    |   |
    |   Project[bag][1] - scope-69
    |   |
    |   Project[bag][2] - scope-70
    |
    |---Package(Packager)[tuple]{int} - scope-68
