2017-08-26 46 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