Diederik has submitted this change and it was merged.

Change subject: Switch PageViewEvalFunc's returned schema to tuple
......................................................................


Switch PageViewEvalFunc's returned schema to tuple

When using current svn's pig, zero_country.pig failed with

  <file zero_country.pig, line 37, column 13> pig script failed to validate: 
org.apache.pig.impl.logicalLayer.FrontendException: ERROR 0: Given UDF returns 
an improper Schema. Schema should only contain one field of a Tuple, Bag, or a 
single type. Returns: {chararray,chararray,chararray}

. We fix the output schema of PageViewEvalFunc to return a tuple.

Change-Id: Iccaed180ebcadcc8896a1e5ba30bc841a5b17af7
---
M 
kraken-pig/src/main/java/org/wikimedia/analytics/kraken/pig/PageViewEvalFunc.java
1 file changed, 12 insertions(+), 7 deletions(-)

Approvals:
  Diederik: Verified; Looks good to me, approved



diff --git 
a/kraken-pig/src/main/java/org/wikimedia/analytics/kraken/pig/PageViewEvalFunc.java
 
b/kraken-pig/src/main/java/org/wikimedia/analytics/kraken/pig/PageViewEvalFunc.java
index 94ebbee..b787552 100644
--- 
a/kraken-pig/src/main/java/org/wikimedia/analytics/kraken/pig/PageViewEvalFunc.java
+++ 
b/kraken-pig/src/main/java/org/wikimedia/analytics/kraken/pig/PageViewEvalFunc.java
@@ -23,13 +23,12 @@
 import org.apache.pig.data.DataType;
 import org.apache.pig.data.Tuple;
 import org.apache.pig.data.TupleFactory;
+import org.apache.pig.impl.logicalLayer.FrontendException;
 import org.apache.pig.impl.logicalLayer.schema.Schema;
 import org.wikimedia.analytics.kraken.pageview.ProjectInfo;
 
 import java.net.MalformedURLException;
 import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
 
 /**
  * Entry point for the Pig UDF class that uses the Pageview filter logic.
@@ -135,10 +134,16 @@
             throw new RuntimeException(e);
         }
 
-        List<Schema.FieldSchema> fields = new ArrayList<Schema.FieldSchema>();
-        fields.add(new Schema.FieldSchema(null, DataType.CHARARRAY));   // 
language
-        fields.add(new Schema.FieldSchema(null, DataType.CHARARRAY));   // 
project
-        fields.add(new Schema.FieldSchema(null, DataType.CHARARRAY));   // 
site_version
-        return new Schema(fields);
+        Schema tupleSchema = new Schema();
+        tupleSchema.add(new Schema.FieldSchema("language", 
DataType.CHARARRAY));
+        tupleSchema.add(new Schema.FieldSchema("project", DataType.CHARARRAY));
+        tupleSchema.add(new Schema.FieldSchema("site_version", 
DataType.CHARARRAY));
+        Schema ret;
+        try {
+          ret = new Schema(new Schema.FieldSchema("page_view", tupleSchema, 
DataType.TUPLE));
+        } catch (FrontendException e) {
+          throw new RuntimeException(e);
+        }
+        return ret;
     }
 }

-- 
To view, visit https://gerrit.wikimedia.org/r/73746
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iccaed180ebcadcc8896a1e5ba30bc841a5b17af7
Gerrit-PatchSet: 1
Gerrit-Project: analytics/kraken
Gerrit-Branch: master
Gerrit-Owner: QChris <[email protected]>
Gerrit-Reviewer: Diederik <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to