【问题标题】:MapReduce real life usesMapReduce 现实生活中的用途
【发布时间】:2015-12-06 20:05:44
【问题描述】:

我怀疑在哪些情况下选择 MapReduce 而不是 hive 或 pig。

我知道是什么时候用的

  1. 我们需要对输入数据进行深度过滤。
  2. 处理非结构化数据。
  3. 使用图表。 …… 但是有没有什么地方我们不能使用 hive、pig 或者我们可以使用 MapReduce 更好地工作并且它在实际项目中使用率很高

【问题讨论】:

    标签: hadoop mapreduce hive apache-pig


    【解决方案1】:

    Hive 和 Pig 是通用解决方案,它们在处理数据时会产生开销。大多数情况下它可以忽略不计,但在某些情况下它可能相当大。

    如果需要join的表比较多,使用Hive和Pig尽量应用泛型解决方案,如果在了解数据后使用map reduce,可以想出更优化的解决方案。

    但是 map reduce 应该被视为内核。如果您的解决方案可以在其他地方重用,最好使用 map reduce 开发它并与 Hive/Pig/Sqoop 集成。

    Pig 可用于处理非结构化数据。在处理数据时,它将比 Hive 提供更大的灵活性。

    【讨论】:

    • 如果我们谈论百分比,考虑到这三个的总和是 100 %,它们在生产项目中的粗略份额是多少
    【解决方案2】:

    如今,Bare MapReduce 的编写频率并不高。更高级别的抽象(例如您提到的两个)更流行且足以满足查询工作负载。

    即使在 HiveQL 过于严格的情况下,人们也可能会为低级批处理作业或越来越流行的 Spark 寻找替代方案,例如 Cascading 或 Scalding。

    使用这些高级抽象的主要动机是因为大多数应用程序需要一系列 map 和 reduce 阶段,MapReduce API 让您自己弄清楚如何在任务之间序列化数据。

    【讨论】:

      猜你喜欢
      • 2021-07-13
      • 1970-01-01
      • 2011-05-13
      • 2022-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-13
      相关资源
      最近更新 更多