You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by ha...@apache.org on 2013/10/22 22:37:47 UTC

svn commit: r1534775 - in /hive/trunk: data/files/ ql/src/java/org/apache/hadoop/hive/ql/udf/generic/ ql/src/test/queries/clientpositive/ ql/src/test/results/clientpositive/

Author: hashutosh
Date: Tue Oct 22 20:37:46 2013
New Revision: 1534775

URL: http://svn.apache.org/r1534775
Log:
HIVE-5506 : Hive SPLIT function does not return array correctly (Vikram Dixit via Ashutosh Chauhan)

Added:
    hive/trunk/data/files/input.txt
    hive/trunk/ql/src/test/queries/clientpositive/split.q
    hive/trunk/ql/src/test/results/clientpositive/split.q.out
Modified:
    hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java
    hive/trunk/ql/src/test/results/clientpositive/udf_split.q.out

Added: hive/trunk/data/files/input.txt
URL: http://svn.apache.org/viewvc/hive/trunk/data/files/input.txt?rev=1534775&view=auto
==============================================================================
--- hive/trunk/data/files/input.txt (added)
+++ hive/trunk/data/files/input.txt Tue Oct 22 20:37:46 2013
@@ -0,0 +1,7 @@
+a	b	c	d	e	f	g
+a	b	c	d	e	f	g
+a	b	c	d	e	f	g
+			d	e	f	g
+a	b	c	d			
+a				e	f	g
+a			d			g

Modified: hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java?rev=1534775&r1=1534774&r2=1534775&view=diff
==============================================================================
--- hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java (original)
+++ hive/trunk/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDFSplit.java Tue Oct 22 20:37:46 2013
@@ -72,7 +72,7 @@ public class GenericUDFSplit extends Gen
 
     ArrayList<Text> result = new ArrayList<Text>();
 
-    for (String str : s.toString().split(regex.toString())) {
+    for (String str : s.toString().split(regex.toString(), -1)) {
       result.add(new Text(str));
     }
 

Added: hive/trunk/ql/src/test/queries/clientpositive/split.q
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/queries/clientpositive/split.q?rev=1534775&view=auto
==============================================================================
--- hive/trunk/ql/src/test/queries/clientpositive/split.q (added)
+++ hive/trunk/ql/src/test/queries/clientpositive/split.q Tue Oct 22 20:37:46 2013
@@ -0,0 +1,8 @@
+DROP TABLE tmp_jo_tab_test;
+CREATE table tmp_jo_tab_test (message_line STRING)
+STORED AS TEXTFILE;
+
+LOAD DATA LOCAL INPATH '../data/files/input.txt'
+OVERWRITE INTO TABLE tmp_jo_tab_test;
+
+select size(split(message_line, '\t')) from tmp_jo_tab_test;

Added: hive/trunk/ql/src/test/results/clientpositive/split.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/split.q.out?rev=1534775&view=auto
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/split.q.out (added)
+++ hive/trunk/ql/src/test/results/clientpositive/split.q.out Tue Oct 22 20:37:46 2013
@@ -0,0 +1,34 @@
+PREHOOK: query: DROP TABLE tmp_jo_tab_test
+PREHOOK: type: DROPTABLE
+POSTHOOK: query: DROP TABLE tmp_jo_tab_test
+POSTHOOK: type: DROPTABLE
+PREHOOK: query: CREATE table tmp_jo_tab_test (message_line STRING)
+STORED AS TEXTFILE
+PREHOOK: type: CREATETABLE
+POSTHOOK: query: CREATE table tmp_jo_tab_test (message_line STRING)
+STORED AS TEXTFILE
+POSTHOOK: type: CREATETABLE
+POSTHOOK: Output: default@tmp_jo_tab_test
+PREHOOK: query: LOAD DATA LOCAL INPATH '../data/files/input.txt'
+OVERWRITE INTO TABLE tmp_jo_tab_test
+PREHOOK: type: LOAD
+PREHOOK: Output: default@tmp_jo_tab_test
+POSTHOOK: query: LOAD DATA LOCAL INPATH '../data/files/input.txt'
+OVERWRITE INTO TABLE tmp_jo_tab_test
+POSTHOOK: type: LOAD
+POSTHOOK: Output: default@tmp_jo_tab_test
+PREHOOK: query: select size(split(message_line, '\t')) from tmp_jo_tab_test
+PREHOOK: type: QUERY
+PREHOOK: Input: default@tmp_jo_tab_test
+#### A masked pattern was here ####
+POSTHOOK: query: select size(split(message_line, '\t')) from tmp_jo_tab_test
+POSTHOOK: type: QUERY
+POSTHOOK: Input: default@tmp_jo_tab_test
+#### A masked pattern was here ####
+7
+7
+7
+7
+7
+7
+7

Modified: hive/trunk/ql/src/test/results/clientpositive/udf_split.q.out
URL: http://svn.apache.org/viewvc/hive/trunk/ql/src/test/results/clientpositive/udf_split.q.out?rev=1534775&r1=1534774&r2=1534775&view=diff
==============================================================================
--- hive/trunk/ql/src/test/results/clientpositive/udf_split.q.out (original)
+++ hive/trunk/ql/src/test/results/clientpositive/udf_split.q.out Tue Oct 22 20:37:46 2013
@@ -82,4 +82,4 @@ FROM src LIMIT 1
 POSTHOOK: type: QUERY
 POSTHOOK: Input: default@src
 #### A masked pattern was here ####
-["a","b","c"]	["one","two","three"]	[]	["5","4","1","2"]
+["a","b","c"]	["one","two","three",""]	[]	["5","4","1","2",""]