This is an automated email from the ASF dual-hosted git repository.

dmollitor pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/hive.git


The following commit(s) were added to refs/heads/master by this push:
     new a4c5ddd  HIVE-24321: Implement Default getSerDeStats in AbstractSerDe 
(David Mollitor, reviewed by Panagiotis Garefalakis, Miklos Gergely)
a4c5ddd is described below

commit a4c5ddd7da78d42343914d670c1c824bb1ad2395
Author: belugabehr <12578579+belugab...@users.noreply.github.com>
AuthorDate: Fri Oct 30 09:28:26 2020 -0400

    HIVE-24321: Implement Default getSerDeStats in AbstractSerDe (David 
Mollitor, reviewed by Panagiotis Garefalakis, Miklos Gergely)
---
 .../hadoop/hive/accumulo/serde/AccumuloSerDe.java      |  6 ------
 .../apache/hadoop/hive/contrib/serde2/RegexSerDe.java  |  7 -------
 .../hadoop/hive/contrib/serde2/TypedBytesSerDe.java    |  5 -----
 .../org/apache/hadoop/hive/druid/serde/DruidSerDe.java |  6 ------
 .../java/org/apache/hadoop/hive/hbase/HBaseSerDe.java  |  7 -------
 .../org/apache/hive/hcatalog/data/HCatRecordSerDe.java |  8 --------
 .../java/org/apache/hive/hcatalog/data/JsonSerDe.java  |  7 -------
 .../org/apache/hadoop/hive/serde2/CustomSerDe1.java    |  6 ------
 .../org/apache/hadoop/hive/serde2/CustomSerDe2.java    |  6 ------
 .../java/org/apache/hadoop/hive/serde2/TestSerDe.java  |  6 ------
 .../java/org/apache/hive/storage/jdbc/JdbcSerDe.java   |  7 -------
 .../java/org/apache/hadoop/hive/kudu/KuduSerDe.java    |  7 -------
 .../hive/ql/io/arrow/ArrowColumnarBatchSerDe.java      |  6 ------
 .../org/apache/hadoop/hive/ql/io/orc/OrcSerde.java     | 17 +++--------------
 .../hive/ql/io/parquet/serde/ParquetHiveSerDe.java     | 18 +++---------------
 .../hadoop/hive/ql/io/protobuf/ProtobufSerDe.java      |  6 ------
 .../apache/hadoop/hive/ql/log/syslog/SyslogSerDe.java  |  6 ------
 .../hadoop/hive/ql/exec/TestFileSinkOperator.java      |  5 -----
 .../org/apache/hadoop/hive/serde2/AbstractSerDe.java   |  9 +++++++--
 .../java/org/apache/hadoop/hive/serde2/JsonSerDe.java  |  6 ------
 .../hive/serde2/MetadataTypedColumnsetSerDe.java       |  6 ------
 .../apache/hadoop/hive/serde2/MultiDelimitSerDe.java   |  6 ------
 .../org/apache/hadoop/hive/serde2/NullStructSerDe.java |  5 -----
 .../org/apache/hadoop/hive/serde2/OpenCSVSerde.java    |  5 -----
 .../java/org/apache/hadoop/hive/serde2/RegexSerDe.java |  6 ------
 .../java/org/apache/hadoop/hive/serde2/TypedSerDe.java |  6 ------
 .../org/apache/hadoop/hive/serde2/avro/AvroSerDe.java  |  7 -------
 .../serde2/binarysortable/BinarySortableSerDe.java     |  7 -------
 .../hive/serde2/teradata/TeradataBinarySerde.java      |  6 ------
 .../hive/serde2/thrift/ThriftJDBCBinarySerDe.java      |  6 ------
 30 files changed, 13 insertions(+), 198 deletions(-)

diff --git 
a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/serde/AccumuloSerDe.java
 
b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/serde/AccumuloSerDe.java
index 6fa48dd..9607b6d 100644
--- 
a/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/serde/AccumuloSerDe.java
+++ 
b/accumulo-handler/src/java/org/apache/hadoop/hive/accumulo/serde/AccumuloSerDe.java
@@ -30,7 +30,6 @@ import org.apache.hadoop.hive.accumulo.columns.ColumnMapping;
 import org.apache.hadoop.hive.accumulo.columns.HiveAccumuloRowIdColumnMapping;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.lazy.LazyFactory;
 import org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters;
 import 
