#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-43	->	Tez vertex group scope-55,Tez vertex group scope-56,
Tez vertex scope-37	->	Tez vertex group scope-55,Tez vertex group scope-56,
Tez vertex scope-38	->	Tez vertex group scope-55,Tez vertex group scope-56,
Tez vertex group scope-56	->	Tez vertex scope-53,
Tez vertex scope-53
Tez vertex group scope-55

Tez vertex scope-43
# Plan on vertex
e: Split - scope-61
|   |
|   e: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - scope-62	->	 scope-29
|   |
|   f: Local Rearrange[tuple]{int}(false) - scope-63	->	 scope-53
|   |   |
|   |   Project[int][0] - scope-64
|
|---d: New For Each(false,false)[bag] - scope-24
    |   |
    |   Cast[int] - scope-19
    |   |
    |   |---Project[bytearray][0] - scope-18
    |   |
    |   Cast[chararray] - scope-22
    |   |
    |   |---Project[bytearray][1] - scope-21
    |
    |---d: Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-17
Tez vertex scope-37
# Plan on vertex
e: Split - scope-66
|   |
|   e: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - scope-67	->	 scope-29
|   |
|   f: Local Rearrange[tuple]{int}(false) - scope-68	->	 scope-53
|   |   |
|   |   Project[int][0] - scope-69
|
|---a: 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
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
Tez vertex scope-38
# Plan on vertex
e: Split - scope-70
|   |
|   e: Store(file:///tmp/pigoutput1:org.apache.pig.builtin.PigStorage) - scope-71	->	 scope-29
|   |
|   f: Local Rearrange[tuple]{int}(false) - scope-72	->	 scope-53
|   |   |
|   |   Project[int][0] - scope-73
|
|---c: New For Each(false,false)[bag] - scope-15
    |   |
    |   Cast[int] - scope-10
    |   |
    |   |---Project[bytearray][1] - scope-9
    |   |
    |   Cast[chararray] - scope-13
    |   |
    |   |---Project[bytearray][0] - scope-12
    |
    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-8
Tez vertex group scope-56	<-	 [scope-43, scope-37, scope-38]	->	 scope-53
# No plan on vertex group
Tez vertex scope-53
# Plan on vertex
f: Store(file:///tmp/pigoutput2:org.apache.pig.builtin.PigStorage) - scope-36
|
|---f: Package(Packager)[tuple]{int} - scope-33
Tez vertex group scope-55	<-	 [scope-43, scope-37, scope-38]	->	 null
# No plan on vertex group
