You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by bi...@apache.org on 2012/04/24 08:58:34 UTC
svn commit: r1329569 - in /pig/trunk/contrib/piggybank/java/src:
main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java
test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java
Author: billgraham
Date: Tue Apr 24 06:58:34 2012
New Revision: 1329569
URL: http://svn.apache.org/viewvc?rev=1329569&view=rev
Log:
PIG-2257 - AvroStorage doesn't recognize schema_file field when JSON isn't used in the constructor (billgraham)
Modified:
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java?rev=1329569&r1=1329568&r2=1329569&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorage.java Tue Apr 24 06:58:34 2012
@@ -377,6 +377,7 @@ public class AvroStorage extends FileInp
} else if (name.equalsIgnoreCase("data")
|| name.equalsIgnoreCase("same")
|| name.equalsIgnoreCase("schema")
+ || name.equalsIgnoreCase("schema_file")
|| name.matches("field\\d+")) {
/* store value as string */
map.put(name, value);
Modified: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java?rev=1329569&r1=1329568&r2=1329569&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java (original)
+++ pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java Tue Apr 24 06:58:34 2012
@@ -330,6 +330,29 @@ public class TestAvroStorage {
verifyResults(output, expected);
}
+ // Same as above, just without using json in the constructor
+ @Test
+ public void testRecordWithFieldSchemaFromTextWithSchemaFile2() throws IOException {
+ PigSchema2Avro.setTupleIndex(1);
+ String output= outbasedir + "testRecordWithFieldSchemaFromTextWithSchemaFile2";
+ String expected = basedir + "expected_testRecordWithFieldSchema.avro";
+ deleteDirectory(new File(output));
+ String [] queries = {
+ " avro = LOAD '" + testTextFile + "' AS (member_id:int, browser_id:chararray, tracking_time:long, act_content:bag{inner:tuple(key:chararray, value:chararray)});",
+ " avro1 = FILTER avro BY member_id > 1211;",
+ " avro2 = FOREACH avro1 GENERATE member_id, browser_id, tracking_time, act_content ;",
+ " STORE avro2 INTO '" + output + "' " +
+ " USING org.apache.pig.piggybank.storage.avro.AvroStorage (" +
+ "'schema_file', '" + testRecordSchema + "'," +
+ "'field0','int'," +
+ "'field1','def:browser_id'," +
+ "'field3','def:act_content'" +
+ ");"
+ };
+ testAvroStorage( queries);
+ verifyResults(output, expected);
+ }
+
private static void deleteDirectory (File path) {
if ( path.exists()) {
File [] files = path.listFiles();