val sql = "select time from table"
val data = sql(sql).map(_.getTimeStamp(0).toString)
在hive表中,time&time;类型是timestamp。当我运行这个程序时,它会抛出NullPointerException。
val data = sql(sql).map(_.get(0).toString)
当我更改为上面的代码时,会抛出相同的异常。
有人能告诉我如何使用Spark在hive中获取TimeStamp数据吗? TKS。
答案 0 :(得分:0)
如果您尝试从Hive表中读取数据,则应使用HiveContext而不是SQLContext。
如果您使用的是Spark 2.0,可以尝试以下操作。
val spark = SparkSession
.builder()
.appName("Spark Hive Example")
.config("spark.sql.warehouse.dir", warehouseLocation)
.enableHiveSupport()
.getOrCreate()
import spark.implicits._
import spark.sql
val df = sql("select time from table")
df.select($"time").show()