Перейдя к созданию системы анализа в реальном времени, я использую SparkStreaming и Cassandra в качестве процессора данных и ресурса.Я думаю, что чтение данных из таблиц Cassandra с SparkStreaming.И таблица постоянно обновляется.После выполнения чего-то вроде соединения данные будут сохранены в другой Cassandra Table.Не уверен, что каждый СДР в DStream - это целая таблица.А если нет, действие «Присоединиться» может быть неудачным, поскольку данные с тем же ключом могут отсутствовать в пакете.
Будет ли работать код ниже в моем случае?Ожидание, что кто-то может помочь.
import org.apache.spark.streaming.dstream.ConstantInputDStream
val ssc = new StreamingContext(conf, Seconds(10))
val cassandraRDD = ssc.cassandraTable("mykeyspace", "test1").select("id", "name")
val dstream = new ConstantInputDStream(ssc, cassandraRDD1)
dstream.foreachRDD{ rdd =>
val anotherRdd = ssc.SparkContext.cassandraTable("mykeyspace", "test2").select("id", "age")
val resultRdd = rdd.join(antherRdd)
resultRdd.print()
}
ssc.start()
ssc.awaitTermination()