aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReynold Xin <rxin@databricks.com>2015-11-21 00:10:13 -0800
committerReynold Xin <rxin@databricks.com>2015-11-21 00:10:13 -0800
commit54328b6d862fe62ae01bdd87df4798ceb9d506d6 (patch)
tree4169578eb606770ec6b13d1160fa6686b73d9d16
parent7d3f922c4ba76c4193f98234ae662065c39cdfb1 (diff)
downloadspark-54328b6d862fe62ae01bdd87df4798ceb9d506d6.tar.gz
spark-54328b6d862fe62ae01bdd87df4798ceb9d506d6.tar.bz2
spark-54328b6d862fe62ae01bdd87df4798ceb9d506d6.zip
[SPARK-11900][SQL] Add since version for all encoders
Author: Reynold Xin <rxin@databricks.com> Closes #9881 from rxin/SPARK-11900.
-rw-r--r--sql/catalyst/src/main/scala/org/apache/spark/sql/Encoder.scala63
1 files changed, 63 insertions, 0 deletions
diff --git a/sql/catalyst/src/main/scala/org/apache/spark/sql/Encoder.scala b/sql/catalyst/src/main/scala/org/apache/spark/sql/Encoder.scala
index 86bb536459..5cb8edf64e 100644
--- a/sql/catalyst/src/main/scala/org/apache/spark/sql/Encoder.scala
+++ b/sql/catalyst/src/main/scala/org/apache/spark/sql/Encoder.scala
@@ -45,13 +45,52 @@ trait Encoder[T] extends Serializable {
*/
object Encoders {
+ /**
+ * An encoder for nullable boolean type.
+ * @since 1.6.0
+ */
def BOOLEAN: Encoder[java.lang.Boolean] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable byte type.
+ * @since 1.6.0
+ */
def BYTE: Encoder[java.lang.Byte] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable short type.
+ * @since 1.6.0
+ */
def SHORT: Encoder[java.lang.Short] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable int type.
+ * @since 1.6.0
+ */
def INT: Encoder[java.lang.Integer] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable long type.
+ * @since 1.6.0
+ */
def LONG: Encoder[java.lang.Long] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable float type.
+ * @since 1.6.0
+ */
def FLOAT: Encoder[java.lang.Float] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable double type.
+ * @since 1.6.0
+ */
def DOUBLE: Encoder[java.lang.Double] = ExpressionEncoder()
+
+ /**
+ * An encoder for nullable string type.
+ * @since 1.6.0
+ */
def STRING: Encoder[java.lang.String] = ExpressionEncoder()
/**
@@ -59,6 +98,8 @@ object Encoders {
* This encoder maps T into a single byte array (binary) field.
*
* T must be publicly accessible.
+ *
+ * @since 1.6.0
*/
def kryo[T: ClassTag]: Encoder[T] = genericSerializer(useKryo = true)
@@ -67,6 +108,8 @@ object Encoders {
* This encoder maps T into a single byte array (binary) field.
*
* T must be publicly accessible.
+ *
+ * @since 1.6.0
*/
def kryo[T](clazz: Class[T]): Encoder[T] = kryo(ClassTag[T](clazz))
@@ -77,6 +120,8 @@ object Encoders {
* Note that this is extremely inefficient and should only be used as the last resort.
*
* T must be publicly accessible.
+ *
+ * @since 1.6.0
*/
def javaSerialization[T: ClassTag]: Encoder[T] = genericSerializer(useKryo = false)
@@ -87,6 +132,8 @@ object Encoders {
* Note that this is extremely inefficient and should only be used as the last resort.
*
* T must be publicly accessible.
+ *
+ * @since 1.6.0
*/
def javaSerialization[T](clazz: Class[T]): Encoder[T] = javaSerialization(ClassTag[T](clazz))
@@ -120,12 +167,20 @@ object Encoders {
)
}
+ /**
+ * An encoder for 2-ary tuples.
+ * @since 1.6.0
+ */
def tuple[T1, T2](
e1: Encoder[T1],
e2: Encoder[T2]): Encoder[(T1, T2)] = {
ExpressionEncoder.tuple(encoderFor(e1), encoderFor(e2))
}
+ /**
+ * An encoder for 3-ary tuples.
+ * @since 1.6.0
+ */
def tuple[T1, T2, T3](
e1: Encoder[T1],
e2: Encoder[T2],
@@ -133,6 +188,10 @@ object Encoders {
ExpressionEncoder.tuple(encoderFor(e1), encoderFor(e2), encoderFor(e3))
}
+ /**
+ * An encoder for 4-ary tuples.
+ * @since 1.6.0
+ */
def tuple[T1, T2, T3, T4](
e1: Encoder[T1],
e2: Encoder[T2],
@@ -141,6 +200,10 @@ object Encoders {
ExpressionEncoder.tuple(encoderFor(e1), encoderFor(e2), encoderFor(e3), encoderFor(e4))
}
+ /**
+ * An encoder for 5-ary tuples.
+ * @since 1.6.0
+ */
def tuple[T1, T2, T3, T4, T5](
e1: Encoder[T1],
e2: Encoder[T2],