已设置 Hadoop 2.2 . 尝试删除已弃用的 API
Job job = new Job(conf, "word count");
Run Code Online (Sandbox Code Playgroud)
来自示例 Wordcount(随 Hadoop 一起提供)here
将弃用的 API 替换为
编辑:
Job job = Job.getInstance(conf, "word count");
Run Code Online (Sandbox Code Playgroud)
编译错误是
Job.getInstance 无法解析为类型。
已经导入的 Job 类(旧 API 或 MR1)似乎没有这个方法。
哪个 jar 包含这个带有Job.getInstance(Configuratio,String)方法的新 Job 类
如何解决这个问题?迁移到 MapReduce v2 的示例是否有任何其他更改?
Job.getInstance 无法解析为类型。
您收到错误消息是因为您的应用程序类路径中不存在所需的库。您需要hadoop-core*.jar类路径上存在文件才能解决此问题。
顺便问一下,哪个 jar 包含带有 Job.getInstance(Configuratio,String) 方法的新 Job 类
org.apache.hadoop.mapreduce.Job文件中包含的类hadoop-core-*.jar。jar 文件名将附加 hadoop 版本和供应商名称(cdh - Cloudera、hdf - hortenworks 等)
建议:
Job.getInstance()是静态 API,您无需创建 Job 类的实例即可访问它。有趣的是,getInstance()它用于创建 Job 类的新实例,如果您已经使用 usingnew关键字创建了一个实例,则无需getInstance再次调用。
Job job = new Job.getInstance(conf, "word count");用。。。来
代替Job job = Job.getInstance(conf, "word count");
| 归档时间: |
|
| 查看次数: |
9280 次 |
| 最近记录: |