-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/56687/
-----------------------------------------------------------

(Updated Feb. 28, 2017, 8:15 p.m.)


Review request for hive, Chaoyu Tang, Mohit Sabharwal, and Sergio Pena.


Changes
-------

Addressed Rui's comments.


Bugs: https://issues.apache.org/jira/browse/HIVE-15882
    
https://issues.apache.org/jira/browse/https://issues.apache.org/jira/browse/HIVE-15882


Repository: hive-git


Description
-------

See the description of the problem in 
https://issues.apache.org/jira/browse/HIVE-15882 Interning strings per this 
review removes most of the overhead due to duplicate strings.

Also, where maps in several places are created from other maps, use the 
original map's size for the new map. This is to avoid the situation when a map 
with default capacity (typically 16) is created to hold just 2-3 entries, and 
the rest of the internal 16-entry array is wasted.


Diffs (updated)
-----

  common/src/java/org/apache/hadoop/hive/common/StringInternUtils.java 
PRE-CREATION 
  ql/src/java/org/apache/hadoop/hive/ql/exec/Utilities.java 
e81cbce3e333d44a4088c10491f399e92a505293 
  ql/src/java/org/apache/hadoop/hive/ql/hooks/Entity.java 
08420664d59f28f75872c25c9f8ee42577b23451 
  ql/src/java/org/apache/hadoop/hive/ql/io/CombineHiveInputFormat.java 
e91064b9c75e8adb2b36f21ff19ec0c1539b03b9 
  ql/src/java/org/apache/hadoop/hive/ql/io/HiveInputFormat.java 
51530ac16c92cc75d501bfcb573557754ba0c964 
  ql/src/java/org/apache/hadoop/hive/ql/io/SymbolicInputFormat.java 
55b3b551a1dac92583b6e03b10beb8172ca93d45 
  ql/src/java/org/apache/hadoop/hive/ql/lockmgr/HiveLockObject.java 
82dc89803be9cf9e0018720eeceb90ff450bfdc8 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Partition.java 
c0edde9e92314d86482b5c46178987e79fae57fe 
  ql/src/java/org/apache/hadoop/hive/ql/metadata/Table.java 
c6ae6f290857cfd10f1023058ede99bf4a10f057 
  ql/src/java/org/apache/hadoop/hive/ql/optimizer/GenMapRedUtils.java 
24d16812515bdfa90b4be7a295c0388fcdfe95ef 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/GenMRSkewJoinProcessor.java
 ede4fcbe342052ad86dadebcc49da2c0f515ea98 
  
ql/src/java/org/apache/hadoop/hive/ql/optimizer/physical/NullScanTaskDispatcher.java
 0882ae2c6205b1636cbc92e76ef66bb70faadc76 
  ql/src/java/org/apache/hadoop/hive/ql/plan/ConditionalResolverMergeFiles.java 
68b0ad9ea63f051f16fec3652d8525f7ab07eb3f 
  ql/src/java/org/apache/hadoop/hive/ql/plan/MapWork.java 
d4bdd96eaf8d179bed43b8a8c3be0d338940154a 
  ql/src/java/org/apache/hadoop/hive/ql/plan/MsckDesc.java 
b7a7e4b7a5f8941b080c7805d224d3885885f444 
  ql/src/java/org/apache/hadoop/hive/ql/plan/PartitionDesc.java 
73981e826870139a42ad881103fdb0a2ef8433a2 

Diff: https://reviews.apache.org/r/56687/diff/


Testing
-------

I've measured how much memory this change plus another one (interning 
Properties in PartitionDesc) save in my HS2 benchmark - the result is 37%. See 
the details in HIVE-15882.


Thanks,

Misha Dmitriev

Reply via email to