#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-24

Tez vertex scope-24
# Plan on vertex
1-1: Split - scope-32
|   |
|   b: Store(file:///tmp/pigoutput/b:org.apache.pig.builtin.PigStorage) - scope-13
|   |
|   |---b: Filter[bag] - scope-9
|       |   |
|       |   Less Than or Equal[boolean] - scope-12
|       |   |
|       |   |---Project[int][0] - scope-10
|       |   |
|       |   |---Constant(5) - scope-11
|   |
|   c: Store(file:///tmp/pigoutput/c:org.apache.pig.builtin.PigStorage) - scope-18
|   |
|   |---c: Filter[bag] - scope-14
|       |   |
|       |   Less Than or Equal[boolean] - scope-17
|       |   |
|       |   |---Project[int][0] - scope-15
|       |   |
|       |   |---Constant(10) - scope-16
|   |
|   d: Store(file:///tmp/pigoutput/d:org.apache.pig.builtin.PigStorage) - scope-23
|   |
|   |---d: Filter[bag] - scope-19
|       |   |
|       |   Greater Than[boolean] - scope-22
|       |   |
|       |   |---Project[int][0] - scope-20
|       |   |
|       |   |---Constant(10) - scope-21
|
|---a: New For Each(false,false)[bag] - scope-7
    |   |
    |   Cast[int] - scope-2
    |   |
    |   |---Project[bytearray][0] - scope-1
    |   |
    |   Cast[int] - scope-5
    |   |
    |   |---Project[bytearray][1] - scope-4
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-0
