Qual è il modo migliore per scrivere la data da Kafka a Cassandra? Mi aspetterei che fosse un problema risolto, ma non sembra esserci un adattatore standard. Un sacco di gente sembra usare Storm per leggere da Kafka e poi scrivere a Cassandra, ma la tempesta sembra un po 'eccessiva per semplici operazioni ETL.Streaming di dati da Kafka a Cassandra in tempo reale
risposta
Stiamo pesantemente usando Kafka e Cassandra attraverso tempesta
Facciamo affidamento sulla tempesta perché:
ci sono di solito un sacco di elaborazione distribuita (tra nodi) passi prima conseguenza di colpire messaggio originale Cassandra (Topologie bulloni da tempesta)
Non abbiamo bisogno di mantenere noi stessi lo stato di consumo di Kafka (offset) - Il connettore Storm-Kafka lo sta facendo per noi quando tutti i prodotti del messaggio originale vengono registrati all'interno di Storm
elaborazione del messaggio è distribuito tra i nodi con la tempesta nativamente
caso contrario, se si tratta di un caso molto semplice, si potrebbe effettivamente leggere i messaggi da Kafka e scrivere portare a Cassandra senza l'aiuto della tempesta
Grazie! Dove finisce Storm per l'offset di Kafka? Potete garantire esattamente una volta l'elaborazione del messaggio se l'offset non è memorizzato nella stessa transazione dei dati elaborati in Cassandra? Inoltre, avete visto qualcuno in Spark Streaming? – EugeneMi
Nel nostro caso particolare è la garanzia "almeno uno". Va bene - abbiamo progettato la maggior parte delle nostre operazioni di elaborazione come idempotenti. Ho sentito delle garanzie "esattamente una volta" in Storm Trident, ma si tratta di un micro-batching, così lo Spark Streaming. – viktortnk
La recente versione di Kafka è arrivata con il concetto di connettore per supportare sorgenti e sink come concetti di prima classe nel design. Con questo, non è necessario alcun framework di streaming per lo spostamento dei dati in/out di Kafka. Ecco il connettore Cassandra per Kafka che è possibile utilizzare: https://github.com/tuplejump/kafka-connect-cassandra
Proprio come un aggiornamento - Siamo andati con Spark Streaming fino ad ora così buono. Testare DataStax Spark ora – EugeneMi
Inoltre, Kafka 3.0 avrà Kafka Connect, un framework per la costruzione di connettori. Alla fine avranno probabilmente anche un connettore C *. Come ho notato prima, Spark Streaming sta funzionando davvero bene per noi. Facile da usare, si prende cura della tolleranza agli errori e della scalabilità per te. – EugeneMi