出错伪代码如下:
//出错的点在这里
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
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/287993.html