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

Make hive.fetch.output.serde Default to LazySimpleSerde

    Details

    • Type: Improvement
    • Status: Patch Available
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 4.0.0, 3.2.0
    • Fix Version/s: 4.0.0
    • Labels:
      None

      Description

      For all intents and purposes, it already is:

      HiveSessionImpl.java
        private static final String FETCH_WORK_SERDE_CLASS =
            "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe";
      
        @Override
        public HiveConf getHiveConf() {
          sessionConf.setVar(HiveConf.ConfVars.HIVEFETCHOUTPUTSERDE, FETCH_WORK_SERDE_CLASS);
          return sessionConf;
        }
      

      https://github.com/apache/hive/blob/master/service/src/java/org/apache/hive/service/cli/session/HiveSessionImpl.java#L489-L492

      The current default is:

          // Serde for FetchTask
          HIVEFETCHOUTPUTSERDE("hive.fetch.output.serde", "org.apache.hadoop.hive.serde2.DelimitedJSONSerDe",
              "The SerDe used by FetchTask to serialize the fetch output."),
      

      Ultimately, I'd like to get rid of org.apache.hadoop.hive.serde2.DelimitedJSONSerDe altogether. It's a weird thing.

        Attachments

        1. HIVE-21245.1.patch
          0.8 kB
          David Mollitor

          Activity

            People

            • Assignee:
              belugabehr David Mollitor
              Reporter:
              belugabehr David Mollitor
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated: