我有一个DStream,我想将每个元素写入套接字和cassandra DB。
我找到了一个使用Apache Kafka和两个使用者的解决方案,一个写入数据库,另一个写入套接字。
有没有办法在不使用此解决方法的情况下执行此操作?
我使用Java,所以请用这种语言发布代码。
答案 0 :(得分:1)
您只需要对DStream
中的rdd应用两个不同的操作:一个用于保存到cassandra,另一个用于将数据发送到其他任何输出。
此外,在这些操作之前缓存rdd以提高性能。
(伪代码,因为我不做Java)
dstream.foreachRDD{rdd =>
rdd.cache()
rdd.saveToCassandra(...)
rdd.foreach(...) // or rdd.foreachPartition(...)
}