Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-4160 Vectorized Query Execution in Hive
  3. HIVE-6234

Implement fast vectorized InputFormat extension for text files



    • Type: Sub-task
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:


      Implement support for vectorized scan input of text files (plain text with configurable record and field separators). This should work for CSV files, tab delimited files, etc.

      The goal is to provide high-performance reading of these files using vectorized scans, and also to do it as an extension of existing Hive. Then, if vectorized query is enabled, existing tables based on text files will be able to benefit immediately without the need to use a different input format. After upgrading to new Hive bits that support this, faster, vectorized processing over existing text tables should just work, when vectorization is enabled.

      Another goal is to go beyond a simple layering of vectorized row batch iterator over the top of the existing row iterator. It should be possible to, say, read a chunk of data into a byte buffer (several thousand or even million rows), and then read data from it into vectorized row batches directly. Object creations should be minimized to save allocation time and GC overhead. If it is possible to save CPU for values like dates and numbers by caching the translation from string to the final data type, that should ideally be implemented.


        1. HIVE-6234.02.patch
          12 kB
          Eric N. Hanson
        2. HIVE-6234.03.patch
          18 kB
          Eric N. Hanson
        3. state-diagram.jpg
          281 kB
          Eric N. Hanson
        4. Vectorized Text InputFormat design.docx
          15 kB
          Eric N. Hanson
        5. Vectorized Text InputFormat design.pdf
          279 kB
          Eric N. Hanson



            • Assignee:
              ehans Eric N. Hanson
              ehans Eric N. Hanson
            • Votes:
              0 Vote for this issue
              2 Start watching this issue


              • Created: