#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-77	->	Tez vertex scope-78,
Tez vertex scope-68	->	Tez vertex scope-70,
Tez vertex scope-69	->	Tez vertex scope-70,
Tez vertex scope-70	->	Tez vertex scope-78,Tez vertex scope-81,
Tez vertex scope-78	->	Tez vertex scope-81,
Tez vertex scope-81	->	Tez vertex scope-88,Tez vertex scope-90,
Tez vertex scope-88	->	Tez vertex scope-90,
Tez vertex scope-90

Tez vertex scope-77
# Plan on vertex
d: Local Rearrange[tuple]{chararray}(false) - scope-29	->	 scope-78
|   |
|   Project[chararray][0] - scope-30
|
|---c: New For Each(false)[bag] - scope-22
    |   |
    |   Cast[chararray] - scope-20
    |   |
    |   |---Project[bytearray][0] - scope-19
    |
    |---c: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-18
Tez vertex scope-68
# Plan on vertex
POValueOutputTez - scope-72	->	 [scope-70]
|
|---a: New For Each(false)[bag] - scope-6
    |   |
    |   Cast[chararray] - scope-4
    |   |
    |   |---Project[bytearray][0] - scope-3
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-2
Tez vertex scope-69
# Plan on vertex
POValueOutputTez - scope-73	->	 [scope-70]
|
|---b: New For Each(false)[bag] - scope-11
    |   |
    |   Cast[chararray] - scope-9
    |   |
    |   |---Project[bytearray][0] - scope-8
    |
    |---b: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-7
Tez vertex scope-70
# Plan on vertex
1-3: Split - scope-95
|   |
|   d: Local Rearrange[tuple]{chararray}(false) - scope-27	->	 scope-78
|   |   |
|   |   Project[chararray][0] - scope-28
|   |
|   |---r: Filter[bag] - scope-14
|       |   |
|       |   Not Equal To[boolean] - scope-17
|       |   |
|       |   |---Project[chararray][0] - scope-15
|       |   |
|       |   |---Constant() - scope-16
|   |
|   POValueOutputTez - scope-84	->	 [scope-81]
|   |
|   |---u2: New For Each(false,false)[bag] - scope-51
|       |   |
|       |   Project[chararray][0] - scope-48
|       |   |
|       |   Constant(DummyVal) - scope-50
|       |
|       |---s: Filter[bag] - scope-43
|           |   |
|           |   Not[boolean] - scope-47
|           |   |
|           |   |---Not Equal To[boolean] - scope-46
|           |       |
|           |       |---Project[chararray][0] - scope-44
|           |       |
|           |       |---Constant() - scope-45
|
|---POShuffledValueInputTez - scope-71	<-	 [scope-68, scope-69]
Tez vertex scope-78
# Plan on vertex
POValueOutputTez - scope-83	->	 [scope-81]
|
|---u2: New For Each(false,false)[bag] - scope-42
    |   |
    |   Project[chararray][0] - scope-38
    |   |
    |   Project[chararray][1] - scope-40
    |
    |---d: New For Each(true,true)[tuple] - scope-37
        |   |
        |   Project[bag][1] - scope-31
        |   |
        |   POBinCond[bag] - scope-36
        |   |
        |   |---Project[bag][2] - scope-32
        |   |
        |   |---POUserFunc(org.apache.pig.builtin.IsEmpty)[boolean] - scope-34
        |   |   |
        |   |   |---Project[bag][2] - scope-33
        |   |
        |   |---Constant({()}) - scope-35
        |
        |---d: Package(Packager)[tuple]{chararray} - scope-26
Tez vertex scope-81
# Plan on vertex
u2: Split - scope-94
|   |
|   POValueOutputTez - scope-92	->	 [scope-90]
|   |
|   |---e: Filter[bag] - scope-56
|       |   |
|       |   Equal To[boolean] - scope-59
|       |   |
|       |   |---Project[chararray][0] - scope-57
|       |   |
|       |   |---Constant() - scope-58
|   |
|   POValueOutputTez - scope-85	->	 [scope-88]
|
|---POShuffledValueInputTez - scope-82	<-	 [scope-70, scope-78]
Tez vertex scope-88
# Plan on vertex
POValueOutputTez - scope-93	->	 [scope-90]
|
|---f: Filter[bag] - scope-62
    |   |
    |   Equal To[boolean] - scope-65
    |   |
    |   |---Project[chararray][0] - scope-63
    |   |
    |   |---Constant(m) - scope-64
    |
    |---POValueInputTez - scope-89	<-	 scope-81
Tez vertex scope-90
# Plan on vertex
u3: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-67
|
|---POShuffledValueInputTez - scope-91	<-	 [scope-81, scope-88]
