diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/Description.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/Description.java index a9af71af33..536060eecc 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/Description.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/Description.java @@ -18,6 +18,9 @@ package org.apache.hadoop.hive.ql.exec; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; @@ -25,6 +28,8 @@ * Description. * */ +@InterfaceAudience.Public +@InterfaceStability.Stable @Retention(RetentionPolicy.RUNTIME) public @interface Description { String value() default "_FUNC_ is undocumented"; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/MapredContext.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/MapredContext.java index 7d5165842e..c2ae4d71be 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/MapredContext.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/MapredContext.java @@ -24,6 +24,8 @@ import java.util.ArrayList; import java.util.List; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.hadoop.hive.conf.HiveConf; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDF.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDF.java index f8bc889ad0..f2b4009a73 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDF.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDF.java @@ -52,7 +52,10 @@ * * @see Description * @see UDFType + * + * @deprecated use {@link org.apache.hadoop.hive.ql.udf.generic.GenericUDF} */ +@Deprecated @UDFType(deterministic = true) public class UDF { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java index de2d1d952b..df738d0ba5 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentException.java @@ -25,6 +25,8 @@ import java.util.Comparator; import java.util.List; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.parse.SemanticException; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspectorUtils; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo; @@ -32,6 +34,8 @@ /** * exception class, thrown when udf argument have something wrong. */ +@InterfaceAudience.Public +@InterfaceStability.Stable public class UDFArgumentException extends SemanticException { public UDFArgumentException() { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentLengthException.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentLengthException.java index 5ce2d5eb2b..1a5bd9b08c 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentLengthException.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentLengthException.java @@ -18,9 +18,14 @@ package org.apache.hadoop.hive.ql.exec; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; + /** * exception class, thrown when udf arguments have wrong length. */ +@InterfaceAudience.Public +@InterfaceStability.Stable public class UDFArgumentLengthException extends UDFArgumentException { public UDFArgumentLengthException(String message) { super(message); diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentTypeException.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentTypeException.java index 70a92961e1..8f8cc930fb 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentTypeException.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFArgumentTypeException.java @@ -18,10 +18,14 @@ package org.apache.hadoop.hive.ql.exec; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; + /** * exception class, thrown when udf arguments have wrong types. */ - +@InterfaceAudience.Public +@InterfaceStability.Stable public class UDFArgumentTypeException extends UDFArgumentException { int argumentId; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFMethodResolver.java b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFMethodResolver.java index 4a6f0deb87..84cfc04263 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFMethodResolver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/exec/UDFMethodResolver.java @@ -36,6 +36,7 @@ * simply have to extend UDFBaseNumericOp class. For the default resolution the * UDF implementation simply needs to extend the UDF class. */ +@Deprecated public interface UDFMethodResolver { /** diff --git a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java index a23d8c008a..e756445707 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/metadata/HiveException.java @@ -18,12 +18,15 @@ package org.apache.hadoop.hive.ql.metadata; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.ErrorMsg; /** * Generic exception class for Hive. */ - +@InterfaceAudience.Public +@InterfaceStability.Stable public class HiveException extends Exception { /** * Standard predefined message with error code and possibly SQL State, etc. diff --git a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticException.java b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticException.java index cac5582299..0a5f9e1f83 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticException.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/parse/SemanticException.java @@ -18,13 +18,16 @@ package org.apache.hadoop.hive.ql.parse; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.ErrorMsg; import org.apache.hadoop.hive.ql.metadata.HiveException; /** * Exception from SemanticAnalyzer. */ - +@InterfaceAudience.Public +@InterfaceStability.Stable public class SemanticException extends HiveException { private static final long serialVersionUID = 1L; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/WindowFrameDef.java b/ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/WindowFrameDef.java index 346abe3653..b9a3053646 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/WindowFrameDef.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/plan/ptf/WindowFrameDef.java @@ -18,9 +18,13 @@ package org.apache.hadoop.hive.ql.plan.ptf; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.metadata.HiveException; import org.apache.hadoop.hive.ql.parse.WindowingSpec.WindowType; +@InterfaceAudience.Public +@InterfaceStability.Stable public class WindowFrameDef { private WindowType windowType; private BoundaryDef start; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java index 4d4e61da2d..f1048913f7 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/AbstractGenericUDAFResolver.java @@ -30,6 +30,7 @@ * GenericUDAFParameterInfo interface. * */ +@Deprecated public abstract class AbstractGenericUDAFResolver implements GenericUDAFResolver2 { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/Collector.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/Collector.java index c73f2deb62..f58c23dab8 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/Collector.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/Collector.java @@ -18,11 +18,15 @@ package org.apache.hadoop.hive.ql.udf.generic; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.metadata.HiveException; /** * Collector gets data from a source. */ +@InterfaceAudience.Public +@InterfaceStability.Stable public interface Collector { /** * Other classes will call collect() with the data that it has. diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java index 3a982768e3..f873011961 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFEvaluator.java @@ -24,6 +24,8 @@ import java.lang.annotation.RetentionPolicy; import java.util.List; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.exec.MapredContext; import org.apache.hadoop.hive.ql.exec.PTFPartition; import org.apache.hadoop.hive.ql.metadata.HiveException; @@ -46,9 +48,13 @@ * signature - for example, it's easy to write a GenericUDAF that accepts * array, array> and so on (arbitrary levels of nesting). */ +@InterfaceAudience.Public +@InterfaceStability.Stable @UDFType(deterministic = true) public abstract class GenericUDAFEvaluator implements Closeable { + @InterfaceAudience.Public + @InterfaceStability.Stable @Retention(RetentionPolicy.RUNTIME) public static @interface AggregationType { boolean estimable() default false; @@ -151,6 +157,8 @@ public ObjectInspector init(Mode m, ObjectInspector[] parameters) throws HiveExc public static interface AggregationBuffer { }; + @InterfaceAudience.Public + @InterfaceStability.Stable public static abstract class AbstractAggregationBuffer implements AggregationBuffer { /** * Estimate the size of memory which is occupied by aggregation buffer. diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java index 675d9f34b1..01ea59f2a2 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFParameterInfo.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.hive.ql.udf.generic; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector; import org.apache.hadoop.hive.serde2.typeinfo.TypeInfo; @@ -40,6 +42,8 @@ * data bound to parameter types for DISTINCT implementation is * handled by the framework and not the COUNT UDAF implementation. */ +@InterfaceAudience.Public +@InterfaceStability.Stable public interface GenericUDAFParameterInfo { /** diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java index d66b29a478..b0489e38d3 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDAFResolver2.java @@ -37,6 +37,7 @@ * data bound to parameter types for DISTINCT implementation is * handled by the framework and not the COUNT UDAF implementation. */ +@Deprecated @SuppressWarnings("deprecation") public interface GenericUDAFResolver2 extends GenericUDAFResolver { diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java index 6b67dea122..0898de6c29 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDF.java @@ -24,6 +24,8 @@ import java.text.ParseException; import java.util.Date; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.exec.FunctionRegistry; import org.apache.hadoop.hive.ql.exec.MapredContext; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; @@ -64,6 +66,8 @@ * array, array> and so on (arbitrary levels of nesting). 4. It * can do short-circuit evaluations using DeferedObject. */ +@InterfaceAudience.Public +@InterfaceStability.Stable @UDFType(deterministic = true) public abstract class GenericUDF implements Closeable { @@ -74,6 +78,8 @@ * A Defered Object allows us to do lazy-evaluation and short-circuiting. * GenericUDF use DeferedObject to pass arguments. */ + @InterfaceAudience.Public + @InterfaceStability.Stable public static interface DeferredObject { void prepare(int version) throws HiveException; Object get() throws HiveException; diff --git a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.java b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.java index a93a264edf..fa74a5268b 100644 --- a/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.java +++ b/ql/src/java/org/apache/hadoop/hive/ql/udf/generic/GenericUDTF.java @@ -20,6 +20,8 @@ import java.util.List; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.ql.exec.MapredContext; import org.apache.hadoop.hive.ql.exec.UDFArgumentException; import org.apache.hadoop.hive.ql.metadata.HiveException; @@ -33,7 +35,8 @@ * Generates a variable number of output rows for a single input row. Useful for * explode(array)... */ - +@InterfaceAudience.Public +@InterfaceStability.Stable public abstract class GenericUDTF { Collector collector = null; diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java index ca96e33600..7025ebfc20 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/ObjectInspectorConverters.java @@ -22,6 +22,8 @@ import java.util.List; import java.util.Map; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.serde2.objectinspector.primitive.JavaStringObjectInspector; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorConverter; import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory; @@ -54,6 +56,8 @@ /** * A converter which will convert objects with one ObjectInspector to another. */ + @InterfaceAudience.Public + @InterfaceStability.Stable public static interface Converter { Object convert(Object input); } diff --git a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java index b03754040a..f95dd375b3 100644 --- a/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java +++ b/serde/src/java/org/apache/hadoop/hive/serde2/objectinspector/PrimitiveObjectInspector.java @@ -17,6 +17,8 @@ */ package org.apache.hadoop.hive.serde2.objectinspector; +import org.apache.hadoop.hive.common.classification.InterfaceAudience; +import org.apache.hadoop.hive.common.classification.InterfaceStability; import org.apache.hadoop.hive.serde2.typeinfo.PrimitiveTypeInfo; @@ -24,6 +26,8 @@ * PrimitiveObjectInspector. * */ +@InterfaceAudience.Public +@InterfaceStability.Stable public interface PrimitiveObjectInspector extends ObjectInspector { /**