从结果集scala中检索对象数组

时间:2019-01-25 00:23:47

标签: scala hive hiveql

尝试使用ResultSet从配置单元JDBC resultSet.getArray("variables")检索Array对象,但收到错误消息Java.sql.SQLException: Method Not Supported

代码:

case class Variables(val variable:String, val type:String, val value:String)
case class Updates(val title:String, val variables:Array[Variables])

val resultSet = stmt.executeQuery("select * from updates")

val collection = new Iterator[Updates]{
def hasNext = resultSet.next()
def next = Updates(resultSet.getString("title"),resultSet.getArray("variables").getArray.asInstanceOf[Array[Variables]])
}.toStream

错误:

Java.sql.SQLException: Method Not Supported at org.apache.hive.jdbc.HiveBaseResultSet.getArray(HiveBaseResultSet.java:117)

还请提出是否有任何直接方法可以在没有这种转换的情况下将resultSet对象投射到case class Updates

谢谢

1 个答案:

答案 0 :(得分:0)

您尝试使用.getObject函数吗?

getObject(int columnIndex, Class<T> type) or
getObject(String columnLabel, Class<T> type)