2
私はSpark/Cassandraアプリケーション(java)に取り組んでおり、UDT値を読み書きするときに問題が発生しました。すなわちCassandraのUDTをSparkで読む(Javaで)
、
CassandraJavaRDD<Pojo> rdd = javaFunctions(sc).cassandraTable("keyspace", "table", mapRowTo(Pojo.class));
は、マッピングのみプリミティブ型を含むC *テーブルから行われたときに正常に動作しますが、いくつかの列のためのUDTが使用されている場合、NPE
Requested a TypeTag of the GettableToMappedTypeConverter which can't deserialize TypeTags due to Scala 2.10 TypeTag limitation. They come back as nulls and therefore you see this NPE.
で失敗します。
このNPEをバイパスして正しい逆シリアル化を達成するには、どのような方法が最適ですか?
thnx
ps。不思議なことに、Cの*テーブルへのJava POJOを書くことのような些細なコードで(プリミティブとのUDTの両方)正常に動作します:
javaFunctions(rdd).writerBuilder("keyspace", "table", mapToRow(Pojo.class)).saveToCassandra();