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/11 21:59:46 UTC
svn commit: r922018 - in /hadoop/pig/trunk/contrib/zebra: ./
src/java/org/apache/hadoop/zebra/schema/
src/test/org/apache/hadoop/zebra/io/ src/test/org/apache/hadoop/zebra/pig/
src/test/org/apache/hadoop/zebra/types/
Author: yanz
Date: Thu Mar 11 20:59:46 2010
New Revision: 922018
URL: http://svn.apache.org/viewvc?rev=922018&view=rev
Log:
PIG-1269 Restrict schema definition for collection (xuefuz via yanz)
Modified:
hadoop/pig/trunk/contrib/zebra/CHANGES.txt
hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/Schema.java
hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/SchemaParser.jjt
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableMapSplits.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableSplits.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnGroupSplits.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnName.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestDropColumnGroup.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMapSplitSchemaStorageColumnOutOfOrder.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMixedType1.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestSortedBasicTableSplits.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestWrite.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMixedType1.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestUnionMixedTypes.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaAnonymousCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageCollection.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageGrammar.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageMisc3.java
hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestZebraTupleTostring.java
Modified: hadoop/pig/trunk/contrib/zebra/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/CHANGES.txt?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/CHANGES.txt (original)
+++ hadoop/pig/trunk/contrib/zebra/CHANGES.txt Thu Mar 11 20:59:46 2010
@@ -66,6 +66,8 @@ Trunk (unreleased changes)
BUG FIXES
+ PIG-1269 Restrict schema definition for collection (xuefuz via yanz)
+
PIG-1253: make map/reduce test cases run on real cluster (chaow via yanz)
PIG-1276: Pig resource schema interface changed, so Zebra needs to catch exception thrown from the new interfaces. (xuefuz via yanz)
Modified: hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/Schema.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/Schema.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/Schema.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/Schema.java Thu Mar 11 20:59:46 2010
@@ -929,6 +929,8 @@ public class Schema implements Comparabl
if (fs.type != ColumnType.RECORD && fs.type != ColumnType.COLLECTION)
throw new ParseException(name
+ " is not of type RECORD or COLLECTION");
+ else if( fs.type == ColumnType.COLLECTION )
+ throw new ParseException( name + "Projection within COLLECTION is not supported" );
currentName = currentName.substring(fieldIndex + 1);
if (currentName.length() == 0)
throw new ParseException("Column " + name
Modified: hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/SchemaParser.jjt
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/SchemaParser.jjt?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/SchemaParser.jjt (original)
+++ hadoop/pig/trunk/contrib/zebra/src/java/org/apache/hadoop/zebra/schema/SchemaParser.jjt Thu Mar 11 20:59:46 2010
@@ -205,17 +205,14 @@ Schema.ColumnSchema SchemaCollection() t
Schema.ColumnSchema SchemaCollectionEntry(String id) throws ParseException :
{
- Schema s = null;
Schema.ColumnSchema fs = null;
}
{
(
- s= RecordSchemaInternal()
-| fs = AnonymousColumnSchema()
+ fs = AnonymousSchemaRecord() | fs = SchemaRecord()
)
- { if (s == null) s = new Schema(fs);
- fs = new Schema.ColumnSchema(id, s, ColumnType.COLLECTION);
- return fs;
+ {
+ return new Schema.ColumnSchema(id, new Schema(fs), ColumnType.COLLECTION);
}
}
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableMapSplits.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableMapSplits.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableMapSplits.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableMapSplits.java Thu Mar 11 20:59:46 2010
@@ -51,7 +51,7 @@ import org.junit.Test;
*
*/
public class TestBasicTableMapSplits {
- final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(record(f13:double, f14:float, f15:bytes))";
final static String STR_STORAGE = "[r.f12, f1, m#{b}]; [m#{a}, r.f11]";
private static Configuration conf;
private static Path path;
@@ -104,7 +104,7 @@ public class TestBasicTableMapSplits {
tuple.set(2, map);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(3).getSchema();
+ Schema schColl = schema.getColumn(3).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableSplits.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableSplits.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableSplits.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestBasicTableSplits.java Thu Mar 11 20:59:46 2010
@@ -50,7 +50,7 @@ import org.junit.Test;
*
*/
public class TestBasicTableSplits {
- final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(record(f13:double, f14:float, f15:bytes))";
// TODO: try map hash split later
final static String STR_STORAGE = "[r.f12, f1]; [m]";
private static Configuration conf;
@@ -106,7 +106,7 @@ public class TestBasicTableSplits {
tuple.set(2, map);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(3).getSchema();
+ Schema schColl = schema.getColumn(3).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestCollection.java Thu Mar 11 20:59:46 2010
@@ -16,20 +16,11 @@
*/
package org.apache.hadoop.zebra.io;
-import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import java.io.PrintWriter;
-import java.lang.reflect.Array;
-import java.util.ArrayList;
-import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
-import java.util.Map;
-import java.util.Random;
-import java.util.StringTokenizer;
import junit.framework.Assert;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
@@ -42,10 +33,8 @@ import org.apache.hadoop.zebra.io.TableI
import org.apache.hadoop.zebra.io.TableScanner;
import org.apache.hadoop.zebra.io.BasicTable.Reader.RangeSplit;
import org.apache.hadoop.zebra.parser.ParseException;
-import org.apache.hadoop.zebra.types.Projection;
import org.apache.hadoop.zebra.schema.Schema;
import org.apache.hadoop.zebra.types.TypesUtils;
-import org.apache.pig.backend.executionengine.ExecException;
import org.apache.pig.data.DataBag;
import org.apache.pig.data.DataByteArray;
import org.apache.pig.data.Tuple;
@@ -60,7 +49,7 @@ import org.junit.Test;
*/
public class TestCollection {
- final static String STR_SCHEMA = "c:collection(a:double, b:float, c:bytes),c2:collection(r1:record(f1:int, f2:string), d:string),c3:collection(c3_1:collection(e:int,f:bool))";
+ final static String STR_SCHEMA = "c:collection(record(a:double, b:float, c:bytes)),c2:collection(record(r1:record(f1:int, f2:string), d:string)),c3:collection(record(c3_1:collection(record(e:int,f:bool))))";
final static String STR_STORAGE = "[c]";
private static Configuration conf;
private static Path path;
@@ -92,12 +81,12 @@ public class TestCollection {
TableInserter inserter = writer1.getInserter("part" + part, true);
TypesUtils.resetTuple(tuple);
DataBag bag1 = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
DataBag bag2 = TypesUtils.createBag();
- Schema schColl2 = schema.getColumn(1).getSchema();
+ Schema schColl2 = schema.getColumn(1).getSchema().getColumn(0).getSchema();
Tuple tupColl2_1 = TypesUtils.createTuple(schColl2);
Tuple tupColl2_2 = TypesUtils.createTuple(schColl2);
Tuple collRecord1;
@@ -117,7 +106,6 @@ public class TestCollection {
// c3:collection(c3_1:collection(e:int,f:bool))
DataBag bag3 = TypesUtils.createBag();
- Schema schColl3 = schema.getColumn(2).getSchema();
DataBag bag3_1 = TypesUtils.createBag();
DataBag bag3_2 = TypesUtils.createBag();
@@ -502,156 +490,19 @@ public class TestCollection {
reader.close();
}
- // read, should support project to 2nd level
+ // Negative test case. Projection on fields in collection is not supported.
@Test
- public void testRead5() throws IOException, ParseException {
- String projection = new String("c.a");
- BasicTable.Reader reader = new BasicTable.Reader(path, conf);
- reader.setProjection(projection);
- List<RangeSplit> splits = reader.rangeSplit(1);
- TableScanner scanner = reader.getScanner(splits.get(0), true);
- BytesWritable key = new BytesWritable();
- Tuple RowValue = TypesUtils.createTuple(scanner.getSchema());
-
- scanner.getKey(key);
- // Assert.assertEquals(key, new BytesWritable("k11".getBytes()));
- scanner.getValue(RowValue);
- System.out.println("test read 5: row: " + RowValue.toString());
- // test read 5: row: ({(3.1415926),(123.456789)})
- Iterator<Tuple> it = ((DataBag) RowValue.get(0)).iterator();
- int list = 0;
- while (it.hasNext()) {
- Tuple cur = it.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(3.1415926, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
-
- }
- if (list == 2) {
- Assert.assertEquals(123.456789, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- scanner.advance();
- scanner.getValue(RowValue);
- Iterator<Tuple> it2 = ((DataBag) RowValue.get(0)).iterator();
- int list2 = 0;
- while (it2.hasNext()) {
- Tuple cur = it2.next();
- System.out.println(cur.get(0));
- list2++;
- if (list2 == 1) {
- Assert.assertEquals(7654.321, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list2 == 2) {
- Assert.assertEquals(0.123456789, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
-
- reader.close();
- }
-
- // read, should support project to 2nd level
- // final static String STR_SCHEMA =
- // "c:collection(a:double, b:float, c:bytes),c2:collection(r1:record(f1:int, f2:string), d:string),c3:collection(c3_1:collection(e:int,f:bool))";
- @Test
- public void testRead6() throws IOException, ParseException {
- String projection = new String("c2.r1");
- BasicTable.Reader reader = new BasicTable.Reader(path, conf);
- reader.setProjection(projection);
- List<RangeSplit> splits = reader.rangeSplit(1);
- TableScanner scanner = reader.getScanner(splits.get(0), true);
- BytesWritable key = new BytesWritable();
- Tuple RowValue = TypesUtils.createTuple(scanner.getSchema());
-
- scanner.getKey(key);
- // Assert.assertEquals(key, new BytesWritable("k11".getBytes()));
- scanner.getValue(RowValue);
- System.out.println("test read 6 :row: " + RowValue.toString());
- // test read 6 :row: ({((1,record1_string1)),((2,record2_string1))})
- Iterator<Tuple> it = ((DataBag) RowValue.get(0)).iterator();
- int list = 0;
- while (it.hasNext()) {
- Tuple cur = it.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(1, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record1_string1", ((Tuple) cur.get(0)).get(1));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
-
- }
- if (list == 2) {
- Assert.assertEquals(2, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record2_string1", ((Tuple) cur.get(0)).get(1));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- scanner.advance();
- scanner.getValue(RowValue);
- Iterator<Tuple> it2 = ((DataBag) RowValue.get(0)).iterator();
- int list2 = 0;
- while (it2.hasNext()) {
- Tuple cur = it2.next();
- System.out.println(cur.get(0));
- list2++;
- if (list2 == 1) {
- Assert.assertEquals(3, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record1_string2", ((Tuple) cur.get(0)).get(1));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list2 == 2) {
- Assert.assertEquals(4, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record2_string2", ((Tuple) cur.get(0)).get(1));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
-
- reader.close();
+ public void testRead5() throws IOException {
+ try {
+ String projection = new String("c.a");
+ BasicTable.Reader reader = new BasicTable.Reader(path, conf);
+ reader.setProjection(projection);
+ } catch(ParseException ex) {
+ System.out.println( "caught expected exception: " + ex );
+ return;
+ }
+
+ Assert.fail( "Test case failure: projection on collection field or record field is not supported." );
}
// read, should support project to 3rd level TODO: construct scanner failed
@@ -816,159 +667,6 @@ public class TestCollection {
reader.close();
}
- // read stitch simple + record stitch
- // final static String STR_SCHEMA =
- // "c:collection(a:double, b:float, c:bytes),c2:collection(r1:record(f1:int, f2:string), d:string),c3:collection(c3_1:collection(e:int,f:bool))";
- @Test
- public void testRead9() throws IOException, ParseException {
- String projection = new String("c.a, c2.r1");
- BasicTable.Reader reader = new BasicTable.Reader(path, conf);
- reader.setProjection(projection);
- List<RangeSplit> splits = reader.rangeSplit(1);
- TableScanner scanner = reader.getScanner(splits.get(0), true);
- BytesWritable key = new BytesWritable();
- Tuple RowValue = TypesUtils.createTuple(scanner.getSchema());
-
- scanner.getKey(key);
- // Assert.assertEquals(key, new BytesWritable("k11".getBytes()));
- scanner.getValue(RowValue);
- System.out.println("read 9: " + RowValue.toString());
- // read 9:
- // ({(3.1415926),(123.456789)},{((1,record1_string1)),((2,record2_string1))})
- Iterator<Tuple> it = ((DataBag) RowValue.get(0)).iterator();
- int list = 0;
- while (it.hasNext()) {
- Tuple cur = it.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(3.1415926, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list == 2) {
- Assert.assertEquals(123.456789, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- Iterator<Tuple> it2 = ((DataBag) RowValue.get(1)).iterator();
- list = 0;
- while (it2.hasNext()) {
- Tuple cur = it2.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(1, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record1_string1", ((Tuple) cur.get(0)).get(1));
- try {
- ((Tuple) cur.get(0)).get(2);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list == 2) {
- Assert.assertEquals(2, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record2_string1", ((Tuple) cur.get(0)).get(1));
- try {
- ((Tuple) cur.get(0)).get(2);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
- scanner.advance();
- scanner.getValue(RowValue);
- Iterator<Tuple> it3 = ((DataBag) RowValue.get(0)).iterator();
- while (it3.hasNext()) {
- Tuple cur = it3.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(7654.321, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list == 2) {
- Assert.assertEquals(0.123456789, cur.get(0));
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
-
- Iterator<Tuple> it4 = ((DataBag) RowValue.get(1)).iterator();
- list = 0;
- while (it4.hasNext()) {
- Tuple cur = it4.next();
- System.out.println(cur.get(0));
- list++;
- if (list == 1) {
- Assert.assertEquals(3, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record1_string2", ((Tuple) cur.get(0)).get(1));
- try {
- ((Tuple) cur.get(0)).get(2);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- if (list == 2) {
- Assert.assertEquals(4, ((Tuple) cur.get(0)).get(0));
- Assert.assertEquals("record2_string2", ((Tuple) cur.get(0)).get(1));
- try {
- ((Tuple) cur.get(0)).get(2);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- try {
- cur.get(1);
- Assert.fail("Should throw index out of bounds exception");
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
-
- reader.close();
- }
-
// Negative should not support 2nd level collection split
@Test
public void testSplit1() throws IOException, ParseException {
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnGroupSplits.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnGroupSplits.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnGroupSplits.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnGroupSplits.java Thu Mar 11 20:59:46 2010
@@ -22,7 +22,6 @@ import java.util.Iterator;
import java.util.Map;
import junit.framework.Assert;
-import junit.framework.TestCase;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
@@ -52,7 +51,7 @@ import org.junit.Test;
*/
public class TestColumnGroupSplits {
final static String outputFile = "TestColumnGroupSplits";
- final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(record(f13:double, f14:float, f15:bytes))";
final static private Configuration conf = new Configuration();
static private FileSystem fs;
static private Path path;
@@ -85,7 +84,7 @@ public class TestColumnGroupSplits {
// schema for "r:record..."
Schema schRecord = writer.getSchema().getColumn(1).getSchema();
Tuple tupRecord = TypesUtils.createTuple(schRecord);
- Schema schColl = schema.getColumn(3).getSchema();
+ Schema schColl = schema.getColumn(3).getSchema().getColumn(0).getSchema();
DataBag bagColl = TypesUtils.createBag();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
@@ -396,132 +395,6 @@ public class TestColumnGroupSplits {
}
@Test
- // normal one collection column projection
- public void testOneCollectionColumnProjection() throws Exception {
- System.out.println("testOneCollectionColumnProjection");
- ColumnGroup.Reader reader = new ColumnGroup.Reader(path, conf);
- reader.setProjection("c.f13, f1, c.XYZ");
-
- Tuple row = TypesUtils.createTuple(reader.getSchema());
- TableScanner scanner = reader.getScanner(null, false);
- BytesWritable key = new BytesWritable();
-
- scanner.getKey(key);
- Assert.assertEquals(key, new BytesWritable("k1".getBytes()));
- scanner.getValue(row);
- DataBag bagColl = (DataBag) row.get(0);
-
- boolean f1 = (Boolean) (row.get(1));
- Assert.assertEquals(true, f1);
-
- Iterator<Tuple> itorColl = bagColl.iterator();
- Tuple tupColl = itorColl.next();
- Assert.assertEquals(3.1415926, tupColl.get(0));
- try {
- Object obj = tupColl.get(1);
- Assert.fail("Failed to catch 'out of boundary' exceptions.");
- } catch (IndexOutOfBoundsException e) {
- // no op, expecting out of bounds exceptions
- }
- tupColl = itorColl.next();
- Assert.assertEquals(123.456789, tupColl.get(0));
- Assert.assertNull(row.get(2));
- try {
- row.get(3);
- Assert.fail("Failed to catch 'out of boundary' exceptions.");
- } catch (IndexOutOfBoundsException e) {
- // no op, expecting out of bounds exceptions
- }
-
- scanner.advance();
- scanner.getKey(key);
- Assert.assertEquals(key, new BytesWritable("k2".getBytes()));
- TypesUtils.resetTuple(row);
- scanner.getValue(row);
-
- f1 = (Boolean) row.get(1);
- Assert.assertEquals(false, f1);
-
- bagColl.clear();
- bagColl = (DataBag) row.get(0);
- itorColl = bagColl.iterator();
- tupColl = itorColl.next();
- Assert.assertEquals(7654.321, tupColl.get(0));
- tupColl = itorColl.next();
- Assert.assertEquals(0.123456789, tupColl.get(0));
- Assert.assertNull(row.get(2));
-
- scanner.close();
- reader.close();
- }
-
- // test columns from different types of columns in random order
- @Test
- @SuppressWarnings("unchecked")
- public void testMixedColumnProjection() throws Exception {
- System.out.println("testMixedColumnProjection");
- ColumnGroup.Reader reader = new ColumnGroup.Reader(path, conf);
- // TODO: add map field later
- reader.setProjection("c.f14, f1, r.f11, XYZ");
-
- Tuple row = TypesUtils.createTuple(reader.getSchema());
- TableScanner scanner = reader.getScanner(null, false);
- BytesWritable key = new BytesWritable();
-
- scanner.getKey(key);
- Assert.assertEquals(key, new BytesWritable("k1".getBytes()));
- scanner.getValue(row);
- DataBag bagColl = (DataBag) row.get(0);
- Iterator<Tuple> itorColl = bagColl.iterator();
- Tuple tupColl = itorColl.next();
- Assert.assertEquals(1.6, tupColl.get(0));
- // make sure only 1 element returned in the collection
- try {
- Object obj = tupColl.get(1);
- Assert.fail("Failed to catch 'out of boundary' exceptions.");
- } catch (IndexOutOfBoundsException e) {
- // no op, expecting out of bounds exceptions
- }
- tupColl = itorColl.next();
- Assert.assertEquals(100, tupColl.get(0));
- try {
- Object obj = tupColl.get(1);
- Assert.fail("Failed to catch 'out of boundary' exceptions.");
- } catch (IndexOutOfBoundsException e) {
- // no op, expecting out of bounds exceptions
- }
- Assert.assertFalse(itorColl.hasNext());
- Assert.assertEquals(true, row.get(1));
- Assert.assertEquals(1, row.get(2));
- Assert.assertNull(row.get(3));
- try {
- Object obj = row.get(4);
- Assert.fail("Failed to catch 'out of boundary' exceptions.");
- } catch (IndexOutOfBoundsException e) {
- // no op, expecting out of bounds exceptions
- }
-
- scanner.advance();
- scanner.getKey(key);
- Assert.assertEquals(key, new BytesWritable("k2".getBytes()));
- TypesUtils.resetTuple(row);
- scanner.getValue(row);
- bagColl.clear();
- bagColl = (DataBag) row.get(0);
- itorColl = bagColl.iterator();
- tupColl = itorColl.next();
- Assert.assertEquals(0.0001, tupColl.get(0));
- tupColl = itorColl.next();
- Assert.assertEquals(0.3333, tupColl.get(0));
- Assert.assertEquals(false, row.get(1));
- Assert.assertEquals(2, row.get(2));
- Assert.assertNull(row.get(3));
-
- scanner.close();
- reader.close();
- }
-
- @Test
@SuppressWarnings("unchecked")
// normal one collection column projection
public void testMapColumnProjection() throws Exception {
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnName.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnName.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnName.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestColumnName.java Thu Mar 11 20:59:46 2010
@@ -51,11 +51,11 @@ import org.junit.Test;
*/
public class TestColumnName {
final static String STR_SCHEMA =
- "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(f13:double, f14:float, f15:bytes)";
+ "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(record(f13:double, f14:float, f15:bytes))";
final static String STR_STORAGE = "[r.f12, f1, m#{b}]; [m#{_a}, r.f11]";
final static String INVALID_STR_SCHEMA =
- "_f1:bool, _r:record(f11:int, _f12:long), _m:map(string), _c:collection(_f13:double, _f14:float, _f15:bytes)";
+ "_f1:bool, _r:record(f11:int, _f12:long), _m:map(string), _c:collection(record(_f13:double, _f14:float, _f15:bytes))";
final static String INVALID_STR_STORAGE = "[_r.f12, _f1, _m#{b}]; [_m#{_a}, _r.f11]";
private static Configuration conf = new Configuration();
@@ -104,7 +104,7 @@ public class TestColumnName {
tuple.set(2, map);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(3).getSchema();
+ Schema schColl = schema.getColumn(3).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestDropColumnGroup.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestDropColumnGroup.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestDropColumnGroup.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestDropColumnGroup.java Thu Mar 11 20:59:46 2010
@@ -186,218 +186,6 @@ public class TestDropColumnGroup {
}
@Test
- public void testDropColumnGroupsMixedTypes() throws IOException,
- ParseException {
-
- String mixedSchema = /* roughly borrowed from testMixedType1.java */
- "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, "
- + "r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)),"
- + "m1:map(string),m2:map(map(int)), "
- + "c:collection(f13:double, f14:float, f15:bytes)";
- // [s1, s2]; [m1#{a}]; [r1.f1]; [s3, s4, r2.r3.f3]; [s5, s6, m2#{x|y}];
- // [r1.f2, m1#{b}]; [r2.r3.f4, m2#{z}]";
- String mixedStorageHint = "[s1, s2] as simpleCG; "
- + "[m1#{a}, s3] as mapCG; "
- + "[s4, r2.r3.f3, r1.f1] as recordCG; "
- + "[c] as collectionCG; "
- + "[r1.f2, m1#{b}, m2#{z}] as mapRecordCG; ";
-
- //Path path = new Path(TestBasicTable.rootPath, "DropCGTest");
- Configuration conf = TestBasicTable.conf;
- conf.set("fs.default.name", "file:///");
- if (fs.exists(path)) {
- BasicTable.drop(path, conf);
- }
-
- // first write the table :
- BasicTable.Writer writer = new BasicTable.Writer(path, mixedSchema,
- mixedStorageHint, conf);
- writer.finish();
-
- Schema schema = writer.getSchema();
- Tuple tuple = TypesUtils.createTuple(schema);
- BasicTable.Writer writer1 = new BasicTable.Writer(path, conf);
- int part = 0;
- TableInserter inserter = writer1.getInserter("part" + part, true);
- TypesUtils.resetTuple(tuple);
-
- Tuple tupRecord1 = TypesUtils.createTuple(schema.getColumnSchema("r1")
- .getSchema());
- Tuple tupRecord2 = TypesUtils.createTuple(schema.getColumnSchema("r2")
- .getSchema());
-
- Tuple tupRecord3 = TypesUtils.createTuple(new Schema("f3:float, f4"));
-
- // row 1
- tuple.set(0, true); // bool
- tuple.set(1, 1); // int
- tuple.set(2, 1001L); // long
- tuple.set(3, 1.1); // float
- tuple.set(4, "hello world 1"); // string
- tuple.set(5, new DataByteArray("hello byte 1")); // byte
-
- // r1:record(f1:int, f2:long
- tupRecord1.set(0, 1);
- tupRecord1.set(1, 1001L);
- tuple.set(6, tupRecord1);
-
- // r2:record(r3:record(f3:float, f4))
- tupRecord2.set(0, tupRecord3);
- tupRecord3.set(0, 1.3);
- tupRecord3.set(1, new DataByteArray("r3 row 1 byte array "));
- tuple.set(7, tupRecord2);
-
- // m1:map(string)
- Map<String, String> m1 = new HashMap<String, String>();
- m1.put("a", "A");
- m1.put("b", "B");
- m1.put("c", "C");
- tuple.set(8, m1);
-
- // m2:map(map(int))
- HashMap<String, Map<String, Integer>> m2 = new HashMap<String, Map<String, Integer>>();
- Map<String, Integer> m3 = new HashMap<String, Integer>();
- m3.put("m311", 311);
- m3.put("m321", 321);
- m3.put("m331", 331);
- Map<String, Integer> m4 = new HashMap<String, Integer>();
- m4.put("m411", 411);
- m4.put("m421", 421);
- m4.put("m431", 431);
- m2.put("x", m3);
- m2.put("y", m4);
- tuple.set(9, m2);
-
- // c:collection(f13:double, f14:float, f15:bytes)
- DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(10).getSchema();
- Tuple tupColl1 = TypesUtils.createTuple(schColl);
- Tuple tupColl2 = TypesUtils.createTuple(schColl);
- byte[] abs1 = new byte[3];
- byte[] abs2 = new byte[4];
- tupColl1.set(0, 3.1415926);
- tupColl1.set(1, 1.6);
- abs1[0] = 11;
- abs1[1] = 12;
- abs1[2] = 13;
- tupColl1.set(2, new DataByteArray(abs1));
- bagColl.add(tupColl1);
- tupColl2.set(0, 123.456789);
- tupColl2.set(1, 100);
- abs2[0] = 21;
- abs2[1] = 22;
- abs2[2] = 23;
- abs2[3] = 24;
- tupColl2.set(2, new DataByteArray(abs2));
- bagColl.add(tupColl2);
- tuple.set(10, bagColl);
-
- int row = 0;
- inserter.insert(new BytesWritable(String.format("k%d%d", part + 1, row + 1)
- .getBytes()), tuple);
- // row 2
- row++;
- TypesUtils.resetTuple(tuple);
- TypesUtils.resetTuple(tupRecord1);
- TypesUtils.resetTuple(tupRecord2);
- TypesUtils.resetTuple(tupRecord3);
- m1.clear();
- m2.clear();
- m3.clear();
- m4.clear();
- tuple.set(0, false);
- tuple.set(1, 2); // int
- tuple.set(2, 1002L); // long
- tuple.set(3, 3.1); // float
- tuple.set(4, "hello world 2"); // string
- tuple.set(5, new DataByteArray("hello byte 2")); // byte
-
- // r1:record(f1:int, f2:long
- tupRecord1.set(0, 2);
-
- tupRecord1.set(1, 1002L);
- tuple.set(6, tupRecord1);
-
- // r2:record(r3:record(f3:float, f4))
- tupRecord2.set(0, tupRecord3);
- tupRecord3.set(0, 2.3);
- tupRecord3.set(1, new DataByteArray("r3 row2 byte array"));
- tuple.set(7, tupRecord2);
-
- // m1:map(string)
- m1.put("a2", "A2");
- m1.put("b2", "B2");
- m1.put("c2", "C2");
- tuple.set(8, m1);
-
- // m2:map(map(int))
- m3.put("m321", 321);
- m3.put("m322", 322);
- m3.put("m323", 323);
- m2.put("z", m3);
- tuple.set(9, m2);
-
- // c:collection(f13:double, f14:float, f15:bytes)
- bagColl.clear();
- TypesUtils.resetTuple(tupColl1);
- TypesUtils.resetTuple(tupColl2);
- tupColl1.set(0, 7654.321);
- tupColl1.set(1, 0.0001);
- abs1[0] = 31;
- abs1[1] = 32;
- abs1[2] = 33;
- tupColl1.set(2, new DataByteArray(abs1));
- bagColl.add(tupColl1);
- tupColl2.set(0, 0.123456789);
- tupColl2.set(1, 0.3333);
- abs2[0] = 41;
- abs2[1] = 42;
- abs2[2] = 43;
- abs2[3] = 44;
- tupColl2.set(2, new DataByteArray(abs2));
- bagColl.add(tupColl2);
- tuple.set(10, bagColl);
-
- // Write same row 10 times:
- for (int i = 0; i < 10; i++) {
- inserter.insert(new BytesWritable(String.format("k%d%d", part + 1 + i,
- row + 1 + i).getBytes()), tuple);
- }
-
- inserter.close();
- writer1.finish();
-
- writer.close();
-
- int numRows = 11;
- // drop mapCG: removes [m1#{a}, s3]
- BasicTable.dropColumnGroup(path, conf, "mapCG");
-
- verifyScanner(path, conf, "m1", new boolean[] { false }, numRows);
-
- verifyScanner(path, conf, "s1, m1#{a}, m1#{b}, s3, s4", new boolean[] {
- false, true, false, true, false }, numRows);
-
- // drop simpleCG : removes [s1, s2]
- BasicTable.dropColumnGroup(path, conf, "simpleCG");
- verifyScanner(path, conf, "s1, m1#{a}, s2, m1#{b}", new boolean[] { true,
- true, true, false }, numRows);
-
- // drop mapRecordCG : removes [r1.f2, m1#{b}, m2#{z}];\
- BasicTable.dropColumnGroup(path, conf, "mapRecordCG");
- verifyScanner(path, conf, "r1.f1, r1.f2, m1#{a}, s5, m1#{b}",
- new boolean[] { false, true, true, false, true }, numRows);
-
- // drop collectionCG : removes c;\
- BasicTable.dropColumnGroup(path, conf, "collectionCG");
- verifyScanner(path, conf, "c.f1, c.f2, c.f3", new boolean[] { true, true,
- true }, numRows);
-
- // clean up the table
- BasicTable.drop(path, conf);
- }
-
- @Test
public void test2() throws IOException, ParseException {
/*
* Tests concurrent drop CGs
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMapSplitSchemaStorageColumnOutOfOrder.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMapSplitSchemaStorageColumnOutOfOrder.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMapSplitSchemaStorageColumnOutOfOrder.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMapSplitSchemaStorageColumnOutOfOrder.java Thu Mar 11 20:59:46 2010
@@ -47,7 +47,7 @@ import org.junit.Test;
*
*/
public class TestMapSplitSchemaStorageColumnOutOfOrder {
- final static String STR_SCHEMA = "column1:bytes,column2:bytes, column3:bytes,column4:bytes,column5:map(String),column6:map(String),column7:map(String),column8:collection(f1:map(String))";
+ final static String STR_SCHEMA = "column1:bytes,column2:bytes, column3:bytes,column4:bytes,column5:map(String),column6:map(String),column7:map(String),column8:collection(record(f1:map(String)))";
final static String STR_STORAGE = "[column1,column2,column3,column4];[column5#{key51|key52|key53|key54|key55|key56},column7#{key71|key72|key73|key74|key75}];[column5,column7,column6];[column8]";
private static Configuration conf;
private static Path path;
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMixedType1.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMixedType1.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMixedType1.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestMixedType1.java Thu Mar 11 20:59:46 2010
@@ -53,7 +53,7 @@ import org.junit.Test;
*
*/
public class TestMixedType1 {
- final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(record(f13:double, f14:float, f15:bytes))";
final static String STR_STORAGE = "[s1, s2]; [m1#{a}]; [r1.f1]; [s3, s4, r2.r3.f3]; [s5, s6, m2#{x|y}]; [r1.f2, m1#{b}]; [r2.r3.f4, m2#{z}]";
private static Configuration conf;
private static Path path;
@@ -152,7 +152,7 @@ public class TestMixedType1 {
// c:collection(f13:double, f14:float, f15:bytes)
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(10).getSchema();
+ Schema schColl = schema.getColumn(10).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestSortedBasicTableSplits.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestSortedBasicTableSplits.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestSortedBasicTableSplits.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestSortedBasicTableSplits.java Thu Mar 11 20:59:46 2010
@@ -50,7 +50,7 @@ import org.junit.Test;
*
*/
public class TestSortedBasicTableSplits {
- final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "f1:bool, r:record(f11:int, f12:long), m:map(string), c:collection(record(f13:double, f14:float, f15:bytes))";
// TODO: try map hash split later
final static String STR_STORAGE = "[r.f12, f1]; [m]";
private static Configuration conf;
@@ -106,7 +106,7 @@ public class TestSortedBasicTableSplits
tuple.set(2, map);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(3).getSchema();
+ Schema schColl = schema.getColumn(3).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestWrite.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestWrite.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestWrite.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/io/TestWrite.java Thu Mar 11 20:59:46 2010
@@ -53,7 +53,7 @@ import org.junit.Test;
*
*/
public class TestWrite {
- final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(record(f13:double, f14:float, f15:bytes))";
final static String STR_STORAGE = "[s1, s2]; [m1#{a}]; [r1.f1]; [s3, s4, r2.r3.f3]; [s5, s6, m2#{x|y}]; [r1.f2, m1#{b}]; [r2.r3.f4, m2#{z}]";
private static Configuration conf;
private static Path path;
@@ -152,7 +152,7 @@ public class TestWrite {
// c:collection(f13:double, f14:float, f15:bytes)
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(10).getSchema();
+ Schema schColl = schema.getColumn(10).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollection.java Thu Mar 11 20:59:46 2010
@@ -64,7 +64,7 @@ import org.junit.Test;
*/
public class TestCollection {
- final static String STR_SCHEMA = "c:collection(a:double, b:float, c:bytes)";
+ final static String STR_SCHEMA = "c:collection(record(a:double, b:float, c:bytes))";
final static String STR_STORAGE = "[c]";
private static Configuration conf;
private static FileSystem fs;
@@ -148,7 +148,7 @@ public class TestCollection {
TableInserter inserter = writer1.getInserter("part" + part, true);
TypesUtils.resetTuple(tuple);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableLoader.java Thu Mar 11 20:59:46 2010
@@ -22,8 +22,6 @@ import java.io.File;
import java.io.IOException;
import java.util.Iterator;
-import junit.framework.TestCase;
-
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
@@ -39,9 +37,7 @@ import org.apache.pig.data.DataBag;
import org.apache.pig.data.DataByteArray;
import org.apache.pig.data.Tuple;
import org.apache.pig.test.MiniCluster;
-import org.junit.After;
import org.junit.AfterClass;
-import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -74,7 +70,7 @@ public class TestCollectionTableLoader {
BasicTable.drop(pathTable, conf);
BasicTable.Writer writer = new BasicTable.Writer(pathTable,
- "c:collection(a:double, b:float, c:bytes)", "[c]", conf);
+ "c:collection(record(a:double, b:float, c:bytes))", "[c]", conf);
Schema schema = writer.getSchema();
Tuple tuple = TypesUtils.createTuple(schema);
@@ -90,7 +86,7 @@ public class TestCollectionTableLoader {
TypesUtils.resetTuple(tuple);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
@@ -138,4 +134,5 @@ public class TestCollectionTableLoader {
System.out.println(cur);
}
}
+
}
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestCollectionTableStorer.java Thu Mar 11 20:59:46 2010
@@ -76,7 +76,7 @@ public class TestCollectionTableStorer {
System.out.println("table path=" + pathTable);
BasicTable.Writer writer = new BasicTable.Writer(pathTable,
- "c:collection(a:double, b:float, c:bytes)", "[c]", conf);
+ "c:collection(record(a:double, b:float, c:bytes))", "[c]", conf);
Schema schema = writer.getSchema();
Tuple tuple = TypesUtils.createTuple(schema);
@@ -92,7 +92,7 @@ public class TestCollectionTableStorer {
TypesUtils.resetTuple(tuple);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestLoaderWithCollection.java Thu Mar 11 20:59:46 2010
@@ -63,7 +63,7 @@ public class TestLoaderWithCollection {
BasicTable.drop(pathTable, conf);
BasicTable.Writer writer = new BasicTable.Writer(pathTable,
- "c:collection(a:double)", "[c]", conf);
+ "c:collection(record(a:double))", "[c]", conf);
Schema schema = writer.getSchema();
Tuple tuple = TypesUtils.createTuple(schema);
@@ -79,7 +79,7 @@ public class TestLoaderWithCollection {
TypesUtils.resetTuple(tuple);
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
tupColl1.set(0, 3.1415926);
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMixedType1.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMixedType1.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMixedType1.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestMixedType1.java Thu Mar 11 20:59:46 2010
@@ -59,7 +59,7 @@ import org.junit.Test;
*
*/
public class TestMixedType1 {
- final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(f13:double, f14:float, f15:bytes)";
+ final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(record(f13:double, f14:float, f15:bytes))";
final static String STR_STORAGE = "[s1, s2]; [m1#{a}]; [r1.f1]; [s3, s4, r2.r3.f3]; [s5, s6, m2#{x|y}]; [r1.f2, m1#{b}]; [r2.r3.f4, m2#{z}]";
private static Configuration conf;
private static FileSystem fs;
@@ -171,7 +171,7 @@ public class TestMixedType1 {
// c:collection(f13:double, f14:float, f15:bytes)
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(10).getSchema();
+ Schema schColl = schema.getColumn(10).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestUnionMixedTypes.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestUnionMixedTypes.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestUnionMixedTypes.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/pig/TestUnionMixedTypes.java Thu Mar 11 20:59:46 2010
@@ -65,9 +65,9 @@ public class TestUnionMixedTypes {
protected static PigServer pigServer;
private static Path pathWorking, pathTable1, pathTable2;
private static Configuration conf;
- final static String STR_SCHEMA1 = "a:collection(a:string, b:string),b:map(string),c:record(f1:string, f2:string),d";
+ final static String STR_SCHEMA1 = "a:collection(record(a:string, b:string)),b:map(string),c:record(f1:string, f2:string),d";
final static String STR_STORAGE1 = "[a,d];[b#{k1|k2}];[c]";
- final static String STR_SCHEMA2 = "a:collection(a:string, b:string),b:map(string),c:record(f1:string, f2:string),e";
+ final static String STR_SCHEMA2 = "a:collection(record(a:string, b:string)),b:map(string),c:record(f1:string, f2:string),e";
final static String STR_STORAGE2 = "[a,e];[b#{k1}];[c.f1]";
@BeforeClass
@@ -106,7 +106,7 @@ public class TestUnionMixedTypes {
TypesUtils.resetTuple(tuple);
DataBag bag1 = TypesUtils.createBag();
- Schema schColl = schema.getColumn(0).getSchema();
+ Schema schColl = schema.getColumn(0).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaAnonymousCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaAnonymousCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaAnonymousCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaAnonymousCollection.java Thu Mar 11 20:59:46 2010
@@ -31,7 +31,7 @@ import org.junit.Test;
public class TestSchemaAnonymousCollection {
@Test
public void testSchemaValid1() throws ParseException {
- String strSch = "c1:collection(f1:int, f2:int), c2:collection(collection(record(f3:float, f4)))";
+ String strSch = "c1:collection(Record(f1:int, f2:int)), c2:collection(record(f5:collection(record(f3:float, f4))))";
TableSchemaParser parser;
Schema schema;
@@ -50,22 +50,22 @@ public class TestSchemaAnonymousCollecti
// test 2nd level schema;
Schema f1Schema = f1.getSchema();
- ColumnSchema f11 = f1Schema.getColumn(0);
+ ColumnSchema f11 = f1Schema.getColumn(0).getSchema().getColumn(0);
Assert.assertEquals("f1", f11.getName());
Assert.assertEquals(ColumnType.INT, f11.getType());
- ColumnSchema f12 = f1Schema.getColumn(1);
+ ColumnSchema f12 = f1Schema.getColumn(0).getSchema().getColumn(1);
Assert.assertEquals("f2", f12.getName());
Assert.assertEquals(ColumnType.INT, f12.getType());
Schema f2Schema = f2.getSchema();
ColumnSchema f21 = f2Schema.getColumn(0);
Assert.assertNull(f21.getName());
- Assert.assertEquals(ColumnType.COLLECTION, f21.getType());
+ Assert.assertEquals(ColumnType.RECORD, f21.getType());
// test 3rd level schema;
Schema f21Schema = f21.getSchema();
ColumnSchema f211 = f21Schema.getColumn(0);
- Assert.assertNull(f211.getName());
+ Assert.assertTrue(f211.getName().equals("f5"));
Assert.assertEquals(ColumnType.COLLECTION, f211.getType());
Schema f211Schema = f211.getSchema();
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestSchemaCollection.java Thu Mar 11 20:59:46 2010
@@ -31,7 +31,7 @@ import org.junit.Test;
public class TestSchemaCollection {
@Test
public void testSchemaValid1() throws ParseException {
- String strSch = "c1:collection(f1:int, f2:int), c2:collection(c3:collection(f3:float, f4))";
+ String strSch = "c1:collection(record(f1:int, f2:int)), c2:collection(record(c3:collection(record(f3:float, f4))))";
TableSchemaParser parser;
Schema schema;
@@ -50,24 +50,24 @@ public class TestSchemaCollection {
// test 2nd level schema;
Schema f1Schema = f1.getSchema();
- ColumnSchema f11 = f1Schema.getColumn(0);
+ ColumnSchema f11 = f1Schema.getColumn(0).getSchema().getColumn(0);
Assert.assertEquals("f1", f11.getName());
Assert.assertEquals(ColumnType.INT, f11.getType());
- ColumnSchema f12 = f1Schema.getColumn(1);
+ ColumnSchema f12 = f1Schema.getColumn(0).getSchema().getColumn(1);
Assert.assertEquals("f2", f12.getName());
Assert.assertEquals(ColumnType.INT, f12.getType());
Schema f2Schema = f2.getSchema();
- ColumnSchema f21 = f2Schema.getColumn(0);
+ ColumnSchema f21 = f2Schema.getColumn(0).getSchema().getColumn(0);
Assert.assertEquals("c3", f21.getName());
Assert.assertEquals(ColumnType.COLLECTION, f21.getType());
// test 3rd level schema;
Schema f21Schema = f21.getSchema();
- ColumnSchema f211 = f21Schema.getColumn(0);
+ ColumnSchema f211 = f21Schema.getColumn(0).getSchema().getColumn(0);
Assert.assertEquals("f3", f211.getName());
Assert.assertEquals(ColumnType.FLOAT, f211.getType());
- ColumnSchema f212 = f21Schema.getColumn(1);
+ ColumnSchema f212 = f21Schema.getColumn(0).getSchema().getColumn(1);
Assert.assertEquals("f4", f212.getName());
Assert.assertEquals(ColumnType.BYTES, f212.getType());
}
@@ -75,7 +75,7 @@ public class TestSchemaCollection {
@Test
public void testSchemaInvalid1() throws ParseException, Exception {
try {
- String strSch = "c1:collection(f1:int, f2:int), c2:collection(c3:collection(f3:float, f4)))";
+ String strSch = "c1:collection(record(f1:int, f2:int)), c2:collection(record(c3:collection(record(f3:float, f4)))))";
TableSchemaParser parser;
Schema schema;
@@ -84,10 +84,41 @@ public class TestSchemaCollection {
System.out.println(schema);
} catch (Exception e) {
String errMsg = e.getMessage();
- String str = "Encountered \" \")\" \") \"\" at line 1, column 74.";
+ String str = "Encountered \" \")\" \") \"\" at line 1, column 98.";
System.out.println(errMsg);
System.out.println(str);
Assert.assertEquals(errMsg.startsWith(str), true);
}
}
-}
\ No newline at end of file
+
+ @Test
+ public void testInvalidCollectionSchema() throws ParseException {
+ String[] strSchs = { "c0:int, c1:collection(f1:int, f2:string)",
+ "c0:int, c1:collection(f1:int)",
+ "c0:int, c1:collection(int)" };
+ for( String strSch : strSchs ) {
+ TableSchemaParser parser = new TableSchemaParser( new StringReader( strSch ) );
+ try {
+ parser.RecordSchema(null);
+ } catch(ParseException ex) {
+ System.out.println( "Catch expected exception for schema: " + strSch );
+
+ continue;
+ }
+ Assert.fail( "Exception expected for invalid schemes: "+ strSch );
+ }
+ }
+
+// private void printSchema(Schema schema, int indent) {
+// for( int i = 0; i < schema.getNumColumns(); i++ ) {
+// ColumnSchema cs = schema.getColumn( i );
+// for( int j = 0; j < indent; j++ )
+// System.out.print( "\t" );
+// System.out.println( cs.getName() + ": " + cs.getType().toString() );
+// if( cs.getSchema() != null )
+// printSchema( cs.getSchema(), indent + 1 );
+// }
+//
+// }
+
+}
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageCollection.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageCollection.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageCollection.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageCollection.java Thu Mar 11 20:59:46 2010
@@ -35,7 +35,7 @@ import org.junit.Before;
import org.junit.Test;
public class TestStorageCollection {
- String strSch = "c1:collection(f1:int, f2:int), c2:collection(c3:collection(f3:float, f4))";
+ String strSch = "c1:collection(record(f1:int, f2:int)), c2:collection(record(c3:collection(record(f3:float, f4))))";
TableSchemaParser parser;
Schema schema;
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageGrammar.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageGrammar.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageGrammar.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageGrammar.java Thu Mar 11 20:59:46 2010
@@ -52,7 +52,7 @@ import org.junit.Test;
*/
public class TestStorageGrammar {
- final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(f13:double, f14:float, f15:bytes),s7:string, s8:string, s9:string, s10:string, s11:string, s12:string, s13:string, s14:string, s15:string, s16:string, s17:string, s18:string, s19:string, s20:string, s21:string, s22:string, s23:string";
+ final static String STR_SCHEMA = "s1:bool, s2:int, s3:long, s4:float, s5:string, s6:bytes, r1:record(f1:int, f2:long), r2:record(r3:record(f3:float, f4)), m1:map(string),m2:map(map(int)), c:collection(record(f13:double, f14:float, f15:bytes)),s7:string, s8:string, s9:string, s10:string, s11:string, s12:string, s13:string, s14:string, s15:string, s16:string, s17:string, s18:string, s19:string, s20:string, s21:string, s22:string, s23:string";
static String STR_STORAGE = null;
final private static Configuration conf = new Configuration();
private static Path path;
@@ -210,7 +210,7 @@ public class TestStorageGrammar {
// c:collection(f13:double, f14:float, f15:bytes)
DataBag bagColl = TypesUtils.createBag();
- Schema schColl = schema.getColumn(10).getSchema();
+ Schema schColl = schema.getColumn(10).getSchema().getColumn(0).getSchema();
Tuple tupColl1 = TypesUtils.createTuple(schColl);
Tuple tupColl2 = TypesUtils.createTuple(schColl);
byte[] abs1 = new byte[3];
@@ -395,7 +395,7 @@ public class TestStorageGrammar {
@Test
public void test4() throws IOException, ParseException {
- String schema = "s3:string, s4:string, r2:record(r3:record(f3:float, f4)), c:collection(f13:double, f14:float, f15:bytes)";
+ String schema = "s3:string, s4:string, r2:record(r3:record(f3:float, f4)), c:collection(record(f13:double, f14:float, f15:bytes))";
String storage = "[s3, s4, r2.r3.f3, c] SERIALIZE BY pig SECURE BY uid:"
+ user + " gid:" + group + " perm:777 COMPRESS BY gz";
Path path1 = new Path(path.toString() + "4");
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageMisc3.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageMisc3.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageMisc3.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestStorageMisc3.java Thu Mar 11 20:59:46 2010
@@ -35,7 +35,7 @@ import org.junit.Before;
import org.junit.Test;
public class TestStorageMisc3 {
- String strSch = "c:collection(r:record(f1:int, f2:int)), m1:map(int)";
+ String strSch = "c:collection(record(f1:int, f2:int)), m1:map(int)";
TableSchemaParser parser;
Schema schema;
Modified: hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestZebraTupleTostring.java
URL: http://svn.apache.org/viewvc/hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestZebraTupleTostring.java?rev=922018&r1=922017&r2=922018&view=diff
==============================================================================
--- hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestZebraTupleTostring.java (original)
+++ hadoop/pig/trunk/contrib/zebra/src/test/org/apache/hadoop/zebra/types/TestZebraTupleTostring.java Thu Mar 11 20:59:46 2010
@@ -127,7 +127,7 @@ public class TestZebraTupleTostring {
@Test
public void testCollection() throws IOException, ParseException {
String STR_SCHEMA =
- "c1:collection(a:double, b:float, c:bytes),c2:collection(r1:record(f1:int, f2:string), d:string),c3:collection(c3_1:collection(e:int,f:bool))";
+ "c1:collection(record(a:double, b:float, c:bytes)),c2:collection(record(r1:record(f1:int, f2:string), d:string)),c3:collection(record(c3_1:collection(record(e:int,f:bool))))";
Schema schema = new Schema(STR_SCHEMA);
Tuple tuple = TypesUtils.createTuple(schema);
TypesUtils.resetTuple(tuple);