Sto usando spark 1.5.2
. Ho bisogno di eseguire il lavoro spark in streaming con kafka come sorgente di streaming. Ho bisogno di leggere da più argomenti all'interno di kafka e elaborare ogni argomento in modo diverso.Spark: elaborazione di più argomenti kafka in parallelo
- È una buona idea farlo nello stesso lavoro? In tal caso, dovrei creare un singolo stream con più partizioni o stream diversi per ogni argomento?
- Sto usando il vapore diretto kafka. Per quanto ne so, spark lancia ricevitori a lunga durata per ogni partizione. Ho un cluster relativamente piccolo, 6 nodi con 4 core ciascuno. Se avessi molti argomenti e partizioni in ogni argomento, l'efficienza sarebbe influenzata dal fatto che la maggior parte degli esecutori è occupata con ricevitori a lunga esecuzione? Si prega di correggere se la mia comprensione è sbagliato qui
@CodyKoeninger, a quale livello abbiamo bisogno di andare verso il basso fino a quando sappiamo tutti gli elementi all'interno dei contenitori vengono dallo stesso argomento? Ad esempio, all'interno di un RDD, sono garantito che tutti i record provengano dallo stesso argomento? o è a livello di partizione? In questo caso, esiste un'API di alto livello che la espone? – Stephane
@Stephane Fino a quando non si esegue una trasformazione, le partizioni RDD dello stream diretto sono 1: 1 con kafka topicpartitions. vedere https://github.com/koeninger/kafka-exactly-once –
@ prasad-khode - dove posso trovare rilevanza per questo "Se creiamo un singolo flusso con più argomenti, gli argomenti vengono letti uno dopo l'altro", sembra che non sia documentato parte del flusso di scintilla di kafka. – ASe