Uploaded image for project: 'Hive'
  1. Hive
  2. HIVE-13330

ORC vectorized string dictionary reader does not differentiate null vs empty string dictionary

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 1.3.0, 2.0.0, 2.1.0
    • 1.3.0, 2.0.1, 2.1.0
    • None

    Description

      Vectorized string dictionary reader cannot differentiate between the case where all dictionary entries are null vs single entry with empty string. This causes wrong results when reading data out of such files.

      Vectorization On
      SET hive.vectorized.execution.enabled=true;
      SET hive.fetch.task.conversion=none;
      select vcol from testnullorc3 limit 1;
      
      OK
      NULL
      
      Vectorization Off
      SET hive.vectorized.execution.enabled=false;
      SET hive.fetch.task.conversion=none;
      select vcol from testnullorc3 limit 1;
      
      OK
      
      

      The input table testnullorc3 contains a varchar column vcol with few empty strings and few nulls. For this table, non vectorized reader returns empty as first row but vectorized reader returns NULL.

      Attachments

        1. HIVE-13330.1.patch
          4 kB
          Prasanth Jayachandran
        2. HIVE-13330.2.patch
          5 kB
          Prasanth Jayachandran
        3. HIVE-13330.3.patch
          5 kB
          Prasanth Jayachandran
        4. HIVE-13330-branch-1.patch
          5 kB
          Prasanth Jayachandran

        Activity

          People

            prasanth_j Prasanth Jayachandran
            prasanth_j Prasanth Jayachandran
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: