Skip to content

Commit ec62d05

Browse files
committed
[SPARK-LLAP-135] Bump to HDP 2.6.1. (#136)
## What changes were proposed in this pull request? This bumps the Hive dependency to HDP 2.6.1.0 for Spark-LLAP master/branch-2.1. ## How was this patch tested? - [x] Travis CI should passed. - [x] Ranger test should passed. ``` [hive@hdp26-6 python]$ python spark-ranger-secure-test.py ........................ ---------------------------------------------------------------------- Ran 24 tests in 3723.090s OK ``` This closes #135 . (cherry picked from commit c0cafa9) Signed-off-by: Dongjoon Hyun <[email protected]> Signed-off-by: Dongjoon Hyun <[email protected]>
1 parent 20cf7f7 commit ec62d05

File tree

4 files changed

+41
-35
lines changed

4 files changed

+41
-35
lines changed

build.sbt

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ val scalatestVersion = "2.2.6"
77

88
sparkVersion := sys.props.getOrElse("spark.version", "2.1.1")
99

10-
val hadoopVersion = sys.props.getOrElse("hadoop.version", "2.7.3")
11-
val hiveVersion = sys.props.getOrElse("hive.version", "2.1.0.2.6.0.3-8")
10+
val hadoopVersion = sys.props.getOrElse("hadoop.version", "2.7.3.2.6.1.0-129")
11+
val hiveVersion = sys.props.getOrElse("hive.version", "2.1.0.2.6.1.0-129")
1212
val log4j2Version = sys.props.getOrElse("log4j2.version", "2.4.1")
1313
val tezVersion = sys.props.getOrElse("tez.version", "0.8.4")
1414
val thriftVersion = sys.props.getOrElse("thrift.version", "0.9.3")

src/main/scala/com/hortonworks/spark/sql/hive/llap/HS2JDBCWrapper.scala

+29-25
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,14 @@ import java.net.URI
2121
import java.sql.{Connection, DatabaseMetaData, Driver, DriverManager, ResultSet, ResultSetMetaData,
2222
SQLException}
2323

24-
import collection.JavaConverters._
24+
import scala.collection.JavaConverters._
2525
import scala.collection.mutable.ArrayBuffer
2626

27-
import org.slf4j.LoggerFactory
28-
29-
import org.apache.hadoop.hive.llap.FieldDesc
3027
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category
3128
import org.apache.hadoop.hive.serde2.objectinspector.PrimitiveObjectInspector.PrimitiveCategory
3229
import org.apache.hadoop.hive.serde2.typeinfo._
30+
import org.slf4j.LoggerFactory
31+
3332
import org.apache.spark.sql.types._
3433

3534

@@ -259,43 +258,48 @@ class JDBCWrapper {
259258

260259
private def getCatalystType(typeInfo: TypeInfo) : DataType = {
261260
typeInfo.getCategory match {
262-
case Category.PRIMITIVE => getCatalystType(typeInfo.asInstanceOf[PrimitiveTypeInfo])
263-
case Category.LIST => ArrayType(
264-
getCatalystType(typeInfo.asInstanceOf[ListTypeInfo].getListElementTypeInfo))
265-
case Category.MAP => MapType(
261+
case Category.PRIMITIVE =>
262+
getCatalystType(typeInfo.asInstanceOf[PrimitiveTypeInfo])
263+
case Category.LIST =>
264+
ArrayType(getCatalystType(typeInfo.asInstanceOf[ListTypeInfo].getListElementTypeInfo))
265+
case Category.MAP =>
266+
MapType(
266267
getCatalystType(typeInfo.asInstanceOf[MapTypeInfo].getMapKeyTypeInfo),
267268
getCatalystType(typeInfo.asInstanceOf[MapTypeInfo].getMapValueTypeInfo))
268-
case Category.STRUCT => StructType(getCatalystStructFields(typeInfo.asInstanceOf[StructTypeInfo]))
269-
case _ => throw new SQLException("Unsupported type " + typeInfo)
269+
case Category.STRUCT =>
270+
StructType(getCatalystStructFields(typeInfo.asInstanceOf[StructTypeInfo]))
271+
case _ =>
272+
throw new SQLException("Unsupported type " + typeInfo)
270273
}
271274
}
272275

273276
private def getCatalystType(primitiveTypeInfo: PrimitiveTypeInfo) : DataType = {
274277
primitiveTypeInfo.getPrimitiveCategory match {
275-
case PrimitiveCategory.BOOLEAN => BooleanType
276-
case PrimitiveCategory.BYTE => ByteType
277-
case PrimitiveCategory.SHORT => ShortType
278-
case PrimitiveCategory.INT => IntegerType
279-
case PrimitiveCategory.LONG => LongType
280-
case PrimitiveCategory.FLOAT => FloatType
281-
case PrimitiveCategory.DOUBLE => DoubleType
282-
case PrimitiveCategory.STRING => StringType
283-
case PrimitiveCategory.CHAR => StringType
284-
case PrimitiveCategory.VARCHAR => StringType
285-
case PrimitiveCategory.DATE => DateType
278+
case PrimitiveCategory.BOOLEAN => BooleanType
279+
case PrimitiveCategory.BYTE => ByteType
280+
case PrimitiveCategory.SHORT => ShortType
281+
case PrimitiveCategory.INT => IntegerType
282+
case PrimitiveCategory.LONG => LongType
283+
case PrimitiveCategory.FLOAT => FloatType
284+
case PrimitiveCategory.DOUBLE => DoubleType
285+
case PrimitiveCategory.STRING => StringType
286+
case PrimitiveCategory.CHAR => StringType
287+
case PrimitiveCategory.VARCHAR => StringType
288+
case PrimitiveCategory.DATE => DateType
286289
case PrimitiveCategory.TIMESTAMP => TimestampType
287-
case PrimitiveCategory.BINARY => BinaryType
288-
case PrimitiveCategory.DECIMAL => DecimalType(
290+
case PrimitiveCategory.BINARY => BinaryType
291+
case PrimitiveCategory.DECIMAL => DecimalType(
289292
primitiveTypeInfo.asInstanceOf[DecimalTypeInfo].getPrecision,
290293
primitiveTypeInfo.asInstanceOf[DecimalTypeInfo].getScale)
291294
case _ => throw new SQLException("Unsupported type " + primitiveTypeInfo)
292295
}
293296
}
294297

295298
private def getCatalystStructFields(structTypeInfo: StructTypeInfo) : Array[StructField] = {
296-
structTypeInfo.getAllStructFieldNames.asScala.zip(structTypeInfo.getAllStructFieldTypeInfos.asScala).map(
299+
structTypeInfo.getAllStructFieldNames.asScala
300+
.zip(structTypeInfo.getAllStructFieldTypeInfos.asScala).map(
297301
{ case (fieldName, fieldType) => new StructField(fieldName, getCatalystType(fieldType)) }
298-
).toArray
302+
).toArray
299303
}
300304

301305
private def getCatalystType(typeName: String) : DataType = {

src/main/scala/com/hortonworks/spark/sql/hive/llap/RowConverter.scala

+8-7
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,12 @@
1616
*/
1717
package com.hortonworks.spark.sql.hive.llap
1818

19-
import collection.JavaConverters._
20-
import org.apache.hadoop.hive.llap.{Schema}
19+
import scala.collection.JavaConverters._
20+
21+
import org.apache.hadoop.hive.llap.Schema
2122
import org.apache.hadoop.hive.serde2.objectinspector.ObjectInspector.Category
2223
import org.apache.hadoop.hive.serde2.typeinfo._
24+
2325
import org.apache.spark.sql.Row
2426

2527
object RowConverter {
@@ -44,14 +46,13 @@ object RowConverter {
4446
listElement => convertValue(
4547
listElement,
4648
colType.asInstanceOf[ListTypeInfo].getListElementTypeInfo))
47-
case Category.MAP => {
49+
case Category.MAP =>
4850
// Try LinkedHashMap to preserve order of elements - is that necessary?
49-
var convertedMap = scala.collection.mutable.LinkedHashMap.empty[Any, Any]
51+
var map = scala.collection.mutable.LinkedHashMap.empty[Any, Any]
5052
value.asInstanceOf[java.util.Map[Any, Any]].asScala.foreach((tuple) =>
51-
convertedMap(convertValue(tuple._1, colType.asInstanceOf[MapTypeInfo].getMapKeyTypeInfo)) =
53+
map(convertValue(tuple._1, colType.asInstanceOf[MapTypeInfo].getMapKeyTypeInfo)) =
5254
convertValue(tuple._2, colType.asInstanceOf[MapTypeInfo].getMapValueTypeInfo))
53-
convertedMap
54-
}
55+
map
5556
case Category.STRUCT =>
5657
// Struct value is just a list of values. Convert each value based on corresponding typeinfo
5758
Row.fromSeq(

src/main/scala/org/apache/spark/sql/hive/llap/LlapExternalCatalog.scala

+2-1
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,8 @@ private[spark] class LlapExternalCatalog(
229229
val nullable = true // Hive cols nullable
230230
val isSigned = true
231231
val columnType =
232-
DefaultJDBCWrapper.getCatalystType(dataType, typeName, fieldSize, fieldScale, isSigned)
232+
DefaultJDBCWrapper.getCatalystType(
233+
dataType, typeName, fieldSize, fieldScale, isSigned)
233234
schema.add(columnName, columnType, nullable)
234235
}
235236
CatalogTable(

0 commit comments

Comments
 (0)