【问题标题】:Is it possible to run Hadoop MR jobs using Google's Dataflow?是否可以使用 Google 的 Dataflow 运行 Hadoop MR 作业?
【发布时间】:2015-01-20 04:58:32
【问题描述】:

是否可以使用 Google 的 Dataflow 服务运行 Hadoop MR 作业?

我有 several Hadoop MR 作业,我希望能够在 Dataflow 服务上运行这些作业。我希望能够利用 Dataflow 服务,而不必完全重写我的 Hadoop 作业。

【问题讨论】:

  • 您好——我不确定我是否完全理解您的建议。你能解释一下你的想法吗?是这样吗: - 您想使用 Dataflow SDK 来启动 MR 作业吗? - 您希望 MapReduce 代码由数据流服务管理和执行吗? - 您想在 Dataflow 管道中访问来自 HDFS 的数据?

标签: hadoop avro google-cloud-dataflow


【解决方案1】:

为了使迁移更容易,我认为应该可以定义一个通用的 Dataflow Transform,它可以包装 Hadoop Mappers 和 Reducers,以便可以在 Dataflow Pipelines 中重用代码。

这是一个非常小的实现AvroMRTransform,它充当 AvroMapper 和 AvroReducer 的包装器(即它只能用于作为 Avro 数据的输入和输出)。

AvroMRTransform 有效,但几乎可以肯定它无法处理某些情况。它也不支持一堆 Hadoop 功能,例如计数器。

由于这些原因,我不建议将此作为临时权宜之计(例如,您的应用程序包含许多 MR 作业,而您不想一次全部重写它们)。

Hadoop MR API 让我印象深刻,因此最终使用 Dataflow 支持每个功能可能会比重写应用程序需要更多的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 2018-08-25
    相关资源
    最近更新 更多