Является ли каждая партия SparkStreaming для чтения таблицы Cassandra полностью или частично? - PullRequest
0 голосов
/ 23 декабря 2018

Перейдя к созданию системы анализа в реальном времени, я использую 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()
...