hive-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Xuefu Zhang (JIRA)" <>
Subject [jira] [Commented] (HIVE-5298) AvroSerde performance problem caused by HIVE-3833
Date Thu, 26 Sep 2013 18:20:03 GMT


Xuefu Zhang commented on HIVE-5298:

[~ashutoshc] The issue isn't with pathToPartInfo. The issue is in original code 
    try {
      for (String onefile : conf.getPathToAliases().keySet()) {
        PartitionDesc pd = conf.getPathToPartitionInfo().get(onefile);

where conf.getPathToAliases().keySet() returns all files that belong to the table. Thus, the
for loop has to go thru each file in the table to get partition metadata (using pathToPartInfo()).
However, it's only necessary to do so per partition, and a partition may have any number of

Let me know if more info is needed.

> AvroSerde performance problem caused by HIVE-3833
> -------------------------------------------------
>                 Key: HIVE-5298
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>          Components: Query Processor
>    Affects Versions: 0.11.0
>            Reporter: Xuefu Zhang
>            Assignee: Xuefu Zhang
>             Fix For: 0.13.0
>         Attachments: HIVE-5298.1.patch, HIVE-5298.patch
> HIVE-3833 fixed the targeted problem and made Hive to use partition-level metadata to
initialize object inspector. In doing that, however, it goes thru every file under the table
to access the partition metadata, which is very inefficient, especially in case of multiple
files per partition. This causes more problem for AvroSerde because AvroSerde initialization
accesses schema, which is located on file system. As a result, before hive can process any
data, it needs to access every file for a table, which can take long enough to cause job failure
because of lack of job progress.
> The improvement can be made so that partition metadata is only access once per partition.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message