#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-0
#--------------------------------------------------
Tez vertex scope-60	->	Tez vertex scope-61,Tez vertex scope-62,
Tez vertex scope-62	->	Tez vertex scope-54,Tez vertex scope-58,
Tez vertex scope-54	->	Tez vertex scope-58,Tez vertex scope-61,
Tez vertex scope-58	->	Tez vertex scope-61,
Tez vertex scope-61

Tez vertex scope-60
# Plan on vertex
d: BuildBloom Rearrange[tuple]{int}(false) - scope-38	->	[ scope-61, scope-62]
|   |
|   Project[int][0] - scope-39
|
|---b: New For Each(false,false)[bag] - scope-28
    |   |
    |   Cast[int] - scope-23
    |   |
    |   |---Project[bytearray][0] - scope-22
    |   |
    |   Cast[int] - scope-26
    |   |
    |   |---Project[bytearray][1] - scope-25
    |
    |---b: Load(file:///tmp/input2:org.apache.pig.builtin.PigStorage) - scope-21
Tez vertex scope-62
# Combine plan on edge <scope-60>
Local Rearrange[tuple]{int}(false) - scope-67	->	 scope-62
|   |
|   Project[int][0] - scope-66
|
|---Package(BloomPackager)[tuple]{int} - scope-65
# Plan on vertex
POValueOutputTez - scope-64	->	 [scope-54, scope-58]
|
|---Package(BloomPackager)[tuple]{int} - scope-63
Tez vertex scope-54
# Plan on vertex
a: Split - scope-68
|   |
|   d: BloomFilter Rearrange[tuple]{int}(false) - scope-34	<-	 scope-62	->	 scope-61
|   |   |
|   |   Project[int][0] - scope-35
|   |
|   |---a1: Filter[bag] - scope-11
|       |   |
|       |   Equal To[boolean] - scope-14
|       |   |
|       |   |---Project[int][0] - scope-12
|       |   |
|       |   |---Constant(3) - scope-13
|   |
|   POValueOutputTez - scope-55	->	 [scope-58]
|
|---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/input1:org.apache.pig.builtin.PigStorage) - scope-0
Tez vertex scope-58
# Plan on vertex
d: BloomFilter Rearrange[tuple]{int}(false) - scope-36	<-	 scope-62	->	 scope-61
|   |
|   Project[int][0] - scope-37
|
|---a2: Filter[bag] - scope-17
    |   |
    |   Equal To[boolean] - scope-20
    |   |
    |   |---Project[int][0] - scope-18
    |   |
    |   |---Constant(4) - scope-19
    |
    |---POValueInputTez - scope-59	<-	 scope-54
Tez vertex scope-61
# Plan on vertex
e: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-53
|
|---e: New For Each(false,false,false,false)[bag] - scope-52
    |   |
    |   Project[int][0] - scope-44
    |   |
    |   Project[int][1] - scope-46
    |   |
    |   Project[int][3] - scope-48
    |   |
    |   Project[int][5] - scope-50
    |
    |---d: New For Each(true,true,true)[tuple] - scope-43
        |   |
        |   Project[bag][1] - scope-40
        |   |
        |   Project[bag][2] - scope-41
        |   |
        |   Project[bag][3] - scope-42
        |
        |---d: Package(Packager)[tuple]{int} - scope-33