org.apache.hadoop.hive.serde2.lazy.objectinspector.LazyObjectInspectorFactory;
@@ -142,11 +141,6 @@ public class AccumuloSerDe extends AbstractSerDe {
     return cachedObjectInspector;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
   public AccumuloSerDeParameters getParams() {
     return accumuloSerDeParameters;
   }
diff --git 
a/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java 
b/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java
index 45f32dd..5ac3d4a 100644
--- a/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java
+++ b/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/RegexSerDe.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
@@ -270,10 +269,4 @@ public class RegexSerDe extends AbstractSerDe {
     return outputRowText;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git 
a/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java 
b/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java
index bb6d779..2997ed6 100644
--- 
a/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java
+++ 
b/contrib/src/java/org/apache/hadoop/hive/contrib/serde2/TypedBytesSerDe.java
@@ -384,9 +384,4 @@ public class TypedBytesSerDe extends AbstractSerDe {
     }
     }
   }
-
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
 }
diff --git 
a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java 
b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
index cd21824..e94ef5c 100644
--- a/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
+++ b/druid-handler/src/java/org/apache/hadoop/hive/druid/serde/DruidSerDe.java
@@ -41,7 +41,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
@@ -387,11 +386,6 @@ import static 
org.joda.time.format.ISODateTimeFormat.dateOptionalTimeParser;
     return new DruidWritable(value);
   }
 
