#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-1
#--------------------------------------------------
Tez vertex scope-117	->	Tez vertex scope-119,
Tez vertex scope-118	->	Tez vertex scope-119,
Tez vertex scope-119	->	Tez vertex scope-121,Tez vertex scope-123,Tez vertex scope-125,
Tez vertex scope-121
Tez vertex scope-123
Tez vertex scope-125

Tez vertex scope-117
# Plan on vertex
c: Local Rearrange[tuple]{int}(false) - scope-84	->	 scope-119
|   |
|   Project[int][0] - scope-85
|
|---a: New For Each(false,false)[bag] - scope-71
    |   |
    |   Cast[int] - scope-66
    |   |
    |   |---Project[bytearray][0] - scope-65
    |   |
    |   Cast[int] - scope-69
    |   |
    |   |---Project[bytearray][1] - scope-68
    |
    |---a: Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-64
Tez vertex scope-118
# Plan on vertex
c: Local Rearrange[tuple]{int}(false) - scope-86	->	 scope-119
|   |
|   Project[int][0] - scope-87
|
|---b: New For Each(false,false)[bag] - scope-79
    |   |
    |   Cast[int] - scope-74
    |   |
    |   |---Project[bytearray][0] - scope-73
    |   |
    |   Cast[int] - scope-77
    |   |
    |   |---Project[bytearray][1] - scope-76
    |
    |---b: Load(file:///tmp/input2:org.apache.pig.builtin.PigStorage) - scope-72
Tez vertex scope-119
# Plan on vertex
POValueOutputTez - scope-120	->	 [scope-121, scope-123, scope-125]
|
|---c: New For Each(true,true)[tuple] - scope-90
    |   |
    |   Project[bag][1] - scope-88
    |   |
    |   Project[bag][2] - scope-89
    |
    |---c: Package(Packager)[tuple]{int} - scope-83
Tez vertex scope-121
# Plan on vertex
c: Store(file:///tmp/pigoutput/c:org.apache.pig.builtin.PigStorage) - scope-94
|
|---POValueInputTez - scope-122	<-	 scope-119
Tez vertex scope-123
# Plan on vertex
d: Store(file:///tmp/pigoutput/d:org.apache.pig.builtin.PigStorage) - scope-104
|
|---d: New For Each(false,false,false)[bag] - scope-103
    |   |
    |   Project[int][0] - scope-97
    |   |
    |   Project[int][1] - scope-99
    |   |
    |   Project[int][3] - scope-101
    |
    |---POValueInputTez - scope-124	<-	 scope-119
Tez vertex scope-125
# Plan on vertex
e: Store(file:///tmp/pigoutput/e:org.apache.pig.builtin.PigStorage) - scope-116
|
|---e: New For Each(false,false,false,false)[bag] - scope-115
    |   |
    |   Project[int][0] - scope-107
    |   |
    |   Project[int][1] - scope-109
    |   |
    |   Project[int][2] - scope-111
    |   |
    |   Project[int][3] - scope-113
    |
    |---POValueInputTez - scope-126	<-	 scope-119
