#--------------------------------------------------
# There are 1 DAGs in the session
#--------------------------------------------------
#--------------------------------------------------
# TEZ DAG plan: pig-0_scope-1
#--------------------------------------------------
Tez vertex scope-317	->	Tez vertex scope-319,Tez vertex scope-330,Tez vertex scope-341,
Tez vertex scope-319	->	Tez vertex scope-322,Tez vertex scope-335,Tez vertex scope-346,
Tez vertex scope-322	->	Tez vertex scope-324,
Tez vertex scope-324	->	Tez vertex scope-326,Tez vertex scope-328,
Tez vertex scope-326
Tez vertex scope-328
Tez vertex scope-330	->	Tez vertex scope-333,Tez vertex scope-338,
Tez vertex scope-333	->	Tez vertex scope-337,
Tez vertex scope-335	->	Tez vertex scope-337,
Tez vertex scope-337
Tez vertex scope-338	->	Tez vertex scope-340,
Tez vertex scope-340
Tez vertex scope-341	->	Tez vertex scope-344,Tez vertex scope-384,
Tez vertex scope-344
Tez vertex scope-346	->	Tez vertex scope-349,Tez vertex scope-375,
Tez vertex scope-349	->	Tez vertex scope-359,Tez vertex scope-369,
Tez vertex scope-359	->	Tez vertex scope-369,
Tez vertex scope-369	->	Tez vertex scope-371,
Tez vertex scope-371
Tez vertex scope-375	->	Tez vertex scope-378,
Tez vertex scope-378	->	Tez vertex scope-382,Tez vertex scope-386,
Tez vertex scope-382
Tez vertex scope-384	->	Tez vertex group scope-412,
Tez vertex scope-386	->	Tez vertex group scope-412,
Tez vertex group scope-412

Tez vertex scope-317
# Plan on vertex
POValueOutputTez - scope-318	->	 [scope-319, scope-330, scope-341]
|
|---a: New For Each(false,false)[bag] - scope-218
    |   |
    |   Cast[int] - scope-213
    |   |
    |   |---Project[bytearray][0] - scope-212
    |   |
    |   Cast[int] - scope-216
    |   |
    |   |---Project[bytearray][1] - scope-215
    |
    |---a: Load(file:///tmp/input:org.apache.pig.builtin.PigStorage) - scope-211
Tez vertex scope-319
# Plan on vertex
POValueOutputTez - scope-321	->	 [scope-322, scope-335, scope-346]
|
|---b: Filter[bag] - scope-220
    |   |
    |   Less Than or Equal[boolean] - scope-223
    |   |
    |   |---Project[int][0] - scope-221
    |   |
    |   |---Constant(5) - scope-222
    |
    |---POValueInputTez - scope-320	<-	 scope-317
Tez vertex scope-322
# Plan on vertex
b1: Local Rearrange[tuple]{int}(false) - scope-229	->	 scope-324
|   |
|   Project[int][0] - scope-230
|
|---POValueInputTez - scope-323	<-	 scope-319
Tez vertex scope-324
# Plan on vertex
POValueOutputTez - scope-325	->	 [scope-326, scope-328]
|
|---b1: Package(Packager)[tuple]{int} - scope-228
Tez vertex scope-326
# Plan on vertex
b1: Store(file:///tmp/pigoutput/b1:org.apache.pig.builtin.PigStorage) - scope-234
|
|---POValueInputTez - scope-327	<-	 scope-324
Tez vertex scope-328
# Plan on vertex
b2: Store(file:///tmp/pigoutput/b2:org.apache.pig.builtin.PigStorage) - scope-244
|
|---b2: New For Each(false,false)[bag] - scope-243
    |   |
    |   Project[int][0] - scope-237
    |   |
    |   POUserFunc(org.apache.pig.builtin.LongSum)[long] - scope-241
    |   |
    |   |---Project[bag][0] - scope-240
    |       |
    |       |---Project[bag][1] - scope-239
    |
    |---POValueInputTez - scope-329	<-	 scope-324
Tez vertex scope-330
# Plan on vertex
POValueOutputTez - scope-332	->	 [scope-333, scope-338]
|
|---c: Filter[bag] - scope-245
    |   |
    |   Less Than or Equal[boolean] - scope-248
    |   |
    |   |---Project[int][0] - scope-246
    |   |
    |   |---Constant(10) - scope-247
    |
    |---POValueInputTez - scope-331	<-	 scope-317
Tez vertex scope-333
# Plan on vertex
c1: Local Rearrange[tuple]{int}(false) - scope-258	->	 scope-337
|   |
|   Project[int][0] - scope-259
|
|---POValueInputTez - scope-334	<-	 scope-330
Tez vertex scope-335
# Plan on vertex
c1: Local Rearrange[tuple]{int}(false) - scope-260	->	 scope-337
|   |
|   Project[int][0] - scope-261
|
|---POValueInputTez - scope-336	<-	 scope-319
Tez vertex scope-337
# Plan on vertex
c1: Store(file:///tmp/pigoutput/c1:org.apache.pig.builtin.PigStorage) - scope-265
|
|---c1: New For Each(true,true)[tuple] - scope-264
    |   |
    |   Project[bag][1] - scope-262
    |   |
    |   Project[bag][2] - scope-263
    |
    |---c1: Package(Packager)[tuple]{int} - scope-257
Tez vertex scope-338
# Plan on vertex
c2: Local Rearrange[tuple]{int}(false) - scope-404	->	 scope-340
|   |
|   Project[int][0] - scope-406
|
|---c3: New For Each(false,false)[bag] - scope-392
    |   |
    |   Project[int][0] - scope-393
    |   |
    |   POUserFunc(org.apache.pig.builtin.AlgebraicMathBase$Initial)[tuple] - scope-394
    |   |
    |   |---Project[bag][0] - scope-395
    |       |
    |       |---Project[bag][1] - scope-396
    |
    |---Pre Combiner Local Rearrange[tuple]{Unknown} - scope-407
        |
        |---POValueInputTez - scope-339	<-	 scope-330
Tez vertex scope-340
# Combine plan on edge <scope-338>
c2: Local Rearrange[tuple]{int}(false) - scope-408	->	 scope-340
|   |
|   Project[int][0] - scope-410
|
|---c3: New For Each(false,false)[bag] - scope-397
    |   |
    |   Project[int][0] - scope-398
    |   |
    |   POUserFunc(org.apache.pig.builtin.LongSum$Intermediate)[tuple] - scope-399
    |   |
    |   |---Project[bag][1] - scope-400
    |
    |---c2: Package(CombinerPackager)[tuple]{int} - scope-403
# Plan on vertex
c3: Store(file:///tmp/pigoutput/c1:org.apache.pig.builtin.PigStorage) - scope-279
|
|---c3: New For Each(false,false)[bag] - scope-278
    |   |
    |   Project[int][0] - scope-272
    |   |
    |   POUserFunc(org.apache.pig.builtin.LongSum$Final)[long] - scope-276
    |   |
    |   |---Project[bag][1] - scope-401
    |
    |---c2: Package(CombinerPackager)[tuple]{int} - scope-269
Tez vertex scope-341
# Plan on vertex
POValueOutputTez - scope-343	->	 [scope-344, scope-384]
|
|---d1: Filter[bag] - scope-284
    |   |
    |   Equal To[boolean] - scope-287
    |   |
    |   |---Project[int][0] - scope-285
    |   |
    |   |---Constant(5) - scope-286
    |
    |---d: Filter[bag] - scope-280
        |   |
        |   Greater Than[boolean] - scope-283
        |   |
        |   |---Project[int][0] - scope-281
        |   |
        |   |---Constant(10) - scope-282
        |
        |---POValueInputTez - scope-342	<-	 scope-317
Tez vertex scope-344
# Plan on vertex
d1: Store(file:///tmp/pigoutput/d1:org.apache.pig.builtin.PigStorage) - scope-291
|
|---POValueInputTez - scope-345	<-	 scope-341
Tez vertex scope-346
# Plan on vertex
POValueOutputTez - scope-348	->	 [scope-349, scope-375]
|
|---POValueInputTez - scope-347	<-	 scope-319
Tez vertex scope-349
# Plan on vertex
Local Rearrange[tuple]{tuple}(false) - scope-353	->	 scope-359
|   |
|   Constant(DummyVal) - scope-352
|
|---New For Each(false,true)[tuple] - scope-358
    |   |
    |   Project[int][0] - scope-299
    |   |
    |   POUserFunc(org.apache.pig.impl.builtin.GetMemNumRows)[tuple] - scope-357
    |   |
    |   |---Project[tuple][*] - scope-356
    |
    |---ReservoirSample - scope-355
        |
        |---e1: Local Rearrange[tuple]{int}(false) - scope-351	->	 scope-369
            |   |
            |   Project[int][0] - scope-299
            |
            |---e: Filter[bag] - scope-295
                |   |
                |   Less Than[boolean] - scope-298
                |   |
                |   |---Project[int][0] - scope-296
                |   |
                |   |---Constant(3) - scope-297
                |
                |---POValueInputTez - scope-350	<-	 scope-346
Tez vertex scope-359
# Plan on vertex
POValueOutputTez - scope-368	->	 [scope-369]
|
|---New For Each(false)[tuple] - scope-367
    |   |
    |   POUserFunc(org.apache.pig.backend.hadoop.executionengine.tez.plan.udf.FindQuantilesTez)[tuple] - scope-366
    |   |
    |   |---Project[tuple][*] - scope-365
    |
    |---New For Each(false,false)[tuple] - scope-364
        |   |
        |   Constant(-1) - scope-363
        |   |
        |   Project[bag][1] - scope-361
        |
        |---Package(Packager)[tuple]{bytearray} - scope-360
Tez vertex scope-369
# Plan on vertex
POIdentityInOutTez - scope-370	<-	 scope-349	->	 scope-371
|   |
|   Project[int][0] - scope-299
Tez vertex scope-371
# Plan on vertex
e1: Store(file:///tmp/pigoutput/e1:org.apache.pig.builtin.PigStorage) - scope-301
|
|---New For Each(true)[tuple] - scope-374
    |   |
    |   Project[bag][1] - scope-373
    |
    |---Package(LitePackager)[tuple]{int} - scope-372
Tez vertex scope-375
# Plan on vertex
POValueOutputTez - scope-377	->	 [scope-378]
|
|---f1: Limit - scope-306
    |
    |---f: Filter[bag] - scope-302
        |   |
        |   Greater Than or Equal[boolean] - scope-305
        |   |
        |   |---Project[int][0] - scope-303
        |   |
        |   |---Constant(3) - scope-304
        |
        |---POValueInputTez - scope-376	<-	 scope-346
Tez vertex scope-378
# Plan on vertex
POValueOutputTez - scope-381	->	 [scope-382, scope-386]
|
|---f1: Limit - scope-380
    |
    |---POValueInputTez - scope-379	<-	 scope-375
Tez vertex scope-382
# Plan on vertex
f1: Store(file:///tmp/pigoutput/f1:org.apache.pig.builtin.PigStorage) - scope-310
|
|---POValueInputTez - scope-383	<-	 scope-378
Tez vertex scope-384
# Plan on vertex
f2: Store(file:///tmp/pigoutput/f2:org.apache.pig.builtin.PigStorage) - scope-413	->	 scope-316
|
|---POValueInputTez - scope-385	<-	 scope-341
Tez vertex scope-386
# Plan on vertex
f2: Store(file:///tmp/pigoutput/f2:org.apache.pig.builtin.PigStorage) - scope-414	->	 scope-316
|
|---POValueInputTez - scope-387	<-	 scope-378
Tez vertex group scope-412	<-	 [scope-384, scope-386]	->	 null
# No plan on vertex group
