我正在尝试用幻像创建一个自定义UDT。
case class CreationTrack(source_ip: String, created_by: String, created_at: UUID)
abstract class Registrations extends CassandraTable[Registrations, CreationTrack] with RootConnector {
object creation_details extends JsonColumn[CreationTrack](this){
override def fromJson(obj: String): CreationTrack = {
JsonParser.parse(obj).extract[CreationTrack]
}
override def toJson(obj: CreationTrack): String = {
compactRender(Extraction.decompose(obj))
}
}
}
输入:
CreationTrack("192.123.4.5","arun", UUIDs.timeBased())
但我得到了,
Invalid STRING constant{"source_ip":"192.123.4.5","created_by":"arun","created_at":{}}
我认为在json转换上存在UUID类型转换的问题。但我被困在这里。有帮助吗? 提前谢谢!
PS:我知道有一个名为@UDT的选项可以在phantom-pro中解决这个问题。但我不想在这里使用专业版。
答案 0 :(得分:0)
这是一个已解决的问题,phantom-pro中有一个专门用于解决UDT / UDA / UDF支持的模块。网站和GitHub文档的详细信息,只是希望这个问题得到解决,以防未来的Google员工正在寻找答案。