gpt4 book ai didi

java - 使用 DataStax Spark 连接器在 Cassandra 中保存空值

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:27 26 4
gpt4 key购买 nike

我尝试使用 Spark 和 Cassandra Spark Connector 将流数据保存到 Cassandra。

我做了类似下面的东西:

创建模型类:

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,
}
}

将流媒体内容映射到模型:

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]);
}
});

保存:

CassandraStreamingJavaUtil.javaFunctions(contentsToModel).writerBuilder("data", "contents", CassandraJavaUtil.mapToRow(ContentModel.class)).saveToCassandra();

如果某些值为 null,我会收到以下错误:

com.datastax.spark.connector.types.TypeConversionException: Cannot convert object null to struct.ValueRepr.

有没有办法使用 Spark Cassandra 连接器存储空值?

最佳答案

在 Scala 中,您也可以为此使用 Options。

关于java - 使用 DataStax Spark 连接器在 Cassandra 中保存空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32994609/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com