-  @Override public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
   /**
    * @param writable Druid Writable to be deserialized.
    * @return List of Hive Writables.
diff --git 
a/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java 
b/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java
index 5147d0e..96e1bbd 100644
--- a/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java
+++ b/hbase-handler/src/java/org/apache/hadoop/hive/hbase/HBaseSerDe.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.lazy.LazySerDeParameters;
 import 
org.apache.hadoop.hive.serde2.lazy.objectinspector.LazySimpleStructObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -301,12 +300,6 @@ public class HBaseSerDe extends AbstractSerDe {
     }
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
   public HBaseKeyFactory getKeyFactory() {
     return serdeParams.getKeyFactory();
   }
diff --git 
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java
 
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java
index 110769a..3a9939c 100644
--- 
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java
+++ 
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/HCatRecordSerDe.java
@@ -30,7 +30,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ListObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.MapObjectInspector;
@@ -317,11 +316,4 @@ public class HCatRecordSerDe extends AbstractSerDe {
     return HCatRecord.class;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics yet
-    return null;
-  }
-
-
 }
diff --git 
a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java 
b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
index dd7690e..1ad05b3 100644
--- a/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
+++ b/hcatalog/core/src/main/java/org/apache/hive/hcatalog/data/JsonSerDe.java
@@ -34,7 +34,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
 import org.apache.hadoop.io.Text;
@@ -187,10 +186,4 @@ public class JsonSerDe extends AbstractSerDe {
     return Text.class;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics yet
-    return null;
-  }
-
 }
diff --git 
a/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe1.java
 
b/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe1.java
index 73ca9d2..0fe0dbc 100644
--- 
a/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe1.java
+++ 
b/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe1.java
@@ -106,10 +106,4 @@ public class CustomSerDe1 extends AbstractSerDe {
     return null;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git 
a/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe2.java
 
b/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe2.java
index ed385c9..9cca295 100644
--- 
a/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe2.java
+++ 
b/itests/custom-serde/src/main/java/org/apache/hadoop/hive/serde2/CustomSerDe2.java
@@ -106,10 +106,4 @@ public class CustomSerDe2 extends AbstractSerDe {
     return null;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git 
a/itests/test-serde/src/main/java/org/apache/hadoop/hive/serde2/TestSerDe.java 
b/itests/test-serde/src/main/java/org/apache/hadoop/hive/serde2/TestSerDe.java
index d23e30d..6067b99 100644
--- 
a/itests/test-serde/src/main/java/org/apache/hadoop/hive/serde2/TestSerDe.java
+++ 
b/itests/test-serde/src/main/java/org/apache/hadoop/hive/serde2/TestSerDe.java
@@ -201,10 +201,4 @@ public class TestSerDe extends AbstractSerDe {
     return serializeCache;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git 
a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcSerDe.java 
b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcSerDe.java
index 04927a8..0d469f8 100644
--- a/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcSerDe.java
+++ b/jdbc-handler/src/main/java/org/apache/hive/storage/jdbc/JdbcSerDe.java
@@ -23,7 +23,6 @@ import org.apache.hadoop.hive.conf.Constants;
 import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category;
@@ -336,10 +335,4 @@ public class JdbcSerDe extends AbstractSerDe {
     return MapWritable.class;
   }
 
-
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
 }
diff --git a/kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduSerDe.java 
b/kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduSerDe.java
index 33c3e0e..b00e2fc 100644
--- a/kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduSerDe.java
+++ b/kudu-handler/src/java/org/apache/hadoop/hive/kudu/KuduSerDe.java
@@ -31,7 +31,6 @@ import org.apache.hadoop.hive.metastore.utils.StringUtils;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.io.ByteWritable;
 import org.apache.hadoop.hive.serde2.io.DoubleWritable;
 import org.apache.hadoop.hive.serde2.io.HiveDecimalWritable;
@@ -274,12 +273,6 @@ public class KuduSerDe extends AbstractSerDe {
     }
     return output;
   }
-
-  @Override
-  public SerDeStats getSerDeStats() {
-    // No support for statistics. That seems to be a popular answer.
-    return null;
-  }
 }
 
 
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java
index 4896bc4..9bdd5aa 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/io/arrow/ArrowColumnarBatchSerDe.java
@@ -36,7 +36,6 @@ import org.apache.hadoop.hive.ql.exec.vector.VectorAssignRow;
 import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.StructObjectInspector;
@@ -269,11 +268,6 @@ public class ArrowColumnarBatchSerDe extends AbstractSerDe 
{
   }
 
   @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
-  @Override
   public Object deserialize(Writable writable) {
     if(deserializer == null) {
       try {
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java
index 7252665..8280d3f 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/orc/OrcSerde.java
@@ -29,7 +29,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
@@ -38,8 +37,9 @@ import org.apache.hadoop.hive.serde2.typeinfo.TypeInfoUtils;
 import org.apache.hadoop.io.Writable;
 
 /**
- * A serde class for ORC.
- * It transparently passes the object to/from the ORC file reader/writer.
+ * A serde class for ORC. It transparently passes the object to/from the ORC
+ * file reader/writer. This SerDe does not support statistics, since serialized
+ * size doesn't make sense in the context of ORC files.
  */
 @SerDeSpec(schemaProps = {serdeConstants.LIST_COLUMNS, 
serdeConstants.LIST_COLUMN_TYPES, OrcSerde.COMPRESSION})
 public class OrcSerde extends AbstractSerDe {
@@ -129,15 +129,4 @@ public class OrcSerde extends AbstractSerDe {
     return inspector;
   }
 
-  /**
-   * Always returns null, since serialized size doesn't make sense in the
-   * context of ORC files.
-   *
-   * @return null
-   */
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
 }
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java
index 5d98b69..932dca1 100644
--- 
a/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java
+++ 
b/ql/src/java/org/apache/hadoop/hive/ql/io/parquet/serde/ParquetHiveSerDe.java
@@ -30,7 +30,6 @@ import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.ColumnProjectionUtils;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.io.ParquetHiveRecord;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
@@ -46,9 +45,9 @@ import org.apache.hadoop.io.Writable;
 import org.apache.parquet.hadoop.ParquetOutputFormat;
 
 /**
- *
- * A ParquetHiveSerDe for Hive (with the deprecated package mapred)
- *
+ * A ParquetHiveSerDe for Hive (with the deprecated package mapred). Parquet
+ * format and stats is collected in ParquetRecordWriterWrapper when writer gets
+ * closed.
  */
 @SerDeSpec(schemaProps = {serdeConstants.LIST_COLUMNS, 
serdeConstants.LIST_COLUMN_TYPES,
         ParquetOutputFormat.COMPRESSION})
@@ -147,17 +146,6 @@ public class ParquetHiveSerDe extends AbstractSerDe {
   }
 
   /**
-   * Return null for Parquet format and stats is collected in 
ParquetRecordWriterWrapper when writer gets
-   * closed.
-   *
-   * @return null
-   */
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
-  /**
    * @param table
    * @return true if the table has the parquet serde defined
    */
diff --git 
a/ql/src/java/org/apache/hadoop/hive/ql/io/protobuf/ProtobufSerDe.java 
b/ql/src/java/org/apache/hadoop/hive/ql/io/protobuf/ProtobufSerDe.java
index 86da30f..48677e9 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/io/protobuf/ProtobufSerDe.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/io/protobuf/ProtobufSerDe.java
@@ -30,7 +30,6 @@ import java.util.Set;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
 import 
