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

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.3.0, 2.0.0, 2.1.0
    • Fix Version/s: 1.3.0, 2.0.1, 2.1.0
    • Component/s: None
    • Labels:

      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.3.patch
          5 kB
          Prasanth Jayachandran
        2. HIVE-13330-branch-1.patch
          5 kB
          Prasanth Jayachandran
        3. HIVE-13330.2.patch
          5 kB
          Prasanth Jayachandran
        4. HIVE-13330.1.patch
          4 kB
          Prasanth Jayachandran

          Activity

            People

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

              Dates

              • Created:
                Updated:
                Resolved: