You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by he...@apache.org on 2010/11/30 08:03:50 UTC

svn commit: r1040422 - in /hive/trunk: ./ cli/src/java/org/apache/hadoop/hive/cli/ common/src/java/org/apache/hadoop/hive/conf/ conf/ ql/src/test/queries/clientpositive/ ql/src/test/results/clientpositive/

Author: heyongqiang
Date: Tue Nov 30 07:03:49 2010
New Revision: 1040422

URL: http://svn.apache.org/viewvc?rev=1040422&view=rev
Log:
HIVE-138 Provide option to export a HEADER. (Paul Butler via He Yongqiang)

Added:
    hive/trunk/ql/src/test/queries/clientpositive/print_header.q
    hive/trunk/ql/src/test/results/clientpositive/print_header.q.out
Modified:
    hive/trunk/CHANGES.txt
    hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
    hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
    hive/trunk/conf/hive-default.xml

Modified: hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hive/trunk/CHANGES.txt?rev=1040422&r1=1040421&r2=1040422&view=diff
==============================================================================
--- hive/trunk/CHANGES.txt (original)
+++ hive/trunk/CHANGES.txt Tue Nov 30 07:03:49 2010
@@ -280,6 +280,9 @@ Trunk -  Unreleased
     HIVE-1797 Compressed the hashtable dump file before put into distributed cache
     (Liyin Tang via He Yongqiang)
 
+    HIVE-138 Provide option to export a HEADER
+    (Paul Butler via He Yongqiang)
+
   OPTIMIZATIONS
 
   BUG FIXES

Modified: hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java
URL: http://svn.apache.org/viewvc/hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java?rev=1040422&r1=1040421&r2=1040422&view=diff
==============================================================================
--- hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java (original)
+++ hive/trunk/cli/src/java/org/apache/hadoop/hive/cli/CliDriver.java Tue Nov 30 07:03:49 2010
@@ -50,6 +50,8 @@ import org.apache.hadoop.hive.ql.process
 import org.apache.hadoop.hive.ql.session.SessionState;
 import org.apache.hadoop.hive.ql.session.SessionState.LogHelper;
 import org.apache.hadoop.hive.shims.ShimLoader;
+import org.apache.hadoop.hive.metastore.api.FieldSchema;
+import org.apache.hadoop.hive.metastore.api.Schema;
 
 /**
  * CliDriver.
@@ -144,6 +146,21 @@ public class CliDriver {
           }
 
           ArrayList<String> res = new ArrayList<String>();
+          
+          if (HiveConf.getBoolVar(conf, HiveConf.ConfVars.HIVE_CLI_PRINT_HEADER)) {
+            // Print the column names
+            boolean first_col = true;
+            Schema sc = qp.getSchema();
+            for (FieldSchema fs : sc.getFieldSchemas()) {
+              if (!first_col) {
+                out.print('\t');
+              }
+              out.print(fs.getName());
+              first_col = false;
+            }
+            out.println();
+          }
+
           try {
             while (qp.getResults(res)) {
               for (String r : res) {

Modified: hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java
URL: http://svn.apache.org/viewvc/hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java?rev=1040422&r1=1040421&r2=1040422&view=diff
==============================================================================
--- hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java (original)
+++ hive/trunk/common/src/java/org/apache/hadoop/hive/conf/HiveConf.java Tue Nov 30 07:03:49 2010
@@ -315,6 +315,9 @@ public class HiveConf extends Configurat
     HIVEFETCHOUTPUTSERDE("hive.fetch.output.serde", "org.apache.hadoop.hive.serde2.DelimitedJSONSerDe"),
 
     SEMANTIC_ANALYZER_HOOK("hive.semantic.analyzer.hook",null),
+    
+    // Print column names in output
+    HIVE_CLI_PRINT_HEADER("hive.cli.print.header", false);
     ;
 
 

Modified: hive/trunk/conf/hive-default.xml
URL: http://svn.apache.org/viewvc/hive/trunk/conf/hive-default.xml?rev=1040422&r1=1040421&r2=1040422&view=diff
==============================================================================
--- hive/trunk/conf/hive-default.xml (original)
+++ hive/trunk/conf/hive-default.xml Tue Nov 30 07:03:49 2010
@@ -36,6 +36,12 @@
 </property>
 
 <property>
+  <name>hive.cli.print.header</name>
+  <value>false</value>
+  <description>Whether to print the names of the columns in query output.</description>
+</property>
+
+<property>
   <name>hive.exec.scratchdir</name>
   <value>/tmp/hive-${user.name}</value>
   <description>Scratch space for Hive jobs</description>

Added: hive/trunk/ql/src/test/queries/clientpositive/print_header.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/print_header.q?rev=1040422&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/print_header.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/print_header.q Tue Nov 30 07:03:49 2010
@@ -0,0 +1,13 @@
+
+set hive.cli.print.header=true;
+
+SELECT src1.key as k1, src1.value as v1, 
+       src2.key as k2, src2.value as v2 FROM 
+  (SELECT * FROM src WHERE src.key < 10) src1 
+    JOIN 
+  (SELECT * FROM src WHERE src.key < 10) src2
+  SORT BY k1, v1, k2, v2
+  LIMIT 10;
+
+SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key LIMIT 10;
+

Added: hive/trunk/ql/src/test/results/clientpositive/print_header.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/print_header.q.out?rev=1040422&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/print_header.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/print_header.q.out Tue Nov 30 07:03:49 2010
@@ -0,0 +1,50 @@
+PREHOOK: query: SELECT src1.key as k1, src1.value as v1, 
+       src2.key as k2, src2.value as v2 FROM 
+  (SELECT * FROM src WHERE src.key < 10) src1 
+    JOIN 
+  (SELECT * FROM src WHERE src.key < 10) src2
+  SORT BY k1, v1, k2, v2
+  LIMIT 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/tmp/pbutler/hive_2010-11-22_13-41-11_283_258399688654159660/-mr-10000
+POSTHOOK: query: SELECT src1.key as k1, src1.value as v1, 
+       src2.key as k2, src2.value as v2 FROM 
+  (SELECT * FROM src WHERE src.key < 10) src1 
+    JOIN 
+  (SELECT * FROM src WHERE src.key < 10) src2
+  SORT BY k1, v1, k2, v2
+  LIMIT 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/tmp/pbutler/hive_2010-11-22_13-41-11_283_258399688654159660/-mr-10000
+k1	v1	k2	v2
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	0	val_0
+0	val_0	2	val_2
+PREHOOK: query: SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key LIMIT 10
+PREHOOK: type: QUERY
+PREHOOK: Input: default@src
+PREHOOK: Output: file:/tmp/pbutler/hive_2010-11-22_13-41-30_510_2595029549749893604/-mr-10000
+POSTHOOK: query: SELECT src.key, sum(substr(src.value,5)) FROM src GROUP BY src.key LIMIT 10
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@src
+POSTHOOK: Output: file:/tmp/pbutler/hive_2010-11-22_13-41-30_510_2595029549749893604/-mr-10000
+key	_c1
+0	0.0
+10	10.0
+100	200.0
+103	206.0
+104	208.0
+105	105.0
+11	11.0
+111	111.0
+113	226.0
+114	114.0