org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory;
@@ -115,11 +114,6 @@ public abstract class ProtobufSerDe extends AbstractSerDe {
   }
 
   @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
-  @Override
   public Object deserialize(Writable blob) throws SerDeException {
     if (blob == null) {
       return null;
diff --git a/ql/src/java/org/apache/hadoop/hive/ql/log/syslog/SyslogSerDe.java 
b/ql/src/java/org/apache/hadoop/hive/ql/log/syslog/SyslogSerDe.java
index 8523c41..6fbe26b 100644
--- a/ql/src/java/org/apache/hadoop/hive/ql/log/syslog/SyslogSerDe.java
+++ b/ql/src/java/org/apache/hadoop/hive/ql/log/syslog/SyslogSerDe.java
@@ -28,7 +28,6 @@ import javax.annotation.Nullable;
 import org.apache.hadoop.conf.Configuration;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.StructTypeInfo;
@@ -77,11 +76,6 @@ public class SyslogSerDe extends AbstractSerDe {
   }
 
   @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
-  @Override
   public Object deserialize(final Writable writable) throws SerDeException {
     Text rowText = (Text) writable;
     if (rowText.getLength() == 0) {
diff --git 
a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestFileSinkOperator.java 
b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestFileSinkOperator.java
index ebb51c4..d4f362b 100644
--- a/ql/src/test/org/apache/hadoop/hive/ql/exec/TestFileSinkOperator.java
+++ b/ql/src/test/org/apache/hadoop/hive/ql/exec/TestFileSinkOperator.java
@@ -864,11 +864,6 @@ public class TestFileSinkOperator {
     public ObjectInspector getObjectInspector() throws SerDeException {
       return null;
     }
-
-    @Override
-    public SerDeStats getSerDeStats() {
-      return null;
-    }
   }
 
   public static class TFSOStatsPublisher implements StatsPublisher {
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java
index 7150a4e..34aadb9 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/AbstractSerDe.java
@@ -85,9 +85,14 @@ public abstract class AbstractSerDe implements Deserializer, 
Serializer {
       throws SerDeException;
 
   /**
-   * Returns statistics collected when serializing
+   * Returns statistics collected when serializing.
+   *
+   * @return A SerDeStats object or {@code null} if stats are not supported by
+   *         this SerDe.
    */
-  public abstract SerDeStats getSerDeStats();
+  public SerDeStats getSerDeStats() { 
+    return null;
+  }
 
   /**
    * Deserialize an object out of a Writable blob. In most cases, the return
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/JsonSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/JsonSerDe.java
index 9cbd344..cd33b9f 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/JsonSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/JsonSerDe.java
@@ -219,12 +219,6 @@ public class JsonSerDe extends AbstractSerDe {
     return Text.class;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics yet
-    return null;
-  }
-
   public StructTypeInfo getTypeInfo() {
     return rowTypeInfo;
   }
diff --git 
a/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
index 8c37522..e3fce82 100644
--- 
a/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
+++ 
b/serde/src/java/org/apache/hadoop/hive/serde2/MetadataTypedColumnsetSerDe.java
@@ -230,10 +230,4 @@ public class MetadataTypedColumnsetSerDe extends 
AbstractSerDe {
     return serializeCache;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git 
a/serde/src/java/org/apache/hadoop/hive/serde2/MultiDelimitSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/MultiDelimitSerDe.java
index 289f7fe..8c95d0b 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/MultiDelimitSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/MultiDelimitSerDe.java
@@ -302,10 +302,4 @@ public class MultiDelimitSerDe extends 
AbstractEncodingAwareSerDe {
     return SerDeUtils.transformTextToUTF8(text, this.charset);
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java
index 09b7630..1c8e2e8 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/NullStructSerDe.java
@@ -69,11 +69,6 @@ public class NullStructSerDe extends AbstractSerDe {
   }
 
   @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
-  @Override
   public void initialize(Configuration conf, Properties tbl) throws 
SerDeException {
   }
 
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/OpenCSVSerde.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/OpenCSVSerde.java
index d287df0..fa0f5cf 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/OpenCSVSerde.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/OpenCSVSerde.java
@@ -200,9 +200,4 @@ public final class OpenCSVSerde extends AbstractSerDe {
   public Class<? extends Writable> getSerializedClass() {
     return Text.class;
   }
-
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
 }
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java
index 71a9cfc..54a7143 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/RegexSerDe.java
@@ -290,10 +290,4 @@ public class RegexSerDe extends AbstractSerDe {
         throw new UnsupportedOperationException(
           "Regex SerDe doesn't support the serialize() method");
   }
-
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
 }
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java
index c57fe3b..ce304fd 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/TypedSerDe.java
@@ -87,10 +87,4 @@ public abstract class TypedSerDe extends AbstractSerDe {
     throw new RuntimeException("not supported");
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
 }
diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java 
b/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
index ff4a197..4649d94 100644
--- a/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
+++ b/serde/src/java/org/apache/hadoop/hive/serde2/avro/AvroSerDe.java
@@ -32,7 +32,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo;
@@ -247,12 +246,6 @@ public class AvroSerDe extends AbstractSerDe {
   }
 
   @Override
-  public SerDeStats getSerDeStats() {
-    // No support for statistics. That seems to be a popular answer.
-    return null;
-  }
-
-  @Override
   public boolean shouldStoreFieldsInMetastore(Map<String, String> tableParams) 
{
     return !hasExternalSchema(tableParams);
   }
diff --git 
a/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
 
b/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
index 999273c..222dde6 100644
--- 
a/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
+++ 
b/serde/src/java/org/apache/hadoop/hive/serde2/binarysortable/BinarySortableSerDe.java
@@ -40,7 +40,6 @@ import org.apache.hadoop.hive.serde2.ByteStream.Output;
 import org.apache.hadoop.hive.serde2.ByteStream.RandomAccessOutput;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.io.ByteWritable;
 import org.apache.hadoop.hive.serde2.io.DateWritableV2;
@@ -1104,12 +1103,6 @@ public class BinarySortableSerDe extends AbstractSerDe {
           signum == -1 ? !invert : invert);
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
   public static void serializeStruct(Output byteStream, Object[] fieldData,
       List<ObjectInspector> fieldOis, boolean[] sortableSortOrders,
       byte[] nullMarkers, byte[] notNullMarkers) throws SerDeException {
diff --git 
a/serde/src/java/org/apache/hadoop/hive/serde2/teradata/TeradataBinarySerde.java
 
b/serde/src/java/org/apache/hadoop/hive/serde2/teradata/TeradataBinarySerde.java
index ccf5f44..dac4d70 100644
--- 
a/serde/src/java/org/apache/hadoop/hive/serde2/teradata/TeradataBinarySerde.java
+++ 
b/serde/src/java/org/apache/hadoop/hive/serde2/teradata/TeradataBinarySerde.java
@@ -37,7 +37,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.SerDeException;
 import org.apache.hadoop.hive.serde2.SerDeSpec;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorFactory;
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
@@ -366,11 +365,6 @@ import static java.lang.String.format;
     }
   }
 
-  @Override public SerDeStats getSerDeStats() {
-    // no support for statistics
-    return null;
-  }
-
   /**
    * Deserialize an object out of a Writable blob. In most cases, the return
    * value of this function will be constant since the function will reuse the
diff --git 
a/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftJDBCBinarySerDe.java
 
b/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftJDBCBinarySerDe.java
index 1c5fd59..407c84c 100644
--- 
a/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftJDBCBinarySerDe.java
+++ 
b/serde/src/java/org/apache/hadoop/hive/serde2/thrift/ThriftJDBCBinarySerDe.java
@@ -29,7 +29,6 @@ import org.apache.hadoop.hive.serde.serdeConstants;
 import org.apache.hadoop.hive.serde2.AbstractSerDe;
 import org.apache.hadoop.hive.serde2.ByteStream;
 import org.apache.hadoop.hive.serde2.SerDeException;
-import org.apache.hadoop.hive.serde2.SerDeStats;
 import org.apache.hadoop.hive.serde2.SerDeUtils;
 import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector;
 import org.apache.hadoop.hive.serde2.objectinspector.StructField;
@@ -161,11 +160,6 @@ public class ThriftJDBCBinarySerDe extends AbstractSerDe {
     return null;
   }
 
-  @Override
-  public SerDeStats getSerDeStats() {
-    return null;
-  }
-
   /**
    * Return the bytes from this writable blob.
    * Eventually the client of this method will interpret the byte using the 
Thrift Protocol

Reply via email to