You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by ya...@apache.org on 2010/03/28 14:15:05 UTC
svn commit: r928384 [2/3] - in /hadoop/pig/trunk/contrib/zebra: ./
src/java/org/apache/hadoop/zebra/mapreduce/
src/java/org/apache/hadoop/zebra/pig/ src/test/org/apache/hadoop/zebra/
src/test/org/apache/hadoop/zebra/mapred/ src/test/org/apache/hadoop/z...
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveProjection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveProjection.java?rev=928384&r1=928383&r2=928384&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveProjection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveProjection.java Sun Mar 28 12:15:05 2010
@@ -333,33 +333,35 @@ public class TestOrderPreserveProjection
inputTables.put("table2", "a,b,c"); // input table and sort keys
// Test with input tables and provided output columns
- testOrderPreserveUnion(inputTables, "a,b,c,d,e,f,m1");
+ testOrderPreserveUnion(inputTables, "a,b,c,d,e,f,m1, source_table");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
- addResultRow(resultTable, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
-
- addResultRow(resultTable, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
- addResultRow(resultTable, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
-
- addResultRow(resultTable, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
- addResultRow(resultTable, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
-
- addResultRow(resultTable, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
- addResultRow(resultTable, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
+ addResultRow(rows, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
+ addResultRow(rows, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
+ addResultRow(rows, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
+ addResultRow(rows, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 7, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -379,30 +381,32 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "a,b,c,d,e,f,m1,source_table");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2, 1);
- addResultRow(resultTable, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1, 0);
- addResultRow(resultTable, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1, 0);
- addResultRow(resultTable, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2, 1);
-
- addResultRow(resultTable, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1, 0);
- addResultRow(resultTable, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1, 0);
- addResultRow(resultTable, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2, 1);
- addResultRow(resultTable, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1, 0);
-
- addResultRow(resultTable, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2, 1);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1, 0);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2, 1);
- addResultRow(resultTable, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1, 0);
-
- addResultRow(resultTable, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2, 1);
- addResultRow(resultTable, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1, 0);
- addResultRow(resultTable, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2, 1);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1, 0);
+ addResultRow(rows, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1, 0);
+ addResultRow(rows, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1, 0);
+ addResultRow(rows, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1, 0);
+ addResultRow(rows, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1, 0);
+ addResultRow(rows, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1, 0);
+ addResultRow(rows, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1, 0);
+ addResultRow(rows, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1, 0);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2, 1);
+ addResultRow(rows, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2, 1);
+ addResultRow(rows, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2, 1);
+ addResultRow(rows, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2, 1);
+ addResultRow(rows, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2, 1);
+ addResultRow(rows, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2, 1);
+ addResultRow(rows, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2, 1);
+ resultTable.put(1, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 7, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -491,30 +495,33 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "source_table,e,c,b,a");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 0, "Apple", 1003L, 100.0f, 1001);
- addResultRow(resultTable, 0, "Hadoop", 1000L, 28.0f, 1002);
- addResultRow(resultTable, 0, "Pig", 1000L, 50.0f, 1001);
- addResultRow(resultTable, 0, "Zebra", 1001L, -3.25f, 5);
-
- addResultRow(resultTable, 0, "apple", 1001L, 101.0f, 1001);
- addResultRow(resultTable, 1, "beige", 1006L, 33.0f, 2000);
- addResultRow(resultTable, 1, "brown", 1001L, 53.0f, 1001);
- addResultRow(resultTable, 1, "gray", 1008L, 50.0f, 1001);
-
- addResultRow(resultTable, 1, "green", 1004L, 56.0f, 15);
- addResultRow(resultTable, 0, "hadoop", 1002L, 0.0f, 1000);
- addResultRow(resultTable, 1, "orange", 1002L, -99.0f, -1);
- addResultRow(resultTable, 0, "pig", 1001L, 52.0f, 1001);
-
- addResultRow(resultTable, 1, "purple", 1001L, 102.0f, 1001);
- addResultRow(resultTable, 1, "white", 1003L, 100.0f, 1001);
- addResultRow(resultTable, 0, "zebra", 1000L, 3.25f, -1);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, "Apple", 1003L, 100.0f, 1001);
+ addResultRow(rows, 0, "Hadoop", 1000L, 28.0f, 1002);
+ addResultRow(rows, 0, "Pig", 1000L, 50.0f, 1001);
+ addResultRow(rows, 0, "Zebra", 1001L, -3.25f, 5);
+
+ addResultRow(rows, 0, "apple", 1001L, 101.0f, 1001);
+ addResultRow(rows, 0, "hadoop", 1002L, 0.0f, 1000);
+ addResultRow(rows, 0, "pig", 1001L, 52.0f, 1001);
+ addResultRow(rows, 0, "zebra", 1000L, 3.25f, -1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, "beige", 1006L, 33.0f, 2000);
+ addResultRow(rows, 1, "brown", 1001L, 53.0f, 1001);
+ addResultRow(rows, 1, "gray", 1008L, 50.0f, 1001);
+ addResultRow(rows, 1, "green", 1004L, 56.0f, 15);
+ addResultRow(rows, 1, "orange", 1002L, -99.0f, -1);
+ addResultRow(rows, 1, "purple", 1001L, 102.0f, 1001);
+ addResultRow(rows, 1, "white", 1003L, 100.0f, 1001);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -536,38 +543,42 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "e,c,a,b,d,f,m1,source_table");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, "Apple", 1003L, 1001, 100.0f, 50e+2, new DataByteArray("Apple"), m1, 0);
- addResultRow(resultTable, "Hadoop", 1000L, 1002, 28.0f, 50e+2, new DataByteArray("Hadoop"),m1, 0);
- addResultRow(resultTable, "Pig", 1000L, 1001, 50.0f, 50e+2, new DataByteArray("Pig"), m1, 0);
- addResultRow(resultTable, "Zebra", 1001L, 5, -3.25f, 51e+2, new DataByteArray("Zebra"), m1, 0);
-
- addResultRow(resultTable, "apple", 1001L, 1001, 101.0f, 50e+2, new DataByteArray("apple"), m1, 0);
- addResultRow(resultTable, "beige", 1006L, 2000, 33.0f, 52e+2, new DataByteArray("beige"), m2, 1);
- addResultRow(resultTable, "brown", 1001L, 1001, 53.0f, 52e+2, new DataByteArray("brown"), m2, 1);
- addResultRow(resultTable, "gray", 1008L, 1001, 50.0f, 52e+2, new DataByteArray("gray"), m2, 1);
-
- addResultRow(resultTable, "green", 1004L, 15, 56.0f, 50e+2, new DataByteArray("green"), m2, 1);
- addResultRow(resultTable, "hadoop", 1002L, 1000, 0.0f, 52e+2, new DataByteArray("hadoop"),m1, 0);
- addResultRow(resultTable, "orange", 1002L, -1, -99.0f, 51e+2, new DataByteArray("orange"),m2, 1);
- addResultRow(resultTable, "pig", 1001L, 1001, 52.0f, 50e+2, new DataByteArray("pig"), m1, 0);
-
- addResultRow(resultTable, "purple", 1001L, 1001, 102.0f, 52e+2, new DataByteArray("purple"),m2, 1);
- addResultRow(resultTable, "string0",1000L, null, 3.25f, 53e+2, new DataByteArray("orange"),null, 2);
- addResultRow(resultTable, "string0",1001L, null, 3.26f, 51e+2, new DataByteArray("purple"),null, 2);
- addResultRow(resultTable, "string1",1000L, null, 3.25f, 50e+2, new DataByteArray("blue"), null, 2);
-
- addResultRow(resultTable, "string1",1001L, null, 3.25f, 51e+2, new DataByteArray("green"), null, 2);
- addResultRow(resultTable, "string1",1001L, null, 3.24f, 53e+2, new DataByteArray("yellow"),null, 2);
- addResultRow(resultTable, "string2",1001L, null, 3.28f, 51e+2, new DataByteArray("white"), null, 2);
- addResultRow(resultTable, "white", 1003L, 1001, 100.0f, 55e+2, new DataByteArray("white"), m2, 1);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, "zebra", 1000L, -1, 3.25f, 50e+2, new DataByteArray("zebra"), m1, 0);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "Apple", 1003L, 1001, 100.0f, 50e+2, new DataByteArray("Apple"), m1, 0);
+ addResultRow(rows, "Hadoop", 1000L, 1002, 28.0f, 50e+2, new DataByteArray("Hadoop"),m1, 0);
+ addResultRow(rows, "Pig", 1000L, 1001, 50.0f, 50e+2, new DataByteArray("Pig"), m1, 0);
+ addResultRow(rows, "Zebra", 1001L, 5, -3.25f, 51e+2, new DataByteArray("Zebra"), m1, 0);
+ addResultRow(rows, "apple", 1001L, 1001, 101.0f, 50e+2, new DataByteArray("apple"), m1, 0);
+ addResultRow(rows, "hadoop", 1002L, 1000, 0.0f, 52e+2, new DataByteArray("hadoop"),m1, 0);
+ addResultRow(rows, "pig", 1001L, 1001, 52.0f, 50e+2, new DataByteArray("pig"), m1, 0);
+ addResultRow(rows, "zebra", 1000L, -1, 3.25f, 50e+2, new DataByteArray("zebra"), m1, 0);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "beige", 1006L, 2000, 33.0f, 52e+2, new DataByteArray("beige"), m2, 1);
+ addResultRow(rows, "brown", 1001L, 1001, 53.0f, 52e+2, new DataByteArray("brown"), m2, 1);
+ addResultRow(rows, "gray", 1008L, 1001, 50.0f, 52e+2, new DataByteArray("gray"), m2, 1);
+ addResultRow(rows, "green", 1004L, 15, 56.0f, 50e+2, new DataByteArray("green"), m2, 1);
+ addResultRow(rows, "orange", 1002L, -1, -99.0f, 51e+2, new DataByteArray("orange"),m2, 1);
+ addResultRow(rows, "purple", 1001L, 1001, 102.0f, 52e+2, new DataByteArray("purple"),m2, 1);
+ addResultRow(rows, "white", 1003L, 1001, 100.0f, 55e+2, new DataByteArray("white"), m2, 1);
+ resultTable.put(1, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "string0",1000L, null, 3.25f, 53e+2, new DataByteArray("orange"),null, 2);
+ addResultRow(rows, "string0",1001L, null, 3.26f, 51e+2, new DataByteArray("purple"),null, 2);
+ addResultRow(rows, "string1",1000L, null, 3.25f, 50e+2, new DataByteArray("blue"), null, 2);
+ addResultRow(rows, "string1",1001L, null, 3.25f, 51e+2, new DataByteArray("green"), null, 2);
+ addResultRow(rows, "string1",1001L, null, 3.24f, 53e+2, new DataByteArray("yellow"),null, 2);
+ addResultRow(rows, "string2",1001L, null, 3.28f, 51e+2, new DataByteArray("white"), null, 2);
+ resultTable.put(2, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 7, it);
Assert.assertEquals(numbRows, table1.length + table2.length + table5.length);
}
@@ -588,38 +599,42 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "b,a,source_table,c,d,f,m1,e");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 100.0f, 1001, 0, 1003L, 50e+2, new DataByteArray("Apple"), m1, "Apple");
- addResultRow(resultTable, 28.0f, 1002, 0, 1000L, 50e+2, new DataByteArray("Hadoop"),m1, "Hadoop");
- addResultRow(resultTable, 50.0f, 1001, 0, 1000L, 50e+2, new DataByteArray("Pig"), m1, "Pig");
- addResultRow(resultTable, -3.25f, 5, 0, 1001L, 51e+2, new DataByteArray("Zebra"), m1, "Zebra");
-
- addResultRow(resultTable, 101.0f, 1001, 0, 1001L, 50e+2, new DataByteArray("apple"), m1, "apple");
- addResultRow(resultTable, 33.0f, 2000, 1, 1006L, 52e+2, new DataByteArray("beige"), m2, "beige");
- addResultRow(resultTable, 53.0f, 1001, 1, 1001L, 52e+2, new DataByteArray("brown"), m2, "brown");
- addResultRow(resultTable, 50.0f, 1001, 1, 1008L, 52e+2, new DataByteArray("gray"), m2, "gray");
-
- addResultRow(resultTable, 56.0f, 15, 1, 1004L, 50e+2, new DataByteArray("green"), m2, "green");
- addResultRow(resultTable, 0.0f, 1000, 0, 1002L, 52e+2, new DataByteArray("hadoop"),m1, "hadoop");
- addResultRow(resultTable, -99.0f, -1, 1, 1002L, 51e+2, new DataByteArray("orange"),m2, "orange");
- addResultRow(resultTable, 52.0f, 1001, 0, 1001L, 50e+2, new DataByteArray("pig"), m1, "pig");
-
- addResultRow(resultTable, 102.0f, 1001, 1, 1001L, 52e+2, new DataByteArray("purple"),m2, "purple");
- addResultRow(resultTable, 3.26f, null, 2, 1001L, 51e+2, new DataByteArray("purple"),null,"string0");
- addResultRow(resultTable, 3.25f, null, 2, 1000L, 53e+2, new DataByteArray("orange"),null,"string0");
- addResultRow(resultTable, 3.25f, null, 2, 1001L, 51e+2, new DataByteArray("green"), null,"string1");
-
- addResultRow(resultTable, 3.25f, null, 2, 1000L, 50e+2, new DataByteArray("blue"), null,"string1");
- addResultRow(resultTable, 3.24f, null, 2, 1001L, 53e+2, new DataByteArray("yellow"),null,"string1");
- addResultRow(resultTable, 3.28f, null, 2, 1001L, 51e+2, new DataByteArray("white"), null,"string2");
- addResultRow(resultTable, 100.0f, 1001, 1, 1003L, 55e+2, new DataByteArray("white"), m2, "white");
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, 3.25f, -1, 0, 1000L, 50e+2, new DataByteArray("zebra"), m1, "zebra");
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 100.0f, 1001, 0, 1003L, 50e+2, new DataByteArray("Apple"), m1, "Apple");
+ addResultRow(rows, 28.0f, 1002, 0, 1000L, 50e+2, new DataByteArray("Hadoop"),m1, "Hadoop");
+ addResultRow(rows, 50.0f, 1001, 0, 1000L, 50e+2, new DataByteArray("Pig"), m1, "Pig");
+ addResultRow(rows, -3.25f, 5, 0, 1001L, 51e+2, new DataByteArray("Zebra"), m1, "Zebra");
+ addResultRow(rows, 101.0f, 1001, 0, 1001L, 50e+2, new DataByteArray("apple"), m1, "apple");
+ addResultRow(rows, 0.0f, 1000, 0, 1002L, 52e+2, new DataByteArray("hadoop"),m1, "hadoop");
+ addResultRow(rows, 52.0f, 1001, 0, 1001L, 50e+2, new DataByteArray("pig"), m1, "pig");
+ addResultRow(rows, 3.25f, -1, 0, 1000L, 50e+2, new DataByteArray("zebra"), m1, "zebra");
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 33.0f, 2000, 1, 1006L, 52e+2, new DataByteArray("beige"), m2, "beige");
+ addResultRow(rows, 53.0f, 1001, 1, 1001L, 52e+2, new DataByteArray("brown"), m2, "brown");
+ addResultRow(rows, 50.0f, 1001, 1, 1008L, 52e+2, new DataByteArray("gray"), m2, "gray");
+ addResultRow(rows, 56.0f, 15, 1, 1004L, 50e+2, new DataByteArray("green"), m2, "green");
+ addResultRow(rows, -99.0f, -1, 1, 1002L, 51e+2, new DataByteArray("orange"),m2, "orange");
+ addResultRow(rows, 102.0f, 1001, 1, 1001L, 52e+2, new DataByteArray("purple"),m2, "purple");
+ addResultRow(rows, 100.0f, 1001, 1, 1003L, 55e+2, new DataByteArray("white"), m2, "white");
+ resultTable.put(1, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 3.26f, null, 2, 1001L, 51e+2, new DataByteArray("purple"),null,"string0");
+ addResultRow(rows, 3.25f, null, 2, 1000L, 53e+2, new DataByteArray("orange"),null,"string0");
+ addResultRow(rows, 3.25f, null, 2, 1001L, 51e+2, new DataByteArray("green"), null,"string1");
+
+ addResultRow(rows, 3.25f, null, 2, 1000L, 50e+2, new DataByteArray("blue"), null,"string1");
+ addResultRow(rows, 3.24f, null, 2, 1001L, 53e+2, new DataByteArray("yellow"),null,"string1");
+ addResultRow(rows, 3.28f, null, 2, 1001L, 51e+2, new DataByteArray("white"), null,"string2");
+ resultTable.put(2, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 7, it);
+ int numbRows = verifyTable(resultTable, 7, 2, it);
Assert.assertEquals(numbRows, table1.length + table2.length + table5.length);
}
@@ -645,38 +660,39 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "e,source_table,b,c,int1,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, "Apple", 0, 100.0f, 1003L, null, new DataByteArray("Apple"), m1);
- addResultRow(resultTable, "Hadoop", 0, 28.0f, 1000L, null, new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, "Pig", 0, 50.0f, 1000L, null, new DataByteArray("Pig"), m1);
- addResultRow(resultTable, "Zebra", 0, -3.25f, 1001L, null, new DataByteArray("Zebra"), m1);
-
- addResultRow(resultTable, "apple", 0, 101.0f, 1001L, null, new DataByteArray("apple"), m1);
- addResultRow(resultTable, "beige", 1, 33.0f, 1006L, null, new DataByteArray("beige"), m2);
- addResultRow(resultTable, "brown", 1, 53.0f, 1001L, null, new DataByteArray("brown"), m2);
- addResultRow(resultTable, "gray", 1, 50.0f, 1008L, null, new DataByteArray("gray"), m2);
-
- addResultRow(resultTable, "green", 1, 56.0f, 1004L, null, new DataByteArray("green"), m2);
- addResultRow(resultTable, "hadoop", 0, 0.0f, 1002L, null, new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, "orange", 1, -99.0f, 1002L, null, new DataByteArray("orange"),m2);
- addResultRow(resultTable, "pig", 0, 52.0f, 1001L, null, new DataByteArray("pig"), m1);
-
- addResultRow(resultTable, "purple", 1, 102.0f, 1001L, null, new DataByteArray("purple"),m2);
- addResultRow(resultTable, "string0",2, 3.26f, 1001L, 100, new DataByteArray("purple"),null);
- addResultRow(resultTable, "string0",2, 3.25f, 1000L, 100, new DataByteArray("orange"),null);
- addResultRow(resultTable, "string1",2, 3.25f, 1001L, 100, new DataByteArray("green"),null);
-
- addResultRow(resultTable, "string1",2, 3.25f, 1000L, 100, new DataByteArray("blue"),null);
- addResultRow(resultTable, "string1",2, 3.24f, 1001L, 100, new DataByteArray("yellow"),null);
- addResultRow(resultTable, "string2",2, 3.28f, 1001L, 100, new DataByteArray("white"),null);
- addResultRow(resultTable, "white", 1, 100.0f, 1003L, null, new DataByteArray("white"), m2);
-
- addResultRow(resultTable, "zebra", 0, 3.25f, 1000L, null, new DataByteArray("zebra"), m1);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "Apple", 0, 100.0f, 1003L, null, new DataByteArray("Apple"), m1);
+ addResultRow(rows, "Hadoop", 0, 28.0f, 1000L, null, new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, "Pig", 0, 50.0f, 1000L, null, new DataByteArray("Pig"), m1);
+ addResultRow(rows, "Zebra", 0, -3.25f, 1001L, null, new DataByteArray("Zebra"), m1);
+ addResultRow(rows, "apple", 0, 101.0f, 1001L, null, new DataByteArray("apple"), m1);
+ addResultRow(rows, "hadoop", 0, 0.0f, 1002L, null, new DataByteArray("hadoop"),m1);
+ addResultRow(rows, "pig", 0, 52.0f, 1001L, null, new DataByteArray("pig"), m1);
+ addResultRow(rows, "zebra", 0, 3.25f, 1000L, null, new DataByteArray("zebra"), m1);
+ resultTable.put(0, rows);
+
+ addResultRow(rows, "beige", 1, 33.0f, 1006L, null, new DataByteArray("beige"), m2);
+ addResultRow(rows, "brown", 1, 53.0f, 1001L, null, new DataByteArray("brown"), m2);
+ addResultRow(rows, "gray", 1, 50.0f, 1008L, null, new DataByteArray("gray"), m2);
+ addResultRow(rows, "green", 1, 56.0f, 1004L, null, new DataByteArray("green"), m2);
+ addResultRow(rows, "orange", 1, -99.0f, 1002L, null, new DataByteArray("orange"),m2);
+ addResultRow(rows, "purple", 1, 102.0f, 1001L, null, new DataByteArray("purple"),m2);
+ addResultRow(rows, "white", 1, 100.0f, 1003L, null, new DataByteArray("white"), m2);
+ resultTable.put(1, rows);
+
+ addResultRow(rows, "string0",2, 3.26f, 1001L, 100, new DataByteArray("purple"),null);
+ addResultRow(rows, "string0",2, 3.25f, 1000L, 100, new DataByteArray("orange"),null);
+ addResultRow(rows, "string1",2, 3.25f, 1001L, 100, new DataByteArray("green"),null);
+ addResultRow(rows, "string1",2, 3.25f, 1000L, 100, new DataByteArray("blue"),null);
+ addResultRow(rows, "string1",2, 3.24f, 1001L, 100, new DataByteArray("yellow"),null);
+ addResultRow(rows, "string2",2, 3.28f, 1001L, 100, new DataByteArray("white"),null);
+ resultTable.put(2, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 1, it);
Assert.assertEquals(numbRows, table1.length + table2.length + table5.length);
}
@@ -699,58 +715,63 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "e,source_table,a,b,c,m1,int1,str1,str2,str3,str4,map1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, "Apple", 0, 1001, 100.0f, 1003L, m1, null, null, null, null, null, null);
- addResultRow(resultTable, "Hadoop", 0, 1002, 28.0f, 1000L, m1, null, null, null, null, null, null);
- addResultRow(resultTable, "Pig", 0, 1001, 50.0f, 1000L, m1, null, null, null, null, null, null);
- addResultRow(resultTable, "Zebra", 0, 5, -3.25f, 1001L, m1, null, null, null, null, null, null);
-
- addResultRow(resultTable, "a 1", 1, null, null, null, null, 8, "Reno", "Nevada", null, null, m3);
- addResultRow(resultTable, "a 1", 4, null, null, null, null, null, null, null, "Reno", "Nevada", null);
- addResultRow(resultTable, "a 2", 1, null, null, null, null, 7, "Dallas", "Texas", null, null, m3);
- addResultRow(resultTable, "a 2", 4, null, null, null, null, null, null, null, "Dallas", "Texas", null);
-
- addResultRow(resultTable, "a 3", 1, null, null, null, null, 6, "Phoenix", "Arizona", null, null, m3);
- addResultRow(resultTable, "a 3", 4, null, null, null, null, null, null, null, "Phoenix", "Arizona", null);
- addResultRow(resultTable, "a 4", 1, null, null, null, null, 5, "New York", "New York", null, null, m3);
- addResultRow(resultTable, "a 4", 4, null, null, null, null, null, null, null, "New York", "New York", null);
-
- addResultRow(resultTable, "a 5", 1, null, null, null, null, 4, "Las Vegas","Nevada", null, null, m3);
- addResultRow(resultTable, "a 5", 4, null, null, null, null, null, null, null, "Las Vegas","Nevada", null);
- addResultRow(resultTable, "a 6", 1, null, null, null, null, 3, "Santa Cruz","California", null, null, m3);
- addResultRow(resultTable, "a 6", 4, null, null, null, null, null, null, null, "Santa Cruz","California", null);
-
- addResultRow(resultTable, "a 7", 1, null, null, null, null, 2, "San Jose","California",null, null, m3);
- addResultRow(resultTable, "a 7", 4, null, null, null, null, null, null, null, "San Jose","California", null);
- addResultRow(resultTable, "a 8", 1, null, null, null, null, 1, "Cupertino","California",null, null, m3);
- addResultRow(resultTable, "a 8", 4, null, null, null, null, null, null, null, "Cupertino","California", null);
-
- addResultRow(resultTable, "apple", 0, 1001, 101.0f, 1001L, m1, null, null, null, null, null, null);
- addResultRow(resultTable, "beige", 2, 2000, 33.0f, 1006L, m2, null, null, null, null, null, null);
- addResultRow(resultTable, "brown", 2, 1001, 53.0f, 1001L, m2, null, null, null, null, null, null);
- addResultRow(resultTable, "gray", 2, 1001, 50.0f, 1008L, m2, null, null, null, null, null, null);
-
- addResultRow(resultTable, "green", 2, 15, 56.0f, 1004L, m2, null, null, null, null, null, null);
- addResultRow(resultTable, "hadoop", 0, 1000, 0.0f, 1002L, m1, null, null, null, null, null, null);
- addResultRow(resultTable, "orange", 2, -1, -99.0f, 1002L, m2, null, null, null, null, null, null);
- addResultRow(resultTable, "pig", 0, 1001, 52.0f, 1001L, m1, null, null, null, null, null, null);
-
- addResultRow(resultTable, "purple", 2, 1001, 102.0f, 1001L, m2, null, null, null, null, null, null);
- addResultRow(resultTable, "string0",3, null, 3.26f, 1001L, null, 100, null, null, null, null, null);
- addResultRow(resultTable, "string0",3, null, 3.25f, 1000L, null, 100, null, null, null, null, null);
- addResultRow(resultTable, "string1",3, null, 3.25f, 1001L, null, 100, null, null, null, null, null);
-
- addResultRow(resultTable, "string1",3, null, 3.25f, 1000L, null, 100, null, null, null, null, null);
- addResultRow(resultTable, "string1",3, null, 3.24f, 1001L, null, 100, null, null, null, null, null);
- addResultRow(resultTable, "string2",3, null, 3.28f, 1001L, null, 100, null, null, null, null, null);
- addResultRow(resultTable, "white", 2, 1001, 100.0f, 1003L, m2, null, null, null, null, null, null);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, "zebra", 0, -1, 3.25f, 1000L, m1, null, null, null, null, null, null);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "Apple", 0, 1001, 100.0f, 1003L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "Hadoop", 0, 1002, 28.0f, 1000L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "Pig", 0, 1001, 50.0f, 1000L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "Zebra", 0, 5, -3.25f, 1001L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "apple", 0, 1001, 101.0f, 1001L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "hadoop", 0, 1000, 0.0f, 1002L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "pig", 0, 1001, 52.0f, 1001L, m1, null, null, null, null, null, null);
+ addResultRow(rows, "zebra", 0, -1, 3.25f, 1000L, m1, null, null, null, null, null, null);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "a 1", 1, null, null, null, null, 8, "Reno", "Nevada", null, null, m3);
+ addResultRow(rows, "a 2", 1, null, null, null, null, 7, "Dallas", "Texas", null, null, m3);
+ addResultRow(rows, "a 3", 1, null, null, null, null, 6, "Phoenix", "Arizona", null, null, m3);
+ addResultRow(rows, "a 4", 1, null, null, null, null, 5, "New York", "New York", null, null, m3);
+ addResultRow(rows, "a 5", 1, null, null, null, null, 4, "Las Vegas","Nevada", null, null, m3);
+ addResultRow(rows, "a 6", 1, null, null, null, null, 3, "Santa Cruz","California", null, null, m3);
+ addResultRow(rows, "a 7", 1, null, null, null, null, 2, "San Jose","California",null, null, m3);
+ addResultRow(rows, "a 8", 1, null, null, null, null, 1, "Cupertino","California",null, null, m3);
+ resultTable.put(1, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "beige", 2, 2000, 33.0f, 1006L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "brown", 2, 1001, 53.0f, 1001L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "gray", 2, 1001, 50.0f, 1008L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "green", 2, 15, 56.0f, 1004L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "orange", 2, -1, -99.0f, 1002L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "purple", 2, 1001, 102.0f, 1001L, m2, null, null, null, null, null, null);
+ addResultRow(rows, "white", 2, 1001, 100.0f, 1003L, m2, null, null, null, null, null, null);
+ resultTable.put(2, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "string0",3, null, 3.26f, 1001L, null, 100, null, null, null, null, null);
+ addResultRow(rows, "string0",3, null, 3.25f, 1000L, null, 100, null, null, null, null, null);
+ addResultRow(rows, "string1",3, null, 3.25f, 1001L, null, 100, null, null, null, null, null);
+ addResultRow(rows, "string1",3, null, 3.25f, 1000L, null, 100, null, null, null, null, null);
+ addResultRow(rows, "string1",3, null, 3.24f, 1001L, null, 100, null, null, null, null, null);
+ addResultRow(rows, "string2",3, null, 3.28f, 1001L, null, 100, null, null, null, null, null);
+ resultTable.put(3, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "a 1", 4, null, null, null, null, null, null, null, "Reno", "Nevada", null);
+ addResultRow(rows, "a 2", 4, null, null, null, null, null, null, null, "Dallas", "Texas", null);
+ addResultRow(rows, "a 3", 4, null, null, null, null, null, null, null, "Phoenix", "Arizona", null);
+ addResultRow(rows, "a 4", 4, null, null, null, null, null, null, null, "New York", "New York", null);
+ addResultRow(rows, "a 5", 4, null, null, null, null, null, null, null, "Las Vegas","Nevada", null);
+ addResultRow(rows, "a 6", 4, null, null, null, null, null, null, null, "Santa Cruz","California", null);
+ addResultRow(rows, "a 7", 4, null, null, null, null, null, null, null, "San Jose","California", null);
+ addResultRow(rows, "a 8", 4, null, null, null, null, null, null, null, "Cupertino","California", null);
+ resultTable.put(4, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 1, it);
Assert.assertEquals(numbRows, table1.length + table2.length + table3.length +
table5.length + table6.length);
@@ -771,30 +792,32 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "e,source_table,xx,yy,zz"); // extra undefined columns
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, "Apple", 0, null, null, null);
- addResultRow(resultTable, "Hadoop", 0, null, null, null);
- addResultRow(resultTable, "Pig", 0, null, null, null);
- addResultRow(resultTable, "Zebra", 0, null, null, null);
-
- addResultRow(resultTable, "apple", 0, null, null, null);
- addResultRow(resultTable, "beige", 1, null, null, null);
- addResultRow(resultTable, "brown", 1, null, null, null);
- addResultRow(resultTable, "gray", 1, null, null, null);
-
- addResultRow(resultTable, "green", 1, null, null, null);
- addResultRow(resultTable, "hadoop", 0, null, null, null);
- addResultRow(resultTable, "orange", 1, null, null, null);
- addResultRow(resultTable, "pig", 0, null, null, null);
-
- addResultRow(resultTable, "purple", 1, null, null, null);
- addResultRow(resultTable, "white", 1, null, null, null);
- addResultRow(resultTable, "zebra", 0, null, null, null);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "Apple", 0, null, null, null);
+ addResultRow(rows, "Hadoop", 0, null, null, null);
+ addResultRow(rows, "Pig", 0, null, null, null);
+ addResultRow(rows, "Zebra", 0, null, null, null);
+ addResultRow(rows, "apple", 0, null, null, null);
+ addResultRow(rows, "hadoop", 0, null, null, null);
+ addResultRow(rows, "pig", 0, null, null, null);
+ addResultRow(rows, "zebra", 0, null, null, null);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, "beige", 1, null, null, null);
+ addResultRow(rows, "brown", 1, null, null, null);
+ addResultRow(rows, "gray", 1, null, null, null);
+ addResultRow(rows, "green", 1, null, null, null);
+ addResultRow(rows, "orange", 1, null, null, null);
+ addResultRow(rows, "purple", 1, null, null, null);
+ addResultRow(rows, "white", 1, null, null, null);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 1, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -811,33 +834,35 @@ public class TestOrderPreserveProjection
inputTables.put("table2", "a,b"); // input table and sort keys
// Test with input tables and provided output columns
- testOrderPreserveUnion(inputTables, "a, b, c ,,, d , e,,,"); // extra commas and spaces
+ testOrderPreserveUnion(inputTables, "source_table, a, b, c ,,, d , e,,,"); // extra commas and spaces
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, -1, -99.0f, 1002L, null, null, 51e+2, "orange");
- addResultRow(resultTable, -1, 3.25f, 1000L, null, null, 50e+2, "zebra");
- addResultRow(resultTable, 5, -3.25f, 1001L, null, null, 51e+2, "Zebra");
- addResultRow(resultTable, 15, 56.0f, 1004L, null, null, 50e+2, "green");
-
- addResultRow(resultTable, 1000, 0.0f, 1002L, null, null, 52e+2, "hadoop");
- addResultRow(resultTable, 1001, 50.0f, 1008L, null, null, 52e+2, "gray");
- addResultRow(resultTable, 1001, 50.0f, 1000L, null, null, 50e+2, "Pig");
- addResultRow(resultTable, 1001, 52.0f, 1001L, null, null, 50e+2, "pig");
-
- addResultRow(resultTable, 1001, 53.0f, 1001L, null, null, 52e+2, "brown");
- addResultRow(resultTable, 1001, 100.0f, 1003L, null, null, 50e+2, "Apple");
- addResultRow(resultTable, 1001, 100.0f, 1003L, null, null, 55e+2, "white");
- addResultRow(resultTable, 1001, 101.0f, 1001L, null, null, 50e+2, "apple");
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, 1001, 102.0f, 1001L, null, null, 52e+2, "purple");
- addResultRow(resultTable, 1002, 28.0f, 1000L, null, null, 50e+2, "Hadoop");
- addResultRow(resultTable, 2000, 33.0f, 1006L, null, null, 52e+2, "beige");
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, -1, 3.25f, 1000L, null, null, 50e+2, "zebra");
+ addResultRow(rows, 0, 5, -3.25f, 1001L, null, null, 51e+2, "Zebra");
+ addResultRow(rows, 0, 1000, 0.0f, 1002L, null, null, 52e+2, "hadoop");
+ addResultRow(rows, 0, 1001, 50.0f, 1000L, null, null, 50e+2, "Pig");
+ addResultRow(rows, 0, 1001, 52.0f, 1001L, null, null, 50e+2, "pig");
+ addResultRow(rows, 0, 1001, 100.0f, 1003L, null, null, 50e+2, "Apple");
+ addResultRow(rows, 0, 1001, 101.0f, 1001L, null, null, 50e+2, "apple");
+ addResultRow(rows, 0, 1002, 28.0f, 1000L, null, null, 50e+2, "Hadoop");
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, -1, -99.0f, 1002L, null, null, 51e+2, "orange");
+ addResultRow(rows, 1, 15, 56.0f, 1004L, null, null, 50e+2, "green");
+ addResultRow(rows, 1, 1001, 50.0f, 1008L, null, null, 52e+2, "gray");
+ addResultRow(rows, 1, 1001, 53.0f, 1001L, null, null, 52e+2, "brown");
+ addResultRow(rows, 1, 1001, 100.0f, 1003L, null, null, 55e+2, "white");
+ addResultRow(rows, 1, 1001, 102.0f, 1001L, null, null, 52e+2, "purple");
+ addResultRow(rows, 1, 2000, 33.0f, 1006L, null, null, 52e+2, "beige");
+ resultTable.put(1, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -857,79 +882,37 @@ public class TestOrderPreserveProjection
testOrderPreserveUnion(inputTables, "source_table,b,c,int1,f,m1"); // sort key e not in projection
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 0, 100.0f, 1003L, null, new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 0, 28.0f, 1000L, null, new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 0, 50.0f, 1000L, null, new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 0, -3.25f, 1001L, null, new DataByteArray("Zebra"), m1);
-
- addResultRow(resultTable, 0, 101.0f, 1001L, null, new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1, 33.0f, 1006L, null, new DataByteArray("beige"), m2);
- addResultRow(resultTable, 1, 53.0f, 1001L, null, new DataByteArray("brown"), m2);
- addResultRow(resultTable, 1, 50.0f, 1008L, null, new DataByteArray("gray"), m2);
-
- addResultRow(resultTable, 1, 56.0f, 1004L, null, new DataByteArray("green"), m2);
- addResultRow(resultTable, 0, 0.0f, 1002L, null, new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1, -99.0f, 1002L, null, new DataByteArray("orange"),m2);
- addResultRow(resultTable, 0, 52.0f, 1001L, null, new DataByteArray("pig"), m1);
-
- addResultRow(resultTable, 1, 102.0f, 1001L, null, new DataByteArray("purple"),m2);
- addResultRow(resultTable, 1, 100.0f, 1003L, null, new DataByteArray("white"), m2);
- addResultRow(resultTable, 0, 3.25f, 1000L, null, new DataByteArray("zebra"), m1);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, 100.0f, 1003L, null, new DataByteArray("Apple"), m1);
+ addResultRow(rows, 0, 28.0f, 1000L, null, new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, 0, 50.0f, 1000L, null, new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0, -3.25f, 1001L, null, new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0, 101.0f, 1001L, null, new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 0.0f, 1002L, null, new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 0, 52.0f, 1001L, null, new DataByteArray("pig"), m1);
+ addResultRow(rows, 0, 3.25f, 1000L, null, new DataByteArray("zebra"), m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, 33.0f, 1006L, null, new DataByteArray("beige"), m2);
+ addResultRow(rows, 1, 53.0f, 1001L, null, new DataByteArray("brown"), m2);
+ addResultRow(rows, 1, 50.0f, 1008L, null, new DataByteArray("gray"), m2);
+ addResultRow(rows, 1, 56.0f, 1004L, null, new DataByteArray("green"), m2);
+ addResultRow(rows, 1, -99.0f, 1002L, null, new DataByteArray("orange"),m2);
+ addResultRow(rows, 1, 102.0f, 1001L, null, new DataByteArray("purple"),m2);
+ addResultRow(rows, 1, 100.0f, 1003L, null, new DataByteArray("white"), m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 4, it);
+ int numbRows = verifyTable(resultTable, 4, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
/**
- * Verify union output table with expected results
- *
- */
- private int verifyTable(ArrayList<ArrayList<Object>> resultTable, int keyColumn, Iterator<Tuple> it) throws IOException {
- int numbRows = 0;
- int index = 0;
- Object value = resultTable.get(index).get(keyColumn); // get value of primary key
-
- while (it.hasNext()) {
- Tuple rowValues = it.next();
-
- // If last primary sort key does match then search for next matching key
- if (! compareObj(value, rowValues.get(keyColumn))) {
- int subIndex = index + 1;
- while (subIndex < resultTable.size()) {
- if ( ! compareObj(value, resultTable.get(subIndex).get(keyColumn)) ) { // found new key
- index = subIndex;
- value = resultTable.get(index).get(keyColumn);
- break;
- }
- ++subIndex;
- }
- Assert.assertEquals("Table comparison error for row : " + numbRows + " - no key found for : "
- + rowValues.get(keyColumn), value, rowValues.get(keyColumn));
- }
- // Search for matching row with this primary key
- int subIndex = index;
-
- while (subIndex < resultTable.size()) {
- // Compare row
- ArrayList<Object> resultRow = resultTable.get(subIndex);
- if ( compareRow(rowValues, resultRow) )
- break; // found matching row
- ++subIndex;
- Assert.assertEquals("Table comparison error for row : " + numbRows + " - no matching row found for : "
- + rowValues.get(keyColumn), value, resultTable.get(subIndex).get(keyColumn));
- }
- ++numbRows;
- }
- Assert.assertEquals(resultTable.size(), numbRows); // verify expected row count
- return numbRows;
- }
-
- /**
* Compare table rows
*
*/
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveSimple.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveSimple.java?rev=928384&r1=928383&r2=928384&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveSimple.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveSimple.java Sun Mar 28 12:15:05 2010
@@ -189,34 +189,37 @@ public class TestOrderPreserveSimple ext
//
// Test sorted union with two tables with: int
//
- orderPreserveUnion("a", "a,b,c,d,e,f,m1");
+ orderPreserveUnion("a", "a,b,c,d,e,f,m1, source_table");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
- addResultRow(resultTable, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
-
- addResultRow(resultTable, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
- addResultRow(resultTable, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
-
- addResultRow(resultTable, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
- addResultRow(resultTable, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
-
- addResultRow(resultTable, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
- addResultRow(resultTable, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable
+ = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
+ addResultRow(rows, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
+ addResultRow(rows, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
+ addResultRow(rows, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
+ addResultRow(rows, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 0, it);
+ int numbRows = verifyTable(resultTable, 0, 7, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -229,31 +232,35 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("a", "source_table,a,b,c,d,e,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable
+ = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 0, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 0, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
+ addResultRow(rows, 0, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 0, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 1, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
+ addResultRow(rows, 1, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
+ addResultRow(rows, 1, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
+ addResultRow(rows, 1, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 1, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ resultTable.put(1, rows);
- addResultRow(resultTable, 0, -1, 3.25f, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
- addResultRow(resultTable, 1, -1, -99.0f, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, 0, 5, -3.25f, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 1, 15, 56.0f, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
-
- addResultRow(resultTable, 0, 1000, 0.0f, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1, 1001, 100.0f, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
- addResultRow(resultTable, 0, 1001, 100.0f, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 1, 1001, 102.0f, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
-
- addResultRow(resultTable, 0, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1, 1001, 50.0f, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
- addResultRow(resultTable, 0, 1001, 101.0f, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1, 1001, 53.0f, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
-
- addResultRow(resultTable, 0, 1001, 50.0f, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 0, 1001, 52.0f, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
- addResultRow(resultTable, 0, 1002, 28.0f, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 1, 2000, 33.0f, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -266,31 +273,34 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("b", "source_table,b,a,c,d,e,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 1, -99.0f, -1, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, 0, -3.25f, 5, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 0, 0.0f, 1000, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 0, 3.25f, -1, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
-
- addResultRow(resultTable, 0, 28.0f, 1002, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 1, 33.0f, 2000, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
- addResultRow(resultTable, 0, 50.0f, 1001, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 1, 50.0f, 1001, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
-
- addResultRow(resultTable, 0, 52.0f, 1001, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
- addResultRow(resultTable, 1, 53.0f, 1001, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
- addResultRow(resultTable, 1, 56.0f, 15, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
- addResultRow(resultTable, 0, 100.0f, 1001, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
-
- addResultRow(resultTable, 1, 100.0f, 1001, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
- addResultRow(resultTable, 0, 101.0f, 1001, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 0, 101.0f, 1001, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1, 102.0f, 1001, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable =
+ new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, -3.25f, 5, 1001L, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0, 0.0f, 1000, 1002L, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 0, 3.25f, -1, 1000L, 50e+2, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 0, 28.0f, 1002, 1000L, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, 0, 50.0f, 1001, 1000L, 50e+2, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0, 52.0f, 1001, 1001L, 50e+2, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 0, 100.0f, 1001, 1003L, 50e+2, "Apple", new DataByteArray("Apple"), m1);
+ addResultRow(rows, 0, 101.0f, 1001, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 101.0f, 1001, 1001L, 50e+2, "apple", new DataByteArray("apple"), m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, -99.0f, -1, 1002L, 51e+2, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 1, 33.0f, 2000, 1006L, 52e+2, "beige", new DataByteArray("beige"), m2);
+ addResultRow(rows, 1, 50.0f, 1001, 1008L, 52e+2, "gray", new DataByteArray("gray"), m2);
+ addResultRow(rows, 1, 53.0f, 1001, 1001L, 52e+2, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 1, 56.0f, 15, 1004L, 50e+2, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1, 100.0f, 1001, 1003L, 55e+2, "white", new DataByteArray("white"), m2);
+ addResultRow(rows, 1, 102.0f, 1001, 1001L, 52e+2, "purple", new DataByteArray("purple"),m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -303,31 +313,33 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("c", "source_table,c,a,b,d,e,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, 0, 1000L, -1, 3.25f, 50e+2, "zebra", new DataByteArray("zebra"), m1);
- addResultRow(resultTable, 0, 1000L, 1001, 50.0f, 50e+2, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 0, 1000L, 1002, 28.0f, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 1, 1001L, 1001, 102.0f, 52e+2, "purple", new DataByteArray("purple"),m2);
-
- addResultRow(resultTable, 0, 1001L, 5, -3.25f, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 1, 1001L, 1001, 53.0f, 52e+2, "brown", new DataByteArray("brown"), m2);
- addResultRow(resultTable, 0, 1001L, 1001, 101.0f, 50e+2, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 0, 1001L, 1001, 101.0f, 50e+2, "apple", new DataByteArray("apple"), m1);
-
- addResultRow(resultTable, 0, 1001L, 1001, 52.0f, 50e+2, "pig", new DataByteArray("pig"), m1);
- addResultRow(resultTable, 1, 1002L, -1, -99.0f, 51e+2, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, 0, 1002L, 1000, 0.0f, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1, 1003L, 1001, 100.0f, 55e+2, "white", new DataByteArray("white"), m2);
-
- addResultRow(resultTable, 0, 1003L, 1001, 100.0f, 50e+2, "Apple", new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 1, 1004L, 15, 56.0f, 50e+2, "green", new DataByteArray("green"), m2);
- addResultRow(resultTable, 1, 1006L, 2000, 33.0f, 52e+2, "beige", new DataByteArray("beige"), m2);
- addResultRow(resultTable, 1, 1008L, 1001, 50.0f, 52e+2, "gray", new DataByteArray("gray"), m2);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0, 1000L, -1, 3.25f, 50e+2, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 0, 1000L, 1001, 50.0f, 50e+2, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0, 1000L, 1002, 28.0f, 50e+2, "Hadoop", new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, 0, 1001L, 5, -3.25f, 51e+2, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0, 1001L, 1001, 101.0f, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 1001L, 1001, 101.0f, 50e+2, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0, 1001L, 1001, 52.0f, 50e+2, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 0, 1002L, 1000, 0.0f, 52e+2, "hadoop", new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 0, 1003L, 1001, 100.0f, 50e+2, "Apple", new DataByteArray("Apple"), m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1, 1001L, 1001, 102.0f, 52e+2, "purple", new DataByteArray("purple"),m2);
+ addResultRow(rows, 1, 1001L, 1001, 53.0f, 52e+2, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 1, 1002L, -1, -99.0f, 51e+2, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 1, 1003L, 1001, 100.0f, 55e+2, "white", new DataByteArray("white"), m2);
+ addResultRow(rows, 1, 1004L, 15, 56.0f, 50e+2, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1, 1006L, 2000, 33.0f, 52e+2, "beige", new DataByteArray("beige"), m2);
+ addResultRow(rows, 1, 1008L, 1001, 50.0f, 52e+2, "gray", new DataByteArray("gray"), m2);
+ resultTable.put(1, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -340,31 +352,33 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("d", "source_table,d,a,b,c,e,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
- addResultRow(resultTable, 0,50e+2, -1, 3.25f, 1000L, "zebra", new DataByteArray("zebra"), m1);
- addResultRow(resultTable, 1,50e+2, 15, 56.0f, 1004L, "green", new DataByteArray("green"), m2);
- addResultRow(resultTable, 0,50e+2, 1001, 100.0f, 1003L, "Apple", new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 0,50e+2, 1001, 101.0f, 1001L, "apple", new DataByteArray("apple"), m1);
-
- addResultRow(resultTable, 0,50e+2, 1001, 101.0f, 1001L, "apple", new DataByteArray("apple"), m1);
- addResultRow(resultTable, 0,50e+2, 1001, 50.0f, 1000L, "Pig", new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 0,50e+2, 1001, 52.0f, 1001L, "pig", new DataByteArray("pig"), m1);
- addResultRow(resultTable, 0,50e+2, 1002, 28.0f, 1000L, "Hadoop", new DataByteArray("Hadoop"),m1);
-
- addResultRow(resultTable, 1,51e+2, -1, -99.0f, 1002L, "orange", new DataByteArray("orange"),m2);
- addResultRow(resultTable, 0,51e+2, 5, -3.25f, 1001L, "Zebra", new DataByteArray("Zebra"), m1);
- addResultRow(resultTable, 1,52e+2, 1001, 102.0f, 1001L, "purple", new DataByteArray("purple"),m2);
- addResultRow(resultTable, 0,52e+2, 1000, 0.0f, 1002L, "hadoop", new DataByteArray("hadoop"),m1);
-
- addResultRow(resultTable, 1,52e+2, 1001, 50.0f, 1008L, "gray", new DataByteArray("gray"), m2);
- addResultRow(resultTable, 1,52e+2, 1001, 53.0f, 1001L, "brown", new DataByteArray("brown"), m2);
- addResultRow(resultTable, 1,52e+2, 2000, 33.0f, 1006L, "beige", new DataByteArray("beige"), m2);
- addResultRow(resultTable, 1,55e+2, 1001, 100.0f, 1003L, "white", new DataByteArray("white"), m2);
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0,50e+2, -1, 3.25f, 1000L, "zebra", new DataByteArray("zebra"), m1);
+ addResultRow(rows, 0,50e+2, 1001, 100.0f, 1003L, "Apple", new DataByteArray("Apple"), m1);
+ addResultRow(rows, 0,50e+2, 1001, 101.0f, 1001L, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0,50e+2, 1001, 101.0f, 1001L, "apple", new DataByteArray("apple"), m1);
+ addResultRow(rows, 0,50e+2, 1001, 50.0f, 1000L, "Pig", new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0,50e+2, 1001, 52.0f, 1001L, "pig", new DataByteArray("pig"), m1);
+ addResultRow(rows, 0,50e+2, 1002, 28.0f, 1000L, "Hadoop", new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, 0,51e+2, 5, -3.25f, 1001L, "Zebra", new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0,52e+2, 1000, 0.0f, 1002L, "hadoop", new DataByteArray("hadoop"),m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1,50e+2, 15, 56.0f, 1004L, "green", new DataByteArray("green"), m2);
+ addResultRow(rows, 1,51e+2, -1, -99.0f, 1002L, "orange", new DataByteArray("orange"),m2);
+ addResultRow(rows, 1,52e+2, 1001, 102.0f, 1001L, "purple", new DataByteArray("purple"),m2);
+ addResultRow(rows, 1,52e+2, 1001, 50.0f, 1008L, "gray", new DataByteArray("gray"), m2);
+ addResultRow(rows, 1,52e+2, 1001, 53.0f, 1001L, "brown", new DataByteArray("brown"), m2);
+ addResultRow(rows, 1,52e+2, 2000, 33.0f, 1006L, "beige", new DataByteArray("beige"), m2);
+ addResultRow(rows, 1,55e+2, 1001, 100.0f, 1003L, "white", new DataByteArray("white"), m2);
+ resultTable.put(1, rows);
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -377,31 +391,33 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("e", "source_table,e,a,b,c,d,f,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 0,"Apple", 1001, 100.0f, 1003L, 50e+2, new DataByteArray("Apple"), m1);
- addResultRow(resultTable, 0,"Hadoop", 1002, 28.0f, 1000L, 50e+2, new DataByteArray("Hadoop"),m1);
- addResultRow(resultTable, 0,"Pig", 1001, 50.0f, 1000L, 50e+2, new DataByteArray("Pig"), m1);
- addResultRow(resultTable, 0,"Zebra", 5, -3.25f, 1001L, 51e+2, new DataByteArray("Zebra"), m1);
-
- addResultRow(resultTable, 0,"apple", 1001, 101.0f, 1001L, 50e+2, new DataByteArray("apple"), m1);
- addResultRow(resultTable, 0,"apple", 1001, 101.0f, 1001L, 50e+2, new DataByteArray("apple"), m1);
- addResultRow(resultTable, 1,"beige", 2000, 33.0f, 1006L, 52e+2, new DataByteArray("beige"), m2);
- addResultRow(resultTable, 1,"brown", 1001, 53.0f, 1001L, 52e+2, new DataByteArray("brown"), m2);
-
- addResultRow(resultTable, 1,"gray", 1001, 50.0f, 1008L, 52e+2, new DataByteArray("gray"), m2);
- addResultRow(resultTable, 1,"green", 15, 56.0f, 1004L, 50e+2, new DataByteArray("green"), m2);
- addResultRow(resultTable, 0,"hadoop", 1000, 0.0f, 1002L, 52e+2, new DataByteArray("hadoop"),m1);
- addResultRow(resultTable, 1,"orange", -1, -99.0f, 1002L, 51e+2, new DataByteArray("orange"),m2);
-
- addResultRow(resultTable, 0,"pig", 1001, 52.0f, 1001L, 50e+2, new DataByteArray("pig"), m1);
- addResultRow(resultTable, 1,"purple", 1001, 102.0f, 1001L, 52e+2, new DataByteArray("purple"),m2);
- addResultRow(resultTable, 1,"white", 1001, 100.0f, 1003L, 55e+2, new DataByteArray("white"), m2);
- addResultRow(resultTable, 0,"zebra", -1, 3.25f, 1000L, 50e+2, new DataByteArray("zebra"), m1);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0,"Apple", 1001, 100.0f, 1003L, 50e+2, new DataByteArray("Apple"), m1);
+ addResultRow(rows, 0,"Hadoop", 1002, 28.0f, 1000L, 50e+2, new DataByteArray("Hadoop"),m1);
+ addResultRow(rows, 0,"Pig", 1001, 50.0f, 1000L, 50e+2, new DataByteArray("Pig"), m1);
+ addResultRow(rows, 0,"Zebra", 5, -3.25f, 1001L, 51e+2, new DataByteArray("Zebra"), m1);
+ addResultRow(rows, 0,"apple", 1001, 101.0f, 1001L, 50e+2, new DataByteArray("apple"), m1);
+ addResultRow(rows, 0,"apple", 1001, 101.0f, 1001L, 50e+2, new DataByteArray("apple"), m1);
+ addResultRow(rows, 0,"hadoop", 1000, 0.0f, 1002L, 52e+2, new DataByteArray("hadoop"),m1);
+ addResultRow(rows, 0,"pig", 1001, 52.0f, 1001L, 50e+2, new DataByteArray("pig"), m1);
+ addResultRow(rows, 0,"zebra", -1, 3.25f, 1000L, 50e+2, new DataByteArray("zebra"), m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1,"beige", 2000, 33.0f, 1006L, 52e+2, new DataByteArray("beige"), m2);
+ addResultRow(rows, 1,"brown", 1001, 53.0f, 1001L, 52e+2, new DataByteArray("brown"), m2);
+ addResultRow(rows, 1,"gray", 1001, 50.0f, 1008L, 52e+2, new DataByteArray("gray"), m2);
+ addResultRow(rows, 1,"green", 15, 56.0f, 1004L, 50e+2, new DataByteArray("green"), m2);
+ addResultRow(rows, 1,"orange", -1, -99.0f, 1002L, 51e+2, new DataByteArray("orange"),m2);
+ addResultRow(rows, 1,"purple", 1001, 102.0f, 1001L, 52e+2, new DataByteArray("purple"),m2);
+ addResultRow(rows, 1,"white", 1001, 100.0f, 1003L, 55e+2, new DataByteArray("white"), m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
}
@@ -414,111 +430,38 @@ public class TestOrderPreserveSimple ext
orderPreserveUnion("f", "source_table,f,a,b,c,d,e,m1");
// Verify union table
- ArrayList<ArrayList<Object>> resultTable = new ArrayList<ArrayList<Object>>();
-
- addResultRow(resultTable, 0,new DataByteArray("Apple"), 1001, 100.0f, 1003L, 50e+2, "Apple", m1);
- addResultRow(resultTable, 0,new DataByteArray("Hadoop"),1002, 28.0f, 1000L, 50e+2, "Hadoop", m1);
- addResultRow(resultTable, 0,new DataByteArray("Pig"), 1001, 50.0f, 1000L, 50e+2, "Pig", m1);
- addResultRow(resultTable, 0,new DataByteArray("Zebra"), 5, -3.25f, 1001L, 51e+2, "Zebra", m1);
-
- addResultRow(resultTable, 0,new DataByteArray("apple"), 1001, 101.0f, 1001L, 50e+2, "apple", m1);
- addResultRow(resultTable, 0,new DataByteArray("apple"), 1001, 101.0f, 1001L, 50e+2, "apple", m1);
- addResultRow(resultTable, 1,new DataByteArray("beige"), 2000, 33.0f, 1006L, 52e+2, "beige", m2);
- addResultRow(resultTable, 1,new DataByteArray("brown"), 1001, 53.0f, 1001L, 52e+2, "brown", m2);
-
- addResultRow(resultTable, 1,new DataByteArray("gray"), 1001, 50.0f, 1008L, 52e+2, "gray", m2);
- addResultRow(resultTable, 1,new DataByteArray("green"), 15, 56.0f, 1004L, 50e+2, "green", m2);
- addResultRow(resultTable, 0,new DataByteArray("hadoop"),1000, 0.0f, 1002L, 52e+2, "hadoop", m1);
- addResultRow(resultTable, 1,new DataByteArray("orange"),-1, -99.0f, 1002L, 51e+2, "orange", m2);
-
- addResultRow(resultTable, 0,new DataByteArray("pig"), 1001, 52.0f, 1001L, 50e+2, "pig", m1);
- addResultRow(resultTable, 1,new DataByteArray("purple"),1001, 102.0f, 1001L, 52e+2, "purple", m2);
- addResultRow(resultTable, 1,new DataByteArray("white"), 1001, 100.0f, 1003L, 55e+2, "white", m2);
- addResultRow(resultTable, 0,new DataByteArray("zebra"), -1, 3.25f, 1000L, 50e+2, "zebra", m1);
+ HashMap<Integer, ArrayList<ArrayList<Object>>> resultTable = new HashMap<Integer, ArrayList<ArrayList<Object>>>();
+ ArrayList<ArrayList<Object>> rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 0,new DataByteArray("Apple"), 1001, 100.0f, 1003L, 50e+2, "Apple", m1);
+ addResultRow(rows, 0,new DataByteArray("Hadoop"),1002, 28.0f, 1000L, 50e+2, "Hadoop", m1);
+ addResultRow(rows, 0,new DataByteArray("Pig"), 1001, 50.0f, 1000L, 50e+2, "Pig", m1);
+ addResultRow(rows, 0,new DataByteArray("Zebra"), 5, -3.25f, 1001L, 51e+2, "Zebra", m1);
+ addResultRow(rows, 0,new DataByteArray("apple"), 1001, 101.0f, 1001L, 50e+2, "apple", m1);
+ addResultRow(rows, 0,new DataByteArray("apple"), 1001, 101.0f, 1001L, 50e+2, "apple", m1);
+ addResultRow(rows, 0,new DataByteArray("hadoop"),1000, 0.0f, 1002L, 52e+2, "hadoop", m1);
+ addResultRow(rows, 0,new DataByteArray("pig"), 1001, 52.0f, 1001L, 50e+2, "pig", m1);
+ addResultRow(rows, 0,new DataByteArray("zebra"), -1, 3.25f, 1000L, 50e+2, "zebra", m1);
+ resultTable.put(0, rows);
+
+ rows = new ArrayList<ArrayList<Object>>();
+ addResultRow(rows, 1,new DataByteArray("beige"), 2000, 33.0f, 1006L, 52e+2, "beige", m2);
+ addResultRow(rows, 1,new DataByteArray("brown"), 1001, 53.0f, 1001L, 52e+2, "brown", m2);
+
+ addResultRow(rows, 1,new DataByteArray("gray"), 1001, 50.0f, 1008L, 52e+2, "gray", m2);
+ addResultRow(rows, 1,new DataByteArray("green"), 15, 56.0f, 1004L, 50e+2, "green", m2);
+ addResultRow(rows, 1,new DataByteArray("orange"),-1, -99.0f, 1002L, 51e+2, "orange", m2);
+ addResultRow(rows, 1,new DataByteArray("purple"),1001, 102.0f, 1001L, 52e+2, "purple", m2);
+ addResultRow(rows, 1,new DataByteArray("white"), 1001, 100.0f, 1003L, 55e+2, "white", m2);
+ resultTable.put(1, rows);
+
// Verify union table
Iterator<Tuple> it = pigServer.openIterator("records1");
- int numbRows = verifyTable(resultTable, 1, it);
+ int numbRows = verifyTable(resultTable, 1, 0, it);
Assert.assertEquals(numbRows, table1.length + table2.length);
- }
-
- /**
- * Verify union output table with expected results
- *
- */
- private int verifyTable(ArrayList<ArrayList<Object>> resultTable, int keyColumn, Iterator<Tuple> it) throws IOException {
- int numbRows = 0;
- int index = 0;
- Object value = resultTable.get(index).get(keyColumn); // get value of primary key
-
- while (it.hasNext()) {
- Tuple rowValues = it.next();
-
- // If last primary sort key does match then search for next matching key
- if (! compareObj(value, rowValues.get(keyColumn))) {
- int subIndex = index + 1;
- while (subIndex < resultTable.size()) {
- if ( ! compareObj(value, resultTable.get(subIndex).get(keyColumn)) ) { // found new key
- index = subIndex;
- value = resultTable.get(index).get(keyColumn);
- break;
- }
- ++subIndex;
- }
- Assert.assertEquals("Table comparison error for row : " + numbRows + " - no key found for : "
- + rowValues.get(keyColumn), value, rowValues.get(keyColumn));
- }
- // Search for matching row with this primary key
- int subIndex = index;
-
- while (subIndex < resultTable.size()) {
- // Compare row
- ArrayList<Object> resultRow = resultTable.get(subIndex);
- if ( compareRow(rowValues, resultRow) )
- break; // found matching row
- ++subIndex;
- Assert.assertEquals("Table comparison error for row : " + numbRows + " - no matching row found for : "
- + rowValues.get(keyColumn), value, resultTable.get(subIndex).get(keyColumn));
- }
- ++numbRows;
- }
- Assert.assertEquals(resultTable.size(), numbRows); // verify expected row count
- return numbRows;
- }
-
- /**
- * Compare table rows
- *
- */
- private boolean compareRow(Tuple rowValues, ArrayList<Object> resultRow) throws IOException {
- boolean result = true;
- Assert.assertEquals(resultRow.size(), rowValues.size());
- for (int i = 0; i < rowValues.size(); ++i) {
- if (! compareObj(rowValues.get(i), resultRow.get(i)) ) {
- result = false;
- break;
- }
- }
- return result;
- }
-
- /**
- * Compare table values
- *
- */
- private boolean compareObj(Object object1, Object object2) {
- if (object1 == null) {
- if (object2 == null)
- return true;
- else
- return false;
- } else if (object1.equals(object2))
- return true;
- else
- return false;
- }
-
+ }
+
/**
*Add a row to expected results table
*
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveUnion.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveUnion.java?rev=928384&r1=928383&r2=928384&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveUnion.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestOrderPreserveUnion.java Sun Mar 28 12:15:05 2010
@@ -175,27 +175,24 @@ public class TestOrderPreserveUnion exte
// check JOIN content
Iterator<Tuple> it3 = pigServer.openIterator("records2");
- int row = 0, index, prevtindex = -1, tindex;
+ int row = 0, index, tindex = -1;
Tuple RowValue3 = null;
while (it3.hasNext()) {
// Last row value
RowValue3 = it3.next();
Assert.assertEquals(3, RowValue3.size());
+ index = row;
+ if (index > 9)
+ index -= 10;
row++;
- index = (row-1)/2;
- if (prevtindex != -1)
- {
- // the other index is expected
- tindex = 1 - prevtindex;
- prevtindex = -1;
- } else {
+ if (row == 1)
tindex = (Integer) RowValue3.get(1);
- prevtindex = tindex;
- }
+ else if (row == 11)
+ tindex = 1 - tindex;
Assert.assertEquals(index+"_00", RowValue3.get(0));
Assert.assertEquals(index+"_01", RowValue3.get(2));
Assert.assertEquals(tindex, RowValue3.get(1));
}
Assert.assertEquals(20, row);
}
-}
+}