Ich versuche, Stromdaten in Cassandra mit Spark und Cassandra Spark Connector zu speichern.Speichern null Werte in Cassandra mit DataStax Spark Connector
Ich habe so etwas wie die folgenden:
eine Model-Klasse erstellen:
public class ContentModel {
String id;
String available_at; //may be null
public ContentModel(String id, String available_at){
this.id=id;
this.available_at=available_at,
}
}
Mapping Streaming Content Modell:
JavaDStream<ContentModel> contentsToModel = myStream.map(new Function<String, ContentModel>() {
@Override
public ContentModel call(String content) throws Exception {
String[] parts = content.split(",");
return new ContentModel(parts[0], parts[1]);
}
});
sparen
CassandraStreamingJavaUtil.javaFunctions(contentsToModel).writerBuilder("data", "contents", CassandraJavaUtil.mapToRow(ContentModel.class)).saveToCassandra();
Wenn s ome Werte sind null
ich die folgende Fehlermeldung erhalten:
com.datastax.spark.connector.types.TypeConversionException: Cannot convert object null to struct.ValueRepr.
Gibt es eine Möglichkeit Nullwerte zu speichern Funken Cassandra Connector?
Ich glaube nicht. Ich habe versucht, Null Werte in Cassandra Tabelle mit Datastax's Java-Mapping-Treiber einfügen und es ist erfolgreich, auch wenn der Spaltentyp ist Int und Float. Und Cassandra zeigt ebenfalls null an und gibt null zurück, daher ist die Aussage "Cassandra hat nicht das Konzept f null" nicht sehr überzeugend. –