我试图将cassandra表中的行映射到自定义类,但不断为DateTime值获取IllegalArgumentException。我已经尝试了我能想到的每种类型,它们都会抛出相同的异常。非常感谢帮助。我是scala noob btw。
case class ClickData(Uuid: String, Tile: String, Latestclick: Long, OriginalTimestamp: Long, Rating: Int)
----------------------------
val data = sc.cassandraTable[ClickData]("test", "user_data")
data.foreach((i: ClickData) =>
println("CASSIE ROW: "+i)
)
表格行示例:
uuid: 4hgfyt24854grh3fg34u3re47ff, tile: blah-blah, latest_click_timestamp: 2016-08-05 16:17:53+0100, original_timestamp: 2016-08-05 16:17:53+0100, rating: 1
答案 0 :(得分:4)
您可以在Spark here中找到默认的Java / Scala数据类型。根据您的数据库实际包含的内容,您可能需要尝试:
java.sql.Date
代表DateType
列java.sql.Timestamp
代表TimestampType
列答案 1 :(得分:0)
我的参数名称与列名称不匹配,正确复制它们修复了我的问题。它们也属于Long类型。