不支持java.util.Date

时间:2015-07-09 08:29:08

标签: java apache-spark

我想将RDD写入MYSQLRDD包含java.util.Date类型。

rdd.map(f=> FeatureData(
           f.get("name").toString, 
           f.get("value").toString.toDouble, 
           f.get("time").asInstanceOf[Date],
           f.get("period").toString))
    .toDF()

在此RDD中,time的值类型的键也是java.util.Date,它只是得到错误 [See nested exception: java.lang.UnsupportedOperationException: Schema for type java.util.Date is not supported

1 个答案:

答案 0 :(得分:28)

首先将 java.util.Date 转换为 java.sql.Date 。然后使用 java.sql.Date 的数据运行您的sql。示例代码:

java.util.Date utilDate = new java.util.Date();
java.sql.Date sqlDate = new java.sql.Date(utilDate.getTime());

<强>更新 AndreHolzner建议使用java.sql.Timestamp。我还没有尝试过,但通常Timestamp优于Date