我正在以
的形式从kafka接收数据{"email":"test@example","firstname":"Example","lastname":"User"}
我想访问电子邮件ID和名字,并将其与来自cassandra的数据进行比较:
CassandraRow{email: abc@xyz.com}
答案 0 :(得分:0)
您需要使用joinWithCassandraTable
function ...与Cassandra进行加入...
为了更有效,您可能需要重新划分从Kafka获得的RDD,以匹配Cassandra表中的分区。代码看起来像这样:
val resultRdd = kafkaRDD.repartitionByCassandraReplica("ks","emails")
.joinWithCassandraTable("ks","emails")
然后您可以分析名称是否匹配等。加入后,您应该只获得在Cassandra中有电子邮件的记录...