Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 流式大数据-中间结果存储在哪里?_Cassandra_Bigdata_Spark Streaming_Apache Storm - Fatal编程技术网

Cassandra 流式大数据-中间结果存储在哪里?

Cassandra 流式大数据-中间结果存储在哪里?,cassandra,bigdata,spark-streaming,apache-storm,Cassandra,Bigdata,Spark Streaming,Apache Storm,我正在处理spark流媒体作业,该作业需要存储中间结果,以便在下一个窗口流中重用它们。数据量非常大,所以可能无法将其存储在spark缓存中。更重要的是,我需要以某种方式通过某个“键”读取数据。 我曾考虑将Cassandra作为中间存储,但它也有一些缺点。 或者,卡夫卡可能会完成这项工作,但它需要额外的工作才能按键选择给定的数据部分 你能告诉我该怎么办吗? 如何在Storm中解决这些问题-是否有任何内部机制或最好使用一些外部工具?正如您所提到的,Kafka在按键获取项目时遇到一些问题。它实际上只为

我正在处理spark流媒体作业,该作业需要存储中间结果,以便在下一个窗口流中重用它们。数据量非常大,所以可能无法将其存储在spark缓存中。更重要的是,我需要以某种方式通过某个“键”读取数据。 我曾考虑将Cassandra作为中间存储,但它也有一些缺点。 或者,卡夫卡可能会完成这项工作,但它需要额外的工作才能按键选择给定的数据部分

你能告诉我该怎么办吗?
如何在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你必须将中间结果保存在内存中(或将它们保存到数据库中)。哦,您必须实现逻辑来处理您的设计决策。