#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-33	->	Tez vertex group scope-41,
Tez vertex scope-34	->	Tez vertex group scope-41,
Tez vertex group scope-41	->	Tez vertex scope-39,
Tez vertex scope-39

Tez vertex scope-33
# Plan on vertex
POValueOutputTez - scope-42	->	 [scope-39]
|
|---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-34
# Plan on vertex
POValueOutputTez - scope-43	->	 [scope-39]
|
|---c: New For Each(false,false)[bag] - scope-23
    |   |
    |   Cast[int] - scope-18
    |   |
    |   |---Project[bytearray][1] - scope-17
    |   |
    |   Cast[chararray] - scope-21
    |   |
    |   |---Project[bytearray][0] - scope-20
    |
    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-16
Tez vertex group scope-41	<-	 [scope-33, scope-34]	->	 scope-39
# No plan on vertex group
Tez vertex scope-39
# Plan on vertex
e: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-32
|
|---e: Filter[bag] - scope-26
    |   |
    |   Equal To[boolean] - scope-31
    |   |
    |   |---Project[int][0] - scope-27
    |   |
    |   |---POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.ReadScalarsTez)[int] - scope-30
    |       |
    |       |---Constant(0) - scope-28
    |
    |---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
