spark 解决 java.util.Date is not a valid external type for schema of Date
出错伪代码如下:
//出错的点在这里
import java.util.Date
...
val t_rdd = t_frame.rdd.map(row => {
val photo_url = row.getAs[String]("photo_url")
val longitude = row.getAs[String]("longitude")
val latitude = row.getAs[String]("latitude")
val imei = row.getAs[String]("imei")
val pic_time = row.getAs[String]("pic_time")
val date_pic_time = new Date(pic_time.toLong)
Row(
photo_url,
longitude,
latitude,
imei,
date_pic_time,
)
)
val structType = StructType(
Seq(
StructField("photo_url", StringType, nullable = true),
StructField("longitude", StringType, nullable = true),
StructField("latitude", StringType, nullable = true),
StructField("imei", StringType, nullable = true),
StructField("pic_time", DateType),
)
)
spark.createDataFrame(t_rdd, structType)
当时有Row
和structType
来创建DataFrame
时,Date
的类型必须是java.sql.Date
, 而如果是java.util.Date
在后续操作过程中会报 java.util.Date is not a valid external type for schema of Date
本文作者:明月照江江
本文链接:https://www.cnblogs.com/gradyblog/p/16663213.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步