我不介意 Hive 和 Pig 使程序员的工作更轻松这一事实。 但是,是否存在无法使用它们而必须依赖 map reduce 的限制?
在面试中被问到这个问题,应该怎么回答?
最佳答案
正如 Chirag 指出的那样,您可以通过 MR 获得更多的底层控制,从而获得更多的优化潜力。我还想补充:
Pig 和 Hive 更适合脚本,因此更不稳定且更难调试。在 MR 中设置适当的日志记录和监控可以实现更强大的程序。
您不必坚持使用 Java MR 来执行 MR,Scalding 和 Cascading 等框架可以简化大量工作,同时仍然让您可以灵活地下降到较低级别进行优化。事实上,Scalding 基本上是您可以获得的最简洁的框架,比 Pig 和 Hive 更简洁 - 主要是因为它在 Scala 中。
关于hadoop - 什么时候应该使用 MapReduce 而不是 Pig/Hive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22595566/