You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by pr...@apache.org on 2010/04/30 18:05:32 UTC
svn commit: r939727 - in /hadoop/pig/trunk: ./ src/org/apache/pig/
test/org/apache/pig/test/ test/org/apache/pig/test/data/GoldenFiles/
Author: pradeepkth
Date: Fri Apr 30 16:05:31 2010
New Revision: 939727
URL: http://svn.apache.org/viewvc?rev=939727&view=rev
Log:
PIG-1378: har url not usable in Pig scripts (pradeepkth)
Modified:
hadoop/pig/trunk/CHANGES.txt
hadoop/pig/trunk/src/org/apache/pig/LoadFunc.java
hadoop/pig/trunk/test/org/apache/pig/test/TestLoad.java
hadoop/pig/trunk/test/org/apache/pig/test/TestLoadFunc.java
hadoop/pig/trunk/test/org/apache/pig/test/TestLogicalPlanMigrationVisitor.java
hadoop/pig/trunk/test/org/apache/pig/test/TestStore.java
hadoop/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld
Modified: hadoop/pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/CHANGES.txt?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/CHANGES.txt (original)
+++ hadoop/pig/trunk/CHANGES.txt Fri Apr 30 16:05:31 2010
@@ -51,6 +51,8 @@ PIG-1309: Map-side Cogroup (ashutoshc)
BUG FIXES
+1378: har url not usable in Pig scripts (pradeepkth)
+
PIG-1395: Mapside cogroup runs out of memory (ashutoshc)
PIG-1383: Remove empty svn directorirs from source tree (rding)
Modified: hadoop/pig/trunk/src/org/apache/pig/LoadFunc.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/src/org/apache/pig/LoadFunc.java?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/src/org/apache/pig/LoadFunc.java (original)
+++ hadoop/pig/trunk/src/org/apache/pig/LoadFunc.java Fri Apr 30 16:05:31 2010
@@ -247,11 +247,13 @@ public abstract class LoadFunc {
String[] fnames = getPathStrings(location);
for (String fname: fnames) {
- Path p = new Path(fname.trim());
+ // remove leading/trailing whitespace(s)
+ fname = fname.trim();
+ Path p = new Path(fname);
URI uri = p.toUri();
- // if the supplied location has an authority and is absolute, just
- // use it
- if(uri.getAuthority() == null || ! p.isAbsolute()) {
+ // if the supplied location has a scheme (i.e. uri is absolute) or
+ // an absolute path, just use it.
+ if(! (uri.isAbsolute() || p.isAbsolute())) {
String scheme = uri.getScheme();
if (scheme != null) {
scheme = scheme.toLowerCase();
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestLoad.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestLoad.java?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestLoad.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestLoad.java Fri Apr 30 16:05:31 2010
@@ -22,7 +22,12 @@ import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.regex.Pattern;
@@ -49,6 +54,7 @@ import org.apache.pig.impl.logicalLayer.
import org.apache.pig.impl.logicalLayer.LogicalOperator;
import org.apache.pig.impl.logicalLayer.LogicalPlan;
import org.apache.pig.impl.logicalLayer.LogicalPlanBuilder;
+import org.apache.pig.impl.logicalLayer.parser.ParseException;
import org.apache.pig.impl.plan.OperatorKey;
import org.apache.pig.test.utils.GenPhyOp;
import org.apache.pig.test.utils.LogicalPlanTester;
@@ -125,7 +131,8 @@ public class TestLoad extends junit.fram
public void testLoadRemoteAbs() throws Exception {
for (PigServer pig : servers) {
pc = pig.getPigContext();
- checkLoadPath("/tmp/test","/tmp/test");
+ boolean noConversionExpected = true;
+ checkLoadPath("/tmp/test","/tmp/test", noConversionExpected);
}
}
@@ -140,7 +147,13 @@ public class TestLoad extends junit.fram
@Test
public void testLoadRemoteAbsScheme() throws Exception {
pc = servers[0].getPigContext();
- checkLoadPath("hdfs:/tmp/test","/tmp/test");
+ boolean noConversionExpected = true;
+ checkLoadPath("hdfs:/tmp/test","hdfs:/tmp/test", noConversionExpected);
+
+ // check if a location 'hdfs:<abs path>' can actually be read using PigStorage
+ String[] inputFileNames = new String[] {
+ "/tmp/TestLoad-testLoadRemoteAbsSchema-input.txt"};
+ testLoadingMultipleFiles(inputFileNames, "hdfs:" + inputFileNames[0]);
}
@Test
@@ -153,7 +166,8 @@ public class TestLoad extends junit.fram
public void testLoadRemoteNormalize() throws Exception {
for (PigServer pig : servers) {
pc = pig.getPigContext();
- checkLoadPath("/tmp/foo/../././","/tmp");
+ boolean noConversionExpected = true;
+ checkLoadPath("/tmp/foo/../././","/tmp/foo/../././", noConversionExpected);
}
}
@@ -181,11 +195,24 @@ public class TestLoad extends junit.fram
}
}
+ @SuppressWarnings("unchecked")
@Test
public void testCommaSeparatedString3() throws Exception {
PigServer pig = servers[0];
pc = pig.getPigContext();
- checkLoadPath("hdfs:/tmp/test,hdfs:/tmp/test2,hdfs:/tmp/test3","/tmp/test,/tmp/test2,/tmp/test3");
+ boolean noConversionExpected = true;
+ checkLoadPath("hdfs:/tmp/test,hdfs:/tmp/test2,hdfs:/tmp/test3",
+ "hdfs:/tmp/test,hdfs:/tmp/test2,hdfs:/tmp/test3", noConversionExpected );
+
+ // check if a location 'hdfs:<abs path>,hdfs:<abs path>' can actually be
+ // read using PigStorage
+ String[] inputFileNames = new String[] {
+ "/tmp/TestLoad-testCommaSeparatedString3-input1.txt",
+ "/tmp/TestLoad-testCommaSeparatedString3-input2.txt"};
+ String inputString = "hdfs:" + inputFileNames[0] + ",hdfs:" +
+ inputFileNames[1];
+ testLoadingMultipleFiles(inputFileNames, inputString);
+
}
@Test
@@ -202,6 +229,18 @@ public class TestLoad extends junit.fram
pc = pig.getPigContext();
checkLoadPath("/usr/pig/{a,c},usr/pig/b","/usr/pig/{a,c},/tmp/usr/pig/b");
}
+
+ // check if a location '<abs path>,<relative path>' can actually be
+ // read using PigStorage
+ String loadLocationString = "/tmp/TestLoad-testCommaSeparatedStringMixed-input{1,2}.txt," +
+ "TestLoad-testCommaSeparatedStringMixed-input3.txt"; // current working dir is set to /tmp in checkLoadPath()
+
+ String[] inputFileNames = new String[] {
+ "/tmp/TestLoad-testCommaSeparatedStringMixed-input1.txt",
+ "/tmp/TestLoad-testCommaSeparatedStringMixed-input2.txt",
+ "/tmp/TestLoad-testCommaSeparatedStringMixed-input3.txt",};
+ pc = servers[0].getPigContext(); // test in map reduce mode
+ testLoadingMultipleFiles(inputFileNames, loadLocationString);
}
@Test
@@ -220,8 +259,51 @@ public class TestLoad extends junit.fram
LOLoad load = (LOLoad) lp.getRoots().get(0);
Assert.assertEquals(nonDfsUrl, load.getInputFile().getFileName());
}
-
+
+ @SuppressWarnings("unchecked")
+ private void testLoadingMultipleFiles(String[] inputFileNames,
+ String loadLocationString) throws IOException, ParseException {
+
+ String[][] inputStrings = new String[][] {
+ new String[] { "hello\tworld"},
+ new String[] { "bye\tnow"},
+ new String[] { "all\tgood"}
+ };
+ List<Tuple> expected = Arrays.asList(new Tuple[] {
+ (Tuple) Util.getPigConstant("('hello', 'world')"),
+ (Tuple) Util.getPigConstant("('bye', 'now')"),
+ (Tuple) Util.getPigConstant("('all', 'good')")});
+
+ List<Tuple> expectedBasedOnNumberOfInputs = new ArrayList<Tuple>();
+ for(int i = 0; i < inputFileNames.length; i++) {
+ Util.createInputFile(pc, inputFileNames[i], inputStrings[i]);
+ expectedBasedOnNumberOfInputs.add(expected.get(i));
+ }
+ try {
+ servers[0].registerQuery(" a = load '" + loadLocationString + "' as " +
+ "(s1:chararray, s2:chararray);");
+ Iterator<Tuple> it = servers[0].openIterator("a");
+
+ List<Tuple> actual = new ArrayList<Tuple>();
+ while(it.hasNext()) {
+ actual.add(it.next());
+ }
+ Collections.sort(expectedBasedOnNumberOfInputs);
+ Collections.sort(actual);
+ Assert.assertEquals(expectedBasedOnNumberOfInputs, actual);
+ } finally {
+ for(int i = 0; i < inputFileNames.length; i++) {
+ Util.deleteFile(pc, inputFileNames[i]);
+ }
+ }
+ }
+
private void checkLoadPath(String orig, String expected) throws Exception {
+ checkLoadPath(orig, expected, false);
+ }
+
+ private void checkLoadPath(String orig, String expected,
+ boolean noConversionExpected) throws Exception {
boolean[] multiquery = {true, false};
@@ -251,15 +333,19 @@ public class TestLoad extends junit.fram
LOLoad load = (LOLoad)op;
String p = load.getInputFile().getFileName();
- System.err.println("DEBUG: p:" + p + " expected:" + expected +", exectype:" + pc.getExecType());
- if (pc.getExecType() == ExecType.MAPREDUCE) {
- Assert.assertTrue(p.matches("hdfs://[0-9a-zA-Z:\\.]*.*"));
- Assert.assertEquals(p.replaceAll("hdfs://[0-9a-zA-Z:\\.]*/", "/"),
- expected);
- } else {
- Assert.assertTrue(p.matches("file://[0-9a-zA-Z:\\.]*.*"));
- Assert.assertEquals(p.replaceAll("file://[0-9a-zA-Z:\\.]*/", "/"),
- expected);
+ System.err.println("DEBUG: p:" + p + " expected:" + expected +", exectype:" + pc.getExecType());
+ if(noConversionExpected) {
+ Assert.assertEquals(p, expected);
+ } else {
+ if (pc.getExecType() == ExecType.MAPREDUCE) {
+ Assert.assertTrue(p.matches(".*hdfs://[0-9a-zA-Z:\\.]*.*"));
+ Assert.assertEquals(p.replaceAll("hdfs://[0-9a-zA-Z:\\.]*/", "/"),
+ expected);
+ } else {
+ Assert.assertTrue(p.matches(".*file://[0-9a-zA-Z:\\.]*.*"));
+ Assert.assertEquals(p.replaceAll("file://[0-9a-zA-Z:\\.]*/", "/"),
+ expected);
+ }
}
}
}
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestLoadFunc.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestLoadFunc.java?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestLoadFunc.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestLoadFunc.java Fri Apr 30 16:05:31 2010
@@ -59,7 +59,7 @@ public class TestLoadFunc {
@Test
public void testGetAbsolutePath() throws IOException {
// test case: simple absolute path
- Assert.assertEquals(curHdfsRoot + "/hadoop/test/passwd",
+ Assert.assertEquals("/hadoop/test/passwd",
LoadFunc.getAbsolutePath("/hadoop/test/passwd", curHdfsDir));
}
@@ -89,9 +89,8 @@ public class TestLoadFunc {
@Test
public void testCommaSeparatedString() throws Exception {
// test case: comma separated absolute paths
- Assert.assertEquals(curHdfsRoot + "/usr/pig/a," +
- curHdfsRoot + "/usr/pig/b",
- LoadFunc.getAbsolutePath("/usr/pig/a,/usr/pig/b",
+ Assert.assertEquals("/usr/pig/a,/usr/pig/b,/usr/pig/c",
+ LoadFunc.getAbsolutePath("/usr/pig/a,/usr/pig/b,/usr/pig/c",
curHdfsDir));
}
@@ -104,17 +103,8 @@ public class TestLoadFunc {
}
@Test
- public void testCommaSeparatedString3() throws Exception {
- // test case: comma separated absolute paths
- Assert.assertEquals(curHdfsRoot + "/tmp/test," +
- curHdfsRoot + "/tmp/test2," + curHdfsRoot + "/tmp/test3",
- LoadFunc.getAbsolutePath("/tmp/test,/tmp/test2,/tmp/test3",
- curHdfsDir));
- }
-
- @Test
public void testCommaSeparatedString4() throws Exception {
- // test case: comma separated paths with hahoop glob
+ // test case: comma separated paths with hadoop glob
Assert.assertEquals(curHdfsRoot + "/user/pig/test/{a,c}," +
curHdfsRoot + "/user/pig/test/b",
LoadFunc.getAbsolutePath("test/{a,c},test/b", curHdfsDir));
@@ -122,8 +112,8 @@ public class TestLoadFunc {
@Test
public void testCommaSeparatedString5() throws Exception {
- // test case: comma separated paths with hahoop glob
- Assert.assertEquals(curHdfsRoot + "/test/data/{a,c}," +
+ // test case: comma separated paths with hadoop glob
+ Assert.assertEquals("/test/data/{a,c}," +
curHdfsRoot + "/user/pig/test/b",
LoadFunc.getAbsolutePath("/test/data/{a,c},test/b",
curHdfsDir));
@@ -131,9 +121,8 @@ public class TestLoadFunc {
@Test
public void testCommaSeparatedString6() throws Exception {
- // test case: comma separated paths with hahoop glob
- Assert.assertEquals(curHdfsRoot + "/user/pig/test/{a,c}," +
- curHdfsRoot + "/test/data/b",
+ // test case: comma separated paths with hasoop glob
+ Assert.assertEquals(curHdfsRoot + "/user/pig/test/{a,c},/test/data/b",
LoadFunc.getAbsolutePath("test/{a,c},/test/data/b",
curHdfsDir));
}
@@ -141,8 +130,7 @@ public class TestLoadFunc {
@Test
public void testCommaSeparatedString7() throws Exception {
// test case: comma separated paths with white spaces
- Assert.assertEquals(curHdfsRoot + "/user/pig/test/{a,c}," +
- curHdfsRoot + "/test/data/b",
+ Assert.assertEquals(curHdfsRoot + "/user/pig/test/{a,c},/test/data/b",
LoadFunc.getAbsolutePath("test/{a,c}, /test/data/b",
curHdfsDir));
}
@@ -154,5 +142,14 @@ public class TestLoadFunc {
curHdfsRoot + "/test/data/b",
LoadFunc.getAbsolutePath(", /test/data/b",
curHdfsDir));
+ }
+
+ @Test
+ public void testHarUrl() throws Exception {
+ // test case: input location is a har:// url
+ Assert.assertEquals("har:///user/pig/harfile",
+ LoadFunc.getAbsolutePath("har:///user/pig/harfile",
+ curHdfsDir));
}
+
}
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestLogicalPlanMigrationVisitor.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestLogicalPlanMigrationVisitor.java?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestLogicalPlanMigrationVisitor.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestLogicalPlanMigrationVisitor.java Fri Apr 30 16:05:31 2010
@@ -214,7 +214,7 @@ public class TestLogicalPlanMigrationVis
LogicalSchema aschema = new LogicalSchema();
aschema.addField(new LogicalSchema.LogicalFieldSchema("id", null, DataType.BYTEARRAY));
aschema.addField(new LogicalSchema.LogicalFieldSchema("d", null, DataType.BYTEARRAY));
- LOLoad load = new LOLoad(new FileSpec("file:///test/d.txt", new FuncSpec("org.apache.pig.builtin.PigStorage")), aschema, expected);
+ LOLoad load = new LOLoad(new FileSpec("/test/d.txt", new FuncSpec("org.apache.pig.builtin.PigStorage")), aschema, expected);
expected.add(load);
LOForEach foreach = new LOForEach(expected);
@@ -239,7 +239,7 @@ public class TestLogicalPlanMigrationVis
foreach.setInnerPlan(innerPlan);
expected.add(foreach);
- LOStore s = new LOStore(expected, new FileSpec("file:///test/empty", new FuncSpec("org.apache.pig.builtin.PigStorage")));
+ LOStore s = new LOStore(expected, new FileSpec("/test/empty", new FuncSpec("org.apache.pig.builtin.PigStorage")));
expected.add(s);
@@ -352,7 +352,7 @@ public class TestLogicalPlanMigrationVis
aschema2.addField(new LogicalSchema.LogicalFieldSchema("t", aschema3, DataType.TUPLE));
aschema.addField(new LogicalSchema.LogicalFieldSchema("d", aschema2, DataType.BAG));
- LOLoad load = new LOLoad(new FileSpec("file:///test/d.txt", new FuncSpec("org.apache.pig.builtin.PigStorage")), aschema, expected);
+ LOLoad load = new LOLoad(new FileSpec("/test/d.txt", new FuncSpec("org.apache.pig.builtin.PigStorage")), aschema, expected);
expected.add(load);
LOForEach foreach2 = new LOForEach(expected);
@@ -377,7 +377,7 @@ public class TestLogicalPlanMigrationVis
foreach2.setInnerPlan(innerPlan);
expected.add(foreach2);
- LOStore s = new LOStore(expected, new FileSpec("file:///test/empty", new FuncSpec("org.apache.pig.builtin.PigStorage")));
+ LOStore s = new LOStore(expected, new FileSpec("/test/empty", new FuncSpec("org.apache.pig.builtin.PigStorage")));
expected.add(s);
Modified: hadoop/pig/trunk/test/org/apache/pig/test/TestStore.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/TestStore.java?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/TestStore.java (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/TestStore.java Fri Apr 30 16:05:31 2010
@@ -362,7 +362,7 @@ public class TestStore extends junit.fra
@Test
public void testStoreRemoteAbsScheme() throws Exception {
- checkStorePath("hdfs:/tmp/test","/tmp/test");
+ checkStorePath("hdfs:/tmp/test","hdfs:/tmp/test");
}
@Test
@@ -372,7 +372,7 @@ public class TestStore extends junit.fra
@Test
public void testStoreRemoteNormalize() throws Exception {
- checkStorePath("/tmp/foo/../././","/tmp");
+ checkStorePath("/tmp/foo/../././","/tmp/foo/../././");
}
@Test
@@ -657,7 +657,7 @@ public class TestStore extends junit.fra
if (isTmp) {
Assert.assertTrue(p.matches("/tmp.*"));
} else {
- Assert.assertEquals(p, expected);
+ Assert.assertEquals(expected, p);
}
}
}
Modified: hadoop/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld?rev=939727&r1=939726&r2=939727&view=diff
==============================================================================
--- hadoop/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld (original)
+++ hadoop/pig/trunk/test/org/apache/pig/test/data/GoldenFiles/MRC18.gld Fri Apr 30 16:05:31 2010
@@ -1,10 +1,10 @@
MapReduce(-1,PigStorage) - scope-125:
Reduce Plan Empty
-| Store(file:///tmp:org.apache.pig.builtin.PigStorage) - scope-124
+| Store(/tmp:org.apache.pig.builtin.PigStorage) - scope-124
| |
| |---MergeJoin[tuple] - scope-121
| |
-| |---Load(file:///tmp/input1:org.apache.pig.builtin.PigStorage) - scope-117
+| |---Load(/tmp/input1:org.apache.pig.builtin.PigStorage) - scope-117
|
|---MapReduce(1,PigStorage) - scope-126:
| Store(file:/tmp/temp-1456742965/tmp-1456742965:org.apache.pig.builtin.BinStorage) - scope-132
@@ -18,4 +18,4 @@ Reduce Plan Empty
| | |
| | Project[tuple][*] - scope-127
| |
- | |---Load(file:///tmp/input2:org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MergeJoinIndexer('org.apache.pig.builtin.PigStorage','kmonaaafhdhcaabdgkgbhggbcohfhegjgmcoebhchcgbhjemgjhdhehiibncbnjjmhgbjnadaaabejaaaehdgjhkgfhihaaaaaaaabhhaeaaaaaaabhdhcaaeogphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccohagmgbgohdcofagihjhdgjgdgbgmfagmgbgoaaaaaaaaaaaaaaabacaaabfkaaangfgogeepggebgmgmejgohahfhehihcaacfgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcfagmgbgogpkikkjgaddcgofpacaaagemaaakgneghcgpgnefgeghgfhdheaacdemgphcghcpgbhagbgdgigfcphagjghcpgjgnhagmcphfhegjgmcpenhfgmhegjengbhadlemaaafgnelgfhjhdheaaapemgkgbhggbcphfhegjgmcpengbhadlemaaahgnemgfgbhggfhdheaabaemgkgbhggbcphfhegjgmcpemgjhdhedlemaaaegnephahdhbaahoaaafemaaaggnfcgpgphehdhbaahoaaagemaaaignfegpefgeghgfhdhbaahoaaaehihahdhcaacbgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohfhegjgmcoenhfgmhegjengbhaaaaaaaaaaaaaaaacacaaabemaaae
gnengbhahbaahoaaafhihahdhcaabbgkgbhggbcohfhegjgmcoeigbhdgiengbhaafahnkmbmdbgganbadaaacegaaakgmgpgbgeeggbgdhegphcejaaajhegihcgfhdgigpgmgehihadpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaaahihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaabhdhcaacegphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcelgfhjaaaaaaaaaaaaaaabacaaacekaaacgjgeemaaafhdgdgphagfheaabcemgkgbhggbcpgmgbgoghcpfdhehcgjgoghdlhihaaaaaaaaaaaaaaahiheaaafhdgdgphagfhdhcaafjgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpgoephagfhcgbhegphchdcofaepfahcgpgkgfgdheaaaaaaaaaaaaaaabacaaaffkaaakgphggfhcgmgpgbgegfgefkaabfhahcgpgdgfhdhdgjgoghecgbghepggfehfhagmgfhdfkaabehcgfhdhfgmhefdgjgoghgmgffehfhagmgfecgbghfkaaaehdhegbhcemaaahgdgpgmhfgngohdheaabfemgkgbhggbcphfhegjgmcpebhchcgbhjemgjhdhedlhihcaagcgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpg
oephagfhcgbhegphchdcoefhihahcgfhdhdgjgpgoephagfhcgbhegphcaaaaaaaaaaaaaaabacaaabemaaadgmgpghheaacaemgphcghcpgbhagbgdgigfcpgdgpgngngpgohdcpgmgpghghgjgoghcpemgpghdlhihcaaemgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccofagihjhdgjgdgbgmephagfhcgbhegphcaaaaaaaaaaaaaaabacaaamfkaaafgbgdgdhfgnfkaaangjgohahfheebhehegbgdgigfgeejaabehcgfhbhfgfhdhegfgefagbhcgbgmgmgfgmgjhdgnecaaakhcgfhdhfgmhefehjhagfemaaafgbgmgjgbhdhbaahoaaaoemaaafgjgohahfheheaablemgphcghcpgbhagbgdgigfcphagjghcpgegbhegbcpfehfhagmgfdlemaaaggjgohahfhehdhbaahoaaagemaaangmgjgogfgbghgffehcgbgdgfhcheaachemgphcghcpgbhagbgdgigfcphagjghcphagfgocphfhegjgmcpemgjgogfgbghgffehcgbgdgfhcdlemaaadgmgpghhbaahoaabeemaaahgphfhehahfhehdhbaahoaaagemaaakhagbhcgfgohefagmgbgoheaafaemgphcghcpgbhagbgdgigfcphagjghcpgcgbgdglgfgogecpgigbgegpgphacpgfhigfgdhfhegjgpgogfgoghgjgogfcphagihjhdgjgdgbgmemgbhjgfhccphagmgbgohdcpfagihjhdgjgdgbgmfagmgbgodlemaaadhcgfhdheaaeeemgphcghcpgbhagbgd
gigfcphagjghcpgcgbgdglgfgogecpgigbgegpgphacpgfhigfgdhfhegjgpgogfgoghgjgogfcphagihjhdgjgdgbgmemgbhjgfhccpfcgfhdhfgmhedlhihcaacbgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcaaaaaaaaaaaaaaabacaaabemaaaegnelgfhjheaacgemgphcghcpgbhagbgdgigfcphagjghcpgjgnhagmcphagmgbgocpephagfhcgbhegphcelgfhjdlhihahbaahoaaapaaaappppppppdchahahahahdhcaaclgphcghcogbhagbgdgigfcogdgpgngngpgohdcogmgpghghgjgoghcogjgnhagmcoemgpghdeekemgpghghgfhccikmpnoicknfncdiacaaabemaaaegogbgngfhbaahoaaaohihaheaafjgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpgoephagfhcgbhegphchdcofaepfahcgpgkgfgdhehahahdhcaaecgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccofcgfhdhfgmheaaaaaaaaaaaaaaabacaaacecaaamhcgfhehfhcgofdhegbhehfhdemaaaghcgfhdhfgmheheaabcemgkgbhggbcpgmgbgoghcpepgcgkgfgdhedlhihaachahbaahoaaboaaaaaaaahdhbaahoaaaaaaaaaaabhhaeaaaaaaabh
dhcaabbgkgbhggbcogmgbgoghcoejgohegfghgfhcbcockakephibihdiacaaabejaaafhggbgmhfgfhihcaabagkgbhggbcogmgbgoghcoeohfgngcgfhcigkmjfbnaljeoailacaaaahihaaaaaaaaahihihdhbaahoaaaaaaaaaaabhhaeaaaaaaakhbaahoaabmhihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaabhbaahoaabmhbaahoaaaphihdhbaahoaaaaaaaaaaaahhaeaaaaaaakhihdhbaahoaaaihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaaahiaahi','','b','scope','true')) - scope-118
\ No newline at end of file
+ | |---Load(/tmp/input2:org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MergeJoinIndexer('org.apache.pig.builtin.PigStorage','kmonaaafhdhcaabdgkgbhggbcohfhegjgmcoebhchcgbhjemgjhdhehiibncbnjjmhgbjnadaaabejaaaehdgjhkgfhihaaaaaaaabhhaeaaaaaaabhdhcaaeogphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccohagmgbgohdcofagihjhdgjgdgbgmfagmgbgoaaaaaaaaaaaaaaabacaaabfkaaangfgogeepggebgmgmejgohahfhehihcaacfgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcfagmgbgogpkikkjgaddcgofpacaaagemaaakgneghcgpgnefgeghgfhdheaacdemgphcghcpgbhagbgdgigfcphagjghcpgjgnhagmcphfhegjgmcpenhfgmhegjengbhadlemaaafgnelgfhjhdheaaapemgkgbhggbcphfhegjgmcpengbhadlemaaahgnemgfgbhggfhdheaabaemgkgbhggbcphfhegjgmcpemgjhdhedlemaaaegnephahdhbaahoaaafemaaaggnfcgpgphehdhbaahoaaagemaaaignfegpefgeghgfhdhbaahoaaaehihahdhcaacbgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohfhegjgmcoenhfgmhegjengbhaaaaaaaaaaaaaaaacacaaabemaaaegnengbh
ahbaahoaaafhihahdhcaabbgkgbhggbcohfhegjgmcoeigbhdgiengbhaafahnkmbmdbgganbadaaacegaaakgmgpgbgeeggbgdhegphcejaaajhegihcgfhdgigpgmgehihadpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaaahihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaabhdhcaacegphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcelgfhjaaaaaaaaaaaaaaabacaaacekaaacgjgeemaaafhdgdgphagfheaabcemgkgbhggbcpgmgbgoghcpfdhehcgjgoghdlhihaaaaaaaaaaaaaaahiheaaafhdgdgphagfhdhcaafjgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpgoephagfhcgbhegphchdcofaepfahcgpgkgfgdheaaaaaaaaaaaaaaabacaaaffkaaakgphggfhcgmgpgbgegfgefkaabfhahcgpgdgfhdhdgjgoghecgbghepggfehfhagmgfhdfkaabehcgfhdhfgmhefdgjgoghgmgffehfhagmgfecgbghfkaaaehdhegbhcemaaahgdgpgmhfgngohdheaabfemgkgbhggbcphfhegjgmcpebhchcgbhjemgjhdhedlhihcaagcgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpgoephagf
hcgbhegphchdcoefhihahcgfhdhdgjgpgoephagfhcgbhegphcaaaaaaaaaaaaaaabacaaabemaaadgmgpghheaacaemgphcghcpgbhagbgdgigfcpgdgpgngngpgohdcpgmgpghghgjgoghcpemgpghdlhihcaaemgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccofagihjhdgjgdgbgmephagfhcgbhegphcaaaaaaaaaaaaaaabacaaamfkaaafgbgdgdhfgnfkaaangjgohahfheebhehegbgdgigfgeejaabehcgfhbhfgfhdhegfgefagbhcgbgmgmgfgmgjhdgnecaaakhcgfhdhfgmhefehjhagfemaaafgbgmgjgbhdhbaahoaaaoemaaafgjgohahfheheaablemgphcghcpgbhagbgdgigfcphagjghcpgegbhegbcpfehfhagmgfdlemaaaggjgohahfhehdhbaahoaaagemaaangmgjgogfgbghgffehcgbgdgfhcheaachemgphcghcpgbhagbgdgigfcphagjghcphagfgocphfhegjgmcpemgjgogfgbghgffehcgbgdgfhcdlemaaadgmgpghhbaahoaabeemaaahgphfhehahfhehdhbaahoaaagemaaakhagbhcgfgohefagmgbgoheaafaemgphcghcpgbhagbgdgigfcphagjghcpgcgbgdglgfgogecpgigbgegpgphacpgfhigfgdhfhegjgpgogfgoghgjgogfcphagihjhdgjgdgbgmemgbhjgfhccphagmgbgohdcpfagihjhdgjgdgbgmfagmgbgodlemaaadhcgfhdheaaeeemgphcghcpgbhagbgdgigfcph
agjghcpgcgbgdglgfgogecpgigbgegpgphacpgfhigfgdhfhegjgpgogfgoghgjgogfcphagihjhdgjgdgbgmemgbhjgfhccpfcgfhdhfgmhedlhihcaacbgphcghcogbhagbgdgigfcohagjghcogjgnhagmcohagmgbgocoephagfhcgbhegphcaaaaaaaaaaaaaaabacaaabemaaaegnelgfhjheaacgemgphcghcpgbhagbgdgigfcphagjghcpgjgnhagmcphagmgbgocpephagfhcgbhegphcelgfhjdlhihahbaahoaaapaaaappppppppdchahahahahdhcaaclgphcghcogbhagbgdgigfcogdgpgngngpgohdcogmgpghghgjgoghcogjgnhagmcoemgpghdeekemgpghghgfhccikmpnoicknfncdiacaaabemaaaegogbgngfhbaahoaaaohihaheaafjgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccogfhihahcgfhdhdgjgpgoephagfhcgbhegphchdcofaepfahcgpgkgfgdhehahahdhcaaecgphcghcogbhagbgdgigfcohagjghcogcgbgdglgfgogecogigbgegpgphacogfhigfgdhfhegjgpgogfgoghgjgogfcohagihjhdgjgdgbgmemgbhjgfhccofcgfhdhfgmheaaaaaaaaaaaaaaabacaaacecaaamhcgfhehfhcgofdhegbhehfhdemaaaghcgfhdhfgmheheaabcemgkgbhggbcpgmgbgoghcpepgcgkgfgdhedlhihaachahbaahoaaboaaaaaaaahdhbaahoaaaaaaaaaaabhhaeaaaaaaabhdhcaabb
gkgbhggbcogmgbgoghcoejgohegfghgfhcbcockakephibihdiacaaabejaaafhggbgmhfgfhihcaabagkgbhggbcogmgbgoghcoeohfgngcgfhcigkmjfbnaljeoailacaaaahihaaaaaaaaahihihdhbaahoaaaaaaaaaaabhhaeaaaaaaakhbaahoaabmhihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaabhbaahoaabmhbaahoaaaphihdhbaahoaaaaaaaaaaaahhaeaaaaaaakhihdhbaahoaaaihdhbaahoaaakdpeaaaaaaaaaaaamhhaiaaaaaabaaaaaaaaahiaahi','','b','scope','true')) - scope-118
\ No newline at end of file