/ / prečo môžem vidieť iba jednu iskru streamingu kafkaReceiver - apache-spark, apache-kafka, jiskra

prečo môžem vidieť iba jednu iskru streamingu kafkaReceiver - apache-spark, apache-kafka, streľba

Som zmätený, prečo môžem vidieť len jeden KafkaReceiverv webovej stránky UI stránky s jiskrami (8080), Ale mám 10 oddielov v Kafke a ja som použil 10 jadier v klastri iskier, taktiež môj kód v Pythone: kvs = KafkaUtils.createStream (ssc, zkQuorum, "spark-streaming-consumer", {topic: 10}) Predpokladám, že číslo KafkaReceivers by malo byť 10 a nie 1. Som tak zmätená. vopred ďakujem!

odpovede:

4 pre odpoveď č. 1
kvs = KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer",{topic: 10})

Tento kód vytvára 1 prijímač s 10 závitmi. Každá niť sa pripojí k jednej oblasti a všetky údaje budú odobraté jedným spotrebiteľom pomocou 1 jadra. Všetky ostatné jadrá (potenciálne) spracujú prijaté dáta.

Ak chcete mať 10 prijímačov, každý pripojený k 1 oddielu pomocou 1 jadra, mali by ste to urobiť: (v programe Scala, môj Python je slabý, ale dostanete tento nápad):

val recvs = (1 to 10).map(i => KafkaUtils.createStream(ssc, zkQuorum, "spark-streaming-consumer",{topic: 1})
val kafkaData = ssc.union(recvs)

Berte do úvahy, že budete potrebovať ďalšie jadrá pre Spark na spracovanie prijatých dát.