用于分发计算任务,celery 和 spark 哪个更好
For distributing calculation task, which is better celery or spark
问题:计算任务很容易并行。但需要实时响应。
可以有两种方法。
1. 使用 Celery:从头开始并行运行作业
2. 使用 Spark:与 spark 框架并行运行作业
我认为 spark 在可扩展性方面更好。但是 Spark 作为 Web 应用程序的后端是否可以?
Celery :- 确实是一种很好的分布式流技术,它支持 Python 语言。其计算能力强且易于编写。 Celery 中的流应用程序也支持如此多的特性。 CPU.
的开销很小
Spark- 它支持多种编程语言Java、Scala、Python。根据 Spark 文档
,它不是纯粹的流式传输它的微批处理流式传输
如果您的任务只能通过流媒体完成,并且您不需要 SQl 之类的功能。那么芹菜将是最好的。但是你需要各种功能以及流式传输,然后 SPark 会更好。在这种情况下,您可以考虑应用程序将在几秒内以多少批次生成数据的场景。
除了上述答案之外,还有其他方面需要确定。
- 与现有的大数据堆栈集成(如果有)。
- 用于摄取的数据管道
- 您提到了 "backend for web application"。我假设它用于读取操作。任何批处理应用程序的响应时间可能并不适合任何 Web 应用程序。
流式处理的选择可以帮助您更快地将数据导入集群。但它不能保证网络应用程序所需的响应时间。您需要查看 HBase 和 Solr(如果您正在搜索)。
Spark 无疑比其他批处理框架更好更快。在流媒体中可能没有其他。正如我上面提到的,您应该考虑做出选择的参数。
问题:计算任务很容易并行。但需要实时响应。
可以有两种方法。 1. 使用 Celery:从头开始并行运行作业 2. 使用 Spark:与 spark 框架并行运行作业
我认为 spark 在可扩展性方面更好。但是 Spark 作为 Web 应用程序的后端是否可以?
Celery :- 确实是一种很好的分布式流技术,它支持 Python 语言。其计算能力强且易于编写。 Celery 中的流应用程序也支持如此多的特性。 CPU.
的开销很小Spark- 它支持多种编程语言Java、Scala、Python。根据 Spark 文档
,它不是纯粹的流式传输它的微批处理流式传输如果您的任务只能通过流媒体完成,并且您不需要 SQl 之类的功能。那么芹菜将是最好的。但是你需要各种功能以及流式传输,然后 SPark 会更好。在这种情况下,您可以考虑应用程序将在几秒内以多少批次生成数据的场景。
除了上述答案之外,还有其他方面需要确定。
- 与现有的大数据堆栈集成(如果有)。
- 用于摄取的数据管道
- 您提到了 "backend for web application"。我假设它用于读取操作。任何批处理应用程序的响应时间可能并不适合任何 Web 应用程序。
流式处理的选择可以帮助您更快地将数据导入集群。但它不能保证网络应用程序所需的响应时间。您需要查看 HBase 和 Solr(如果您正在搜索)。
Spark 无疑比其他批处理框架更好更快。在流媒体中可能没有其他。正如我上面提到的,您应该考虑做出选择的参数。