Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-1521

Take character set size into account when compressing in-memory string columns

Attach filesAttach ScreenshotVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

    Details

    • Type: Improvement
    • Status: Resolved
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.1.0
    • Fix Version/s: None
    • Component/s: SQL
    • Labels:

      Description

      Quoted from a blog post from Facebook:

      Strings dominate the largest tables in our warehouse and make up about 80% of the columns across the warehouse, so optimizing compression for string columns was important. By using a threshold on observed number of distinct column values per stripe, we modified the ORCFile writer to apply dictionary encoding to a stripe only when beneficial. Additionally, we sample the column values and take the character set of the column into account, since a small character set can be leveraged by codecs like Zlib for good compression and dictionary encoding then becomes unnecessary or sometimes even detrimental if applied.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              lian cheng Cheng Lian

              Dates

              • Created:
                Updated:
                Resolved:

                Issue deployment