Uploaded image for project: 'Apache Arrow'
  1. Apache Arrow
  2. ARROW-6307

[Java] Provide RLE vector

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Closed
    • Major
    • Resolution: Later
    • None
    • None
    • Java

    Description

      RLE (run length encoding) is a widely used encoding/decoding technique. Compared with other encoding/decoding techniques, it is easier to work with the encoded data. 
       
      We want to provide an RLE vector implementation in Arrow. The design details include:
       
      1. RleVector implements ValueVector.
      2. the data structure of RleVector includes an inner vector, plus a buffer storing the end indices for runs. 
      3. we provide random access, with time complexity O(log), so it should not be used frequently.
      4. In the future, we will provide iterators to access the vector in sequence.
      5. RleVector does not support update, but supports appending.
      6. In the future, we will provide encoder/decoder to efficiently transform encoded/decoded vectors.
       

      Attachments

        Issue Links

          Activity

            People

              fan_li_ya Liya Fan
              fan_li_ya Liya Fan
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Time Tracking

                  Estimated:
                  Original Estimate - Not Specified
                  Not Specified
                  Remaining:
                  Remaining Estimate - 0h
                  0h
                  Logged:
                  Time Spent - 40m
                  40m