Cassandra 流式大数据-中间结果存储在哪里?
我正在处理spark流媒体作业,该作业需要存储中间结果,以便在下一个窗口流中重用它们。数据量非常大,所以可能无法将其存储在spark缓存中。更重要的是,我需要以某种方式通过某个“键”读取数据。 我曾考虑将Cassandra作为中间存储,但它也有一些缺点。 或者,卡夫卡可能会完成这项工作,但它需要额外的工作才能按键选择给定的数据部分 你能告诉我该怎么办吗?Cassandra 流式大数据-中间结果存储在哪里?,cassandra,bigdata,spark-streaming,apache-storm,Cassandra,Bigdata,Spark Streaming,Apache Storm,我正在处理spark流媒体作业,该作业需要存储中间结果,以便在下一个窗口流中重用它们。数据量非常大,所以可能无法将其存储在spark缓存中。更重要的是,我需要以某种方式通过某个“键”读取数据。 我曾考虑将Cassandra作为中间存储,但它也有一些缺点。 或者,卡夫卡可能会完成这项工作,但它需要额外的工作才能按键选择给定的数据部分 你能告诉我该怎么办吗? 如何在Storm中解决这些问题-是否有任何内部机制或最好使用一些外部工具?正如您所提到的,Kafka在按键获取项目时遇到一些问题。它实际上只为
如何在Storm中解决这些问题-是否有任何内部机制或最好使用一些外部工具?正如您所提到的,Kafka在按键获取项目时遇到一些问题。它实际上只为FIFO范式提供API。我建议使用专用存储软件Cassandra、MongoDB,我甚至看到Solr用于存储文本。使用为检索密钥而设计的东西会更容易,而不是试图自己修改卡夫卡,很可能会引入可能需要永远才能解决的错误/问题
正如SQL.injection所说,您必须自己管理存储和逻辑。Storm没有提供这样的机制 Solr作为索引+Cassandra作为NoSQL存储,在我必须处理万亿字节数据的用例中运行良好。但在我的例子中,我使用Cassandra来持久存储多年的数据 Kafka作为Jboss/AMQ的替代品工作良好,因为它的架构很简单。目前,我正在其中一个项目中使用ApacheStorm+Kafka进行实时流处理 由于您存储的是中间数据,我认为通过设置正确的保留期,卡夫卡是最佳选择
再看一个和另一个你是想键入s/Wow/how吗?@phact是的,已编辑-thanksin Storm你必须将中间结果保存在内存中(或将它们保存到数据库中)。哦,您必须实现逻辑来处理您的设计决策。