You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zeppelin.apache.org by fe...@apache.org on 2017/01/07 18:31:13 UTC

zeppelin git commit: ZEPPELIN-1901. Output schema might be null for PigQueryInterpreter

Repository: zeppelin
Updated Branches:
  refs/heads/master 13168e668 -> a6d01aaf3


ZEPPELIN-1901. Output schema might be null for PigQueryInterpreter

### What is this PR for?
The output schema might be null if user doesn't specify it explicitly. In this PR, I will use 'col_{pos}' to replace the column name if it is null.

### What type of PR is it?
[Improvement]

### Todos
* [ ] - Task

### What is the Jira issue?
* https://issues.apache.org/jira/browse/ZEPPELIN-1901

### How should this be tested?
Unit test is added.

### Screenshots (if appropriate)

### Questions:
* Does the licenses files need update? No
* Is there breaking changes for older versions? No
* Does this needs documentation? No

Author: Jeff Zhang <zj...@apache.org>

Closes #1837 from zjffdu/ZEPPELIN-1901 and squashes the following commits:

81cb093 [Jeff Zhang] ZEPPELIN-1901. Output schema might be null for PigQueryInterpreter


Project: http://git-wip-us.apache.org/repos/asf/zeppelin/repo
Commit: http://git-wip-us.apache.org/repos/asf/zeppelin/commit/a6d01aaf
Tree: http://git-wip-us.apache.org/repos/asf/zeppelin/tree/a6d01aaf
Diff: http://git-wip-us.apache.org/repos/asf/zeppelin/diff/a6d01aaf

Branch: refs/heads/master
Commit: a6d01aaf36270b571b3b1cd0d4454375972b1cfd
Parents: 13168e6
Author: Jeff Zhang <zj...@apache.org>
Authored: Wed Jan 4 16:29:50 2017 +0800
Committer: Felix Cheung <fe...@apache.org>
Committed: Sat Jan 7 10:31:09 2017 -0800

----------------------------------------------------------------------
 .../java/org/apache/zeppelin/pig/PigQueryInterpreter.java     | 2 +-
 .../java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java | 7 +++++++
 2 files changed, 8 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d01aaf/pig/src/main/java/org/apache/zeppelin/pig/PigQueryInterpreter.java
----------------------------------------------------------------------
diff --git a/pig/src/main/java/org/apache/zeppelin/pig/PigQueryInterpreter.java b/pig/src/main/java/org/apache/zeppelin/pig/PigQueryInterpreter.java
index 1a7634a..77632a7 100644
--- a/pig/src/main/java/org/apache/zeppelin/pig/PigQueryInterpreter.java
+++ b/pig/src/main/java/org/apache/zeppelin/pig/PigQueryInterpreter.java
@@ -93,7 +93,7 @@ public class PigQueryInterpreter extends BasePigInterpreter {
       if (schemaKnown) {
         for (int i = 0; i < schema.size(); ++i) {
           Schema.FieldSchema field = schema.getField(i);
-          resultBuilder.append(field.alias);
+          resultBuilder.append(field.alias != null ? field.alias : "col_" + i);
           if (i != schema.size() - 1) {
             resultBuilder.append("\t");
           }

http://git-wip-us.apache.org/repos/asf/zeppelin/blob/a6d01aaf/pig/src/test/java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java
----------------------------------------------------------------------
diff --git a/pig/src/test/java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java b/pig/src/test/java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java
index d9ad7aa..aa6bb08 100644
--- a/pig/src/test/java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java
+++ b/pig/src/test/java/org/apache/zeppelin/pig/PigQueryInterpreterTest.java
@@ -108,6 +108,13 @@ public class PigQueryInterpreterTest {
     assertEquals(InterpreterResult.Code.SUCCESS, result.code());
     assertEquals("gender\tcount\nmale\t2\nfemale\t1\n", result.message().get(0).getData());
 
+    // generate alias with unknown schema
+    query = "b = group a by gender;\nforeach b generate group, COUNT($1);";
+    result = pigQueryInterpreter.interpret(query, context);
+    assertEquals(InterpreterResult.Type.TABLE, result.message().get(0).getType());
+    assertEquals(InterpreterResult.Code.SUCCESS, result.code());
+    assertEquals("group\tcol_1\nmale\t2\nfemale\t1\n", result.message().get(0).getData());
+
     // syntax error in PigQueryInterpereter
     query = "b = group a by invalid_column;\nforeach b generate group as gender, COUNT($1) as count;";
     result = pigQueryInterpreter.interpret(query, context);