You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pig.apache.org by da...@apache.org on 2012/03/17 02:19:07 UTC
svn commit: r1301850 - in /pig/trunk: ./
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/
contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/
contrib/piggybank/java/src/test/java/org/apache/pig/pi...
Author: daijy
Date: Sat Mar 17 01:19:07 2012
New Revision: 1301850
URL: http://svn.apache.org/viewvc?rev=1301850&view=rev
Log:
PIG-2411: AvroStorage UDF in PiggyBank fails to STORE a bag of single-field tuples as Avro arrays
Added:
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/avro_test_files/messages.avro (with props)
Modified:
pig/trunk/CHANGES.txt
pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorageUtils.java
pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/TestAvroStorage.java
Modified: pig/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/pig/trunk/CHANGES.txt?rev=1301850&r1=1301849&r2=1301850&view=diff
==============================================================================
--- pig/trunk/CHANGES.txt (original)
+++ pig/trunk/CHANGES.txt Sat Mar 17 01:19:07 2012
@@ -279,6 +279,8 @@ PIG-2228: support partial aggregation in
BUG FIXES
+PIG-2411: AvroStorage UDF in PiggyBank fails to STORE a bag of single-field tuples as Avro arrays (russell.jurney via daijy)
+
PIG-2565: Support IMPORT for macros stored in S3 Buckets (daijy)
PIG-2570: LimitOptimizer fails with dynamic LIMIT argument (daijy)
Modified: pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorageUtils.java
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorageUtils.java?rev=1301850&r1=1301849&r2=1301850&view=diff
==============================================================================
--- pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorageUtils.java (original)
+++ pig/trunk/contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/storage/avro/AvroStorageUtils.java Sat Mar 17 01:19:07 2012
@@ -324,8 +324,12 @@ public class AvroStorageUtils {
/** check whether it is just a wrapped tuple */
public static boolean isTupleWrapper(ResourceFieldSchema pigSchema) {
- return pigSchema.getType() == DataType.TUPLE
- && pigSchema.getName().equals(AvroStorageUtils.PIG_TUPLE_WRAPPER);
+ Boolean status = false;
+ if(pigSchema.getType() == DataType.TUPLE)
+ if(pigSchema.getName() != null)
+ if(pigSchema.getName().equals(AvroStorageUtils.PIG_TUPLE_WRAPPER))
+ status = true;
+ return status;
}
/** extract schema from a nullable union */
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=1301850&r1=1301849&r2=1301850&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 Sat Mar 17 01:19:07 2012
@@ -68,6 +68,7 @@ public class TestAvroStorage {
final private String testRecordFile = getInputFile("test_record.avro");
final private String testRecordSchema = getInputFile("test_record.avsc");
final private String testTextFile = getInputFile("test_record.txt");
+ final private String testSingleTupleBagFile = getInputFile("messages.avro");
@BeforeClass
public static void setup() throws ExecException {
@@ -292,6 +293,20 @@ public class TestAvroStorage {
testAvroStorage( queries);
verifyResults(output, expected);
}
+
+ @Test
+ public void testSingleFieldTuples() throws IOException {
+ String output= outbasedir + "testSingleFieldTuples";
+ String expected = basedir + "expected_testSingleFieldTuples.avro";
+ deleteDirectory(new File(output));
+ String [] queries = {
+ " messages = LOAD '" + testSingleTupleBagFile + " ' USING org.apache.pig.piggybank.storage.avro.AvroStorage ();",
+ " a = foreach (group messages by user_id) { sorted = order messages by message_id DESC; GENERATE group AS user_id, sorted AS messages; };",
+ " STORE a INTO '" + output + "' " +
+ " USING org.apache.pig.piggybank.storage.avro.AvroStorage ();"
+ };
+ testAvroStorage( queries);
+ }
private static void deleteDirectory (File path) {
if ( path.exists()) {
Added: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/avro_test_files/messages.avro
URL: http://svn.apache.org/viewvc/pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/avro_test_files/messages.avro?rev=1301850&view=auto
==============================================================================
Binary file - no diff available.
Propchange: pig/trunk/contrib/piggybank/java/src/test/java/org/apache/pig/piggybank/test/storage/avro/avro_test_files/messages.avro
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream