2017-07-28 8 views
0

私はファントムでカスタム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()) 

しかし、私は取得しています、私はJSON変換のUUIDの型キャストの問題があると信じて

Invalid STRING constant{"source_ip":"192.123.4.5","created_by":"arun","created_at":{}} 

。しかし、私はここにくっついた。どんな助け? ありがとうございます!

PS:この問題を解決するには、phantom-proで@UDTというオプションが利用できることがわかりました。しかし、私はここでプロ版を使いたいとは思わない。

+0

残念ながら、JSONはすべてを文字列としてエンコードするので、UDTの代わりにJSON列を使用することはできません。したがって、phantom-proが唯一の賭けです。あなたが私に電子メールを送ると、それについてもっと学ぶのを手伝ってうれしいです。 – flavian

+0

@flavianこれであなたとつながってうれしいです。 UDTのプロ版を試してみたい。あなたのメールIDですか? – Akan

答えて

0

これは解決された問題であり、特にUDT/UDA/UDFのサポートに対処するためにphantom-proで利用できるモジュールがあります。 GoogleのWebサイトとGitHubのドキュメントの詳細は、将来のGoogle社員が回答を探している場合に備えて、この質問を回答したかっただけです。

関連する問題