You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hive.apache.org by na...@apache.org on 2009/04/30 07:32:26 UTC

svn commit: r770074 - in /hadoop/hive/trunk: CHANGES.txt serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java

Author: namit
Date: Thu Apr 30 05:32:25 2009
New Revision: 770074

URL: http://svn.apache.org/viewvc?rev=770074&view=rev
Log:
HIVE-462. Avoid Text->String->Text conversion (Namit Jain via zshao)


Modified:
    hadoop/hive/trunk/CHANGES.txt
    hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java

Modified: hadoop/hive/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/CHANGES.txt?rev=770074&r1=770073&r2=770074&view=diff
==============================================================================
--- hadoop/hive/trunk/CHANGES.txt (original)
+++ hadoop/hive/trunk/CHANGES.txt Thu Apr 30 05:32:25 2009
@@ -38,6 +38,8 @@
     HIVE-427. Add missing config parameters in hive-default.xml.
     (Namit Jain via zshao)
 
+    HIVE-462. Avoid Text->String->Text conversion (Namit Jain via zshao)
+
   BUG FIXES
 
     HIVE-381. Fix JDBC HiveResultSet's next function.

Modified: hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java
URL: http://svn.apache.org/viewvc/hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java?rev=770074&r1=770073&r2=770074&view=diff
==============================================================================
--- hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java (original)
+++ hadoop/hive/trunk/serde/src/java/org/apache/hadoop/hive/serde2/lazy/LazyUtils.java Thu Apr 30 05:32:25 2009
@@ -125,9 +125,17 @@
         break;
       }
       */
-      default: { 
-        ByteBuffer b = Text.encode(o.toString());
-        out.write(b.array(), 0, b.limit());
+      default: {
+        if (o instanceof Text) {
+          // This piece of code improves the performance because we don't need to
+          // convert Text to String then back to Text.  We should rely on the code
+          // block above when JoinOperator is fixed.
+          Text t = (Text)o;
+          out.write(t.getBytes(), 0, t.getLength());
+        } else {
+          ByteBuffer b = Text.encode(o.toString());
+          out.write(b.array(), 0, b.limit());
+        }
       }
     }
   }