Dan*_*iel 9 java hadoop mapreduce apache-spark
非常简单的问题:我应该在哪些情况下更喜欢Hadoop MapReduce而不是Spark?(我希望还没有提出这个问题 - 至少我没有找到它......)
我目前正在对这两个处理框架进行比较,从我到目前为止所阅读的内容来看,每个人似乎都建议使用Spark.这也符合您的经验吗?或者你能说出MapReduce比Spark更好的用例吗?
我是否需要更多的资源(特别是RAM)用于Spark的同一任务,那么我需要MapReduce?
感谢致敬!
Spark 是对传统 MapReduce 的巨大改进。
你什么时候会在 Spark 上使用 MapReduce?
当您有一个用 MapReduce 范式编写的遗留程序非常复杂以至于您不想对其重新编程时。此外,如果您的问题与分析数据无关,那么 Spark 可能不适合您。我能想到的一个例子是网络爬虫,有一个很棒的 Apache 项目叫做 Apache Nutch,它建立在 Hadoop 而不是 Spark 上。
我什么时候会在 MapReduce 上使用 Spark?
从 2012 年开始……自从我开始使用 Spark,我就不想回去了。这也是我将知识扩展到 Java 之外并学习 Scala 的巨大动力。Spark 中的很多操作都需要较少的字符来完成。此外,使用 Scala/REPL 可以更好地快速生成代码。Hadoop 有 Pig,但是你必须学习“Pig Latin”,这在其他任何地方都不会有用……
如果你想在你的数据分析中使用 Python Libs,我发现让 Python 与 Spark 和 MapReduce 一起工作更容易。我也非常喜欢使用 IPython Notebook 之类的东西。尽管 Spark 在我开始时教会了我学习 Scala,但使用 Spark 的 IPython Notebook 激励我学习 PySpark。它没有所有的功能,但大部分可以用 Python 包来弥补。
Spark 现在还具有 Spark SQL,它向后兼容 Hive。这使您可以使用 Spark 来运行接近 SQL 查询。我认为这比尝试学习 HiveQL 要好得多,HiveQL 足够不同以至于一切都是针对它的。使用 Spark SQL,您通常可以使用通用 SQL 建议来解决问题。
最后,Spark 还有 MLLib,用于机器学习,这是对 Apache Mahout 的巨大改进。
最大的 Spark 问题:互联网上没有充满故障排除技巧。由于 Spark 是新的,关于问题的文档有点缺乏......最好与来自 AmpLabs/Databricks(来自加州大学伯克利分校的 Spark 的创建者,以及他们的咨询业务)的人结伴,并利用他们的论坛寻求支持.
| 归档时间: |
|
| 查看次数: |
1950 次 |
| 最近记录: |