You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@drill.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2015/11/13 22:20:10 UTC

[jira] [Commented] (DRILL-4053) Reduce metadata cache file size

    [ https://issues.apache.org/jira/browse/DRILL-4053?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15004737#comment-15004737 ] 

ASF GitHub Bot commented on DRILL-4053:
---------------------------------------

GitHub user parthchandra opened a pull request:

    https://github.com/apache/drill/pull/254

    DRILL-4053: Reduce metadata cache file size. Save a merged schema ins…

    …tead of
    
    repeating for every row group. Save maxValue in a row group iff minVal
    equals maxVal and null otherwise.
    
    This patch has the following changes to reduce the size of a metadata cache file. -
    1) Do not write the schema for every row group. Instead merge the schemas and keep only one copy. This change currently does not handle the case where the type of a field mutates.
    2) Instead  of min and max values for every field, we keep only the max value and that too only if the min and max values are equal. This allows partition pruning to occur correctly.
    3) Use the Jackson afterburner module to deserialize faster
    4) Use a string array instead of SchemaPath for simpler deserialization.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/parthchandra/incubator-drill DRILL-4053

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/254.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #254
    
----
commit 3ff4a9f3e5b106066563481bf6af7a6b573bafe5
Author: Parth Chandra <pa...@apache.org>
Date:   2015-10-29T01:24:16Z

    DRILL-4053: Reduce metadata cache file size. Save a merged schema instead of
    repeating for every row group. Save maxValue in a row group iff minVal
    equals maxVal and null otherwise.

----


> Reduce metadata cache file size
> -------------------------------
>
>                 Key: DRILL-4053
>                 URL: https://issues.apache.org/jira/browse/DRILL-4053
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Metadata
>    Affects Versions: 1.3.0
>            Reporter: Parth Chandra
>            Assignee: Parth Chandra
>             Fix For: 1.4.0
>
>
> The parquet metadata cache file has fair amount of redundant metadata that causes the size of the cache file to bloat. Two things that we can reduce are :
> 1) Schema is repeated for every row group. We can keep a merged schema (similar to what was discussed for insert into functionality) 2) The max and min value in the stats are used for partition pruning when the values are the same. We can keep the maxValue only and that too only if it is the same as the minValue.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)