gpt4 book ai didi

api - Hadoop 发布和新 API

转载 作者:可可西里 更新时间:2023-11-01 14:59:26 28 4
gpt4 key购买 nike

我对 Hadoop 版本和新 API 感到非常困惑。我有一个关于 Hadoop 0.20.203 的项目,我认为是时候升级它了。我希望使用具有 YARN 的版本,即 0.23 或 2.0.2。根据 Hadoop 站点,由于 2.0.2 类似于 0.23 但更好,因此我导入了 2.0.2 版。新的 api 应该在 org.apache.hadoop.mapreduce 中,而不是在 org.apache.hadoop.mapred 中,我已经从我的 0.20 版本中获得了这个包,所以我不需要改变任何东西。 Job 类的所有构造函数都已弃用,那么我应该如何使用此类?当我运行我的项目时,我也收到了很多弃用警告,其中提到了 mapred 包。

我编辑了我的问题以包含输出中已弃用的内容

13/02/12 00:52:57 WARN conf.Configuration: mapred.jar is deprecated. Instead, use mapreduce.job.jar
13/02/12 00:52:57 WARN conf.Configuration: mapred.cache.files is deprecated. Instead, use mapreduce.job.cache.files
13/02/12 00:52:57 WARN conf.Configuration: mapred.reduce.tasks is deprecated. Instead, use mapreduce.job.reduces
13/02/12 00:52:57 WARN conf.Configuration: mapred.output.value.class is deprecated. Instead, use mapreduce.job.output.value.class
13/02/12 00:52:57 WARN conf.Configuration: mapred.mapoutput.value.class is deprecated. Instead, use mapreduce.map.output.value.class
13/02/12 00:52:57 WARN conf.Configuration: mapreduce.map.class is deprecated. Instead, use mapreduce.job.map.class
13/02/12 00:52:57 WARN conf.Configuration: mapred.job.name is deprecated. Instead, use mapreduce.job.name
13/02/12 00:52:57 WARN conf.Configuration: mapreduce.reduce.class is deprecated. Instead, use mapreduce.job.reduce.class
13/02/12 00:52:57 WARN conf.Configuration: mapred.input.dir is deprecated. Instead, use mapreduce.input.fileinputformat.inputdir
13/02/12 00:52:57 WARN conf.Configuration: mapred.output.dir is deprecated. Instead, use mapreduce.output.fileoutputformat.outputdir
13/02/12 00:52:57 WARN conf.Configuration: mapred.max.split.size is deprecated. Instead, use mapreduce.input.fileinputformat.split.maxsize
13/02/12 00:52:57 WARN conf.Configuration: mapred.map.tasks is deprecated. Instead, use mapreduce.job.maps
13/02/12 00:52:57 WARN conf.Configuration: mapred.cache.files.timestamps is deprecated. Instead, use mapreduce.job.cache.files.timestamps
13/02/12 00:52:57 WARN conf.Configuration: mapred.output.key.class is deprecated. Instead, use mapreduce.job.output.key.class
13/02/12 00:52:57 WARN conf.Configuration: mapred.mapoutput.key.class is deprecated. Instead, use mapreduce.map.output.key.class
13/02/12 00:52:57 WARN conf.Configuration: mapred.working.dir is deprecated. Instead, use mapreduce.job.working.dir

最佳答案

在 20.2xx/1.x 和 0.21/0.22/0.23/2.x 之间,mapreduce 框架发生了两个主要变化。

  • 多个配置名称已重命名,以更好地反射(reflect)什么是服务器端配置属性以及什么是客户端配置属性。
    • 客户端配置:旧名称已弃用,这就是您看到这些警告的原因。
    • 您提到了 2.0.2,所以我想您使用的是新框架 YARN。在这种情况下,旧的服务器端配置都不会生效。
  • mapreduce API 有两种风格——旧 API (org.apache.hadoop.mapred) 和新 API (org.apache.hadoop.mapreduce)。它的历史有点长,但当前状态(以及 future )是新旧 API 都受支持。
    • 旧 API 仍然稳定,并以二进制兼容的方式在所有版本中得到支持。
    • 新 API 存在一些跨版本(1.x -> 2.x)的兼容性问题。

您可以在此处阅读有关 Hadoop 2 中 API 兼容性的更多信息:http://hortonworks.com/blog/running-existing-applications-on-hadoop-2-yarn/

关于api - Hadoop 发布和新 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14822069/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com