我正在使用Scala中的Spark以及我开发的带有预定义Schema的数据集。
我遇到的问题是当我尝试按类型为TimestampType的字段对当前RDD进行排序时,日志中会显示以下消息。
No implicit Ordering defined for org.apache.spark.sql.types.TimestampType.
对于给定的代码行。
.sortBy(event => event
.getAs("sample.timestamp")
.asInstanceOf[TimestampType],
ascending = true,
1)
答案 0 :(得分:2)
TimestampType
不是列中实际的值类型。它定义了架构级别的数据类型(在StructType
- > StructField
s中),但未定义值类型应为java.sql.Timestamp
。
如果您将值转换为Timestamp
,则排序应该正常。