这些任务中的哪一项将从SPARK中受益最多?

时间:2018-01-07 12:08:26

标签: hadoop apache-spark

我的公司有两份工作,我们只选择一家以火花开始。任务是:

  1. 第一项工作分析大量文本以查找错误消息(grep)。
  2. 第二项工作是机器学习&用迭代的方法计算某些数据的模型预测。
  3. 我的问题是:这两项工作中哪一项最能从SPARK中受益?

    SPARK依赖于内存,因此我认为它更适合机器学习。与日志JOB相比,DATA的数量并不大。但我不确定。如果我忽略了一些信息,有人可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

Spark部署策略取决于数据量以及接收方式。它适用于场景和应用程序。

场景1 - 如果您收到流数据,您也可以为第一份工作部署spark。 Spark Streaming支持实时数据流的可扩展,高吞吐量,容错流处理。数据可以从许多来源(如Kafka,Flume,Kinesis或TCP套接字)中提取,并且可以使用Spark的不同功能进行处理。最后,处理后的数据可以推送到Hadoop HDFS文件系统。

如果您的数据已经在HDFS上,您仍然可以使用Spark来处理它。它将使您的处理更快。但是,如果是批处理,并且您的Hadoop集群中没有足够的资源,则MapReduce是此类场景的首选。

场景2 - 您的第一个应用程序将处理数据并存储在HDFS上,您可以在此处使用Spark MLlib操作进行进一步操作。请使用此功能验证您将要执行的预测类型。

最后,在这里我可以说Spark适用于你的两个场景,你可以将它用于这两个操作。

答案 1 :(得分:0)

这是我在数据科学中找到的一个很好的答案:

我认为第二份工作比第一份工作更能从火花中获益。原因是机器学习和预测模型经常对数据进行多次迭代。

正如您所提到的,spark能够在两次迭代之间将数据保存在内存中,而Hadoop MapReduce必须将数据写入和读取到文件系统。

以下是两个框架的良好比较:

https://www.edureka.co/blog/apache-spark-vs-hadoop-mapreduce

enter image description here

尽管我同意你@Sandeep Singh,但我必须说Hadoop并不适合大量的迭代操作。