2017-08-26 57 views
2

我有一個系統,每行生成100,000行,每行的大小爲1KB,並希望使用Cassandra進行數據庫。 我從Apache Kafka獲取數據,然後將其插入數據庫。 將此卷數據加載到Cassandra的最佳方式是什麼?Cassandra大容量加載數據

+0

將數據拆分成批。最好批量大小爲1000,並將數據寫入cassandra db。 – kai

回答

1

卡夫卡連接是專爲此設計的。在此頁面上,您可以找到包含Cassandra水槽連接器的連接器列表https://www.confluent.io/product/connectors/

+0

我從kafka獲取CSV郵件。看起來連接器使用avro格式。我真的嗎? –

+0

不確定有關CSV郵件,但json除了avro還可以使用: http://docs.datamountaineer.com/en/latest/cassandra-sink.html#legacy-topics-plain-text-payload-with-a -json-string 老實說,寫一些像流應用程序這樣的東西可能會更容易將CSV轉換爲json或avro,然後將其寫入可以拉入Cassandra的新主題。您也可以編寫自己的CSV轉換器或嘗試使用Kafka附帶的StringConverter。不知道這將如何與Cassandra一起工作,但這些選項中的任何一個都比編寫自己的完整應用程序更容易。 – dawsaw

+0

從CSV到JSON或AVRO的數據轉換可以在一個小的Apache CAMEL模塊中輕鬆實現。它支持Kafka連接,所以你可以從Kafka中讀取,轉換並回寫到@dawsaw提到的Kafka。您還可以根據需要對其進行縮放。 – Gautam