我的公司有两份工作,我们只选择一家以火花开始。任务是:
我的问题是:这两项工作中哪一项最能从SPARK中受益?
SPARK依赖于内存,因此我认为它更适合机器学习。与日志JOB相比,DATA的数量并不大。但我不确定。如果我忽略了一些信息,有人可以帮助我吗?
答案 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
尽管我同意你@Sandeep Singh,但我必须说Hadoop并不适合大量的迭代操作。