Provo a salvare i dati del flusso in Cassandra usando Spark e Cassandra Spark Connector.Salvare valori null in Cassandra usando DataStax Spark Connector
ho fatto qualcosa di simile al seguente:
Creare una classe del modello:
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 di contenuti al modello:
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]);
}
});
Save:
CassandraStreamingJavaUtil.javaFunctions(contentsToModel).writerBuilder("data", "contents", CassandraJavaUtil.mapToRow(ContentModel.class)).saveToCassandra();
Se S I valori sono ome null
ottengo il seguente errore:
com.datastax.spark.connector.types.TypeConversionException: Cannot convert object null to struct.ValueRepr.
C'è un modo per memorizzare i valori null usando Spark Cassandra connettore?
Io non la penso così. Ho provato ad inserire valori null nella tabella di Cassandra utilizzando il driver di mapping java di Datastax e ha esito positivo, anche se il tipo di colonna è int e float. E Cassandra mostra anche null e restituisce null, quindi l'affermazione "Cassandra non ha il concetto f null" non è molto convincente. –