Uploaded image for project: 'ORC'
  1. ORC
  2. ORC-622

Refactoring of TreeReader into TypeReader and BatchReader

VotersWatch issueWatchersLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • None
    • 1.7.0
    • Java, Reader
    • None
    • Patch

    Description

      The org.apache.orc.impl.TreeReaderFactory.TreeReader class is playing two functions:

      1. Type Read: Activities that deal with the read of a particular type that finally results in the population of the vector.
      2. Batch Read: This is invoked on the Type Reader where the Type Reader is as determined by the Root Type. In this case the activities are about the population of the vectors into the VectorizedRowBatch e.g. Ignoring the columns that are the partition fields, setting the batch size, etc

      This request proposes that these functions be separated into distinct interfaces. Separating the more generic Batch functions away from the Type specific functions allows enhancements to TypeReaders to focus purely on type functions without having to deal with the Batch related functions.

      In addition the request also proposes that certain methods and classes within impl package be made public with the understanding that classes within the impl package are internal.

      • TreeReader.checkEncoding
      • TreeReader.startStripe
      • TreeReader.skipRows
      • StreamInformation
        This enables the use of these classes and methods without having to clobber the impl package.

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            planka Pavan Lanka
            planka Pavan Lanka
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Slack

                Issue deployment