#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-1
#--------------------------------------------------
Tez vertex scope-87	->	Tez vertex scope-89,
Tez vertex scope-88	->	Tez vertex scope-89,
Tez vertex scope-89	->	Tez vertex scope-94,
Tez vertex scope-93	->	Tez vertex scope-94,
Tez vertex scope-94

Tez vertex scope-87
# Plan on vertex
POValueOutputTez - scope-91	->	 [scope-89]
|
|---a: New For Each(false,false)[bag] - scope-57
    |   |
    |   Cast[int] - scope-52
    |   |
    |   |---Project[bytearray][0] - scope-51
    |   |
    |   Cast[chararray] - scope-55
    |   |
    |   |---Project[bytearray][1] - scope-54
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-50
Tez vertex scope-88
# Plan on vertex
POValueOutputTez - scope-92	->	 [scope-89]
|
|---c: New For Each(false,false)[bag] - scope-65
    |   |
    |   Cast[int] - scope-60
    |   |
    |   |---Project[bytearray][1] - scope-59
    |   |
    |   Cast[chararray] - scope-63
    |   |
    |   |---Project[bytearray][0] - scope-62
    |
    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-58
Tez vertex scope-89
# Plan on vertex
e: Local Rearrange[tuple]{int}(false) - scope-79	->	 scope-94
|   |
|   Project[int][0] - scope-80
|
|---POShuffledValueInputTez - scope-90	<-	 [scope-87, scope-88]
Tez vertex scope-93
# Plan on vertex
e: Local Rearrange[tuple]{int}(false) - scope-81	->	 scope-94
|   |
|   Project[int][0] - scope-82
|
|---d: New For Each(false,false)[bag] - scope-74
    |   |
    |   Cast[int] - scope-69
    |   |
    |   |---Project[bytearray][0] - scope-68
    |   |
    |   Cast[chararray] - scope-72
    |   |
    |   |---Project[bytearray][1] - scope-71
    |
    |---d: Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-67
Tez vertex scope-94
# Plan on vertex
e: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-86
|
|---e: New For Each(true,true)[tuple] - scope-85
    |   |
    |   Project[bag][1] - scope-83
    |   |
    |   Project[bag][2] - scope-84
    |
    |---e: Package(Packager)[tuple]{int} - scope-78
