aboutsummaryrefslogtreecommitdiff
path: root/sql/hive/v0.12.0/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'sql/hive/v0.12.0/src/main')
-rw-r--r--sql/hive/v0.12.0/src/main/scala/org/apache/spark/sql/hive/Shim12.scala57
1 files changed, 57 insertions, 0 deletions
diff --git a/sql/hive/v0.12.0/src/main/scala/org/apache/spark/sql/hive/Shim12.scala b/sql/hive/v0.12.0/src/main/scala/org/apache/spark/sql/hive/Shim12.scala
index 8cb81db8a9..afc252ac27 100644
--- a/sql/hive/v0.12.0/src/main/scala/org/apache/spark/sql/hive/Shim12.scala
+++ b/sql/hive/v0.12.0/src/main/scala/org/apache/spark/sql/hive/Shim12.scala
@@ -29,7 +29,11 @@ import org.apache.hadoop.hive.ql.metadata.{Hive, Partition, Table}
import org.apache.hadoop.hive.ql.plan.{CreateTableDesc, FileSinkDesc, TableDesc}
import org.apache.hadoop.hive.ql.processors._
import org.apache.hadoop.hive.ql.stats.StatsSetupConst
+import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory
+import org.apache.hadoop.hive.serde2.objectinspector.primitive.PrimitiveObjectInspectorFactory
+import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector
import org.apache.hadoop.hive.serde2.{Deserializer, ColumnProjectionUtils}
+import org.apache.hadoop.hive.serde2.{io => hiveIo}
import org.apache.hadoop.{io => hadoopIo}
import org.apache.hadoop.mapred.InputFormat
import scala.collection.JavaConversions._
@@ -50,6 +54,59 @@ private[hive] object HiveShim {
new TableDesc(serdeClass, inputFormatClass, outputFormatClass, properties)
}
+ def getPrimitiveWritableConstantObjectInspector(value: String): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.STRING, new hadoopIo.Text(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Int): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.INT, new hadoopIo.IntWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Double): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.DOUBLE, new hiveIo.DoubleWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Boolean): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.BOOLEAN, new hadoopIo.BooleanWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Long): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.LONG, new hadoopIo.LongWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Float): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.FLOAT, new hadoopIo.FloatWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Short): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.SHORT, new hiveIo.ShortWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Byte): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.BYTE, new hiveIo.ByteWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: Array[Byte]): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.BINARY, new hadoopIo.BytesWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: java.sql.Date): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.DATE, new hiveIo.DateWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: java.sql.Timestamp): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.TIMESTAMP, new hiveIo.TimestampWritable(value))
+
+ def getPrimitiveWritableConstantObjectInspector(value: BigDecimal): ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.DECIMAL,
+ new hiveIo.HiveDecimalWritable(HiveShim.createDecimal(value.underlying())))
+
+ def getPrimitiveNullWritableConstantObjectInspector: ObjectInspector =
+ PrimitiveObjectInspectorFactory.getPrimitiveWritableConstantObjectInspector(
+ PrimitiveCategory.VOID, null)
+
def createDriverResultsArray = new JArrayList[String]
def processResults(results: JArrayList[String]) = results