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

Tez vertex scope-39
# Plan on vertex
d: BuildBloom Rearrange[tuple]{chararray}(false) - scope-20	->	[ scope-41, scope-42]
|   |
|   Project[chararray][0] - scope-21
|
|---a: New For Each(false,false)[bag] - scope-7
    |   |
    |   Cast[chararray] - 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-42
# Combine plan on edge <scope-39>
Local Rearrange[tuple]{int}(false) - scope-47	->	 scope-42
|   |
|   Project[int][0] - scope-46
|
|---Package(BloomPackager)[tuple]{int} - scope-45
# Plan on vertex
POValueOutputTez - scope-44	->	 [scope-40]
|
|---Package(BloomPackager)[tuple]{int} - scope-43
Tez vertex scope-40
# Plan on vertex
d: BloomFilter Rearrange[tuple]{chararray}(false) - scope-22	<-	 scope-42	->	 scope-41
|   |
|   Project[chararray][0] - scope-23
|
|---b: New For Each(false,false)[bag] - scope-15
    |   |
    |   Cast[chararray] - scope-10
    |   |
    |   |---Project[bytearray][0] - scope-9
    |   |
    |   Cast[int] - scope-13
    |   |
    |   |---Project[bytearray][1] - scope-12
    |
    |---b: Load(file:///tmp/input2:org.apache.pig.builtin.PigStorage) - scope-8
Tez vertex scope-41
# Plan on vertex
e: Store(file:///tmp/pigoutput:org.apache.pig.builtin.PigStorage) - scope-38
|
|---e: New For Each(false,false,false)[bag] - scope-37
    |   |
    |   Project[chararray][0] - scope-31
    |   |
    |   Project[int][1] - scope-33
    |   |
    |   Project[int][3] - scope-35
    |
    |---d: New For Each(true,true)[tuple] - scope-30
        |   |
        |   Project[bag][1] - scope-24
        |   |
        |   POBinCond[bag] - scope-29
        |   |
        |   |---Project[bag][2] - scope-25
        |   |
        |   |---POUserFunc(org.apache.pig.builtin.IsEmpty)[boolean] - scope-27
        |   |   |
        |   |   |---Project[bag][2] - scope-26
        |   |
        |   |---Constant({(,)}) - scope-28
        |
        |---d: Package(Packager)[tuple]{chararray} - scope-19
