[ 
https://issues.apache.org/jira/browse/HIVE-2891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Cliff Engle updated HIVE-2891:
------------------------------

    Description: 
The TextConverter in PrimitiveObjectInspectorConverter.java is very inefficient 
if the input object is already Text or Lazy. Since it calls 
getPrimitiveJavaObject, each Text is decoded into a String and then re-encoded 
into Text. The solution is to check if preferWritable() is true, then call 
getPrimitiveWritable(input).

To test performance, I ran the Grep query from 
https://issues.apache.org/jira/browse/HIVE-396 on a cluster of 3 ec2 large 
nodes (2 slaves 1 master) on 6GB of data. It took 21 map tasks. With the 
current 0.8.1 version, it took 81 seconds. After patching, it took 66 seconds.

I will attach a patch and testcases.



  was:
The TextConverter in PrimitiveObjectInspectorConverter.java is very inefficient 
if the input object is already Text or Lazy. Since it calls 
getPrimitiveJavaObject, each Text is decoded into a String and then re-encoded 
into Text. The solution is to check if preferWritable() is true, then call 
getPrimitiveWritable(input).getBytes().

To test performance, I ran the Grep query from 
https://issues.apache.org/jira/browse/HIVE-396 on a cluster of 3 ec2 large 
nodes (2 slaves 1 master). It took 21 map tasks. With the current 0.8.1 
version, it took 81 seconds. After patching, it took 66 seconds.

I will attach a patch and testcases.



    
> TextConverter for UDF's is inefficient if the input object is already Text or 
> Lazy
> ----------------------------------------------------------------------------------
>
>                 Key: HIVE-2891
>                 URL: https://issues.apache.org/jira/browse/HIVE-2891
>             Project: Hive
>          Issue Type: Improvement
>          Components: Serializers/Deserializers
>    Affects Versions: 0.7.0, 0.7.1, 0.8.1
>            Reporter: Cliff Engle
>            Assignee: Cliff Engle
>            Priority: Minor
>         Attachments: HIVE-2891.1.patch.txt, HIVE-2891.2.patch.txt
>
>
> The TextConverter in PrimitiveObjectInspectorConverter.java is very 
> inefficient if the input object is already Text or Lazy. Since it calls 
> getPrimitiveJavaObject, each Text is decoded into a String and then 
> re-encoded into Text. The solution is to check if preferWritable() is true, 
> then call getPrimitiveWritable(input).
> To test performance, I ran the Grep query from 
> https://issues.apache.org/jira/browse/HIVE-396 on a cluster of 3 ec2 large 
> nodes (2 slaves 1 master) on 6GB of data. It took 21 map tasks. With the 
> current 0.8.1 version, it took 81 seconds. After patching, it took 66 seconds.
> I will attach a patch and testcases.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to