Gopal V created HIVE-10163:
------------------------------
Summary: CommonMergeJoinOperator calls WritableComparator.get() in
the inner loop
Key: HIVE-10163
URL: https://issues.apache.org/jira/browse/HIVE-10163
Project: Hive
Issue Type: Bug
Components: Query Processor
Affects Versions: 1.2.0
Reporter: Gopal V
The CommonMergeJoinOperator wastes CPU looking up the correct comparator for
each WritableComparable in each row.
{code}
@SuppressWarnings("rawtypes")
private int compareKeys(List<Object> k1, List<Object> k2) {
int ret = 0;
....
ret = WritableComparator.get(key_1.getClass()).compare(key_1, key_2);
if (ret != 0) {
return ret;
}
}
{code}
The slow part of that get() is deep within {{ReflectionUtils.setConf}}, where
it tries to use reflection to set the Comparator config for each row being
compared.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)