如何设置MapReduce作业的输入路径?
时间: 2024-11-13 09:25:31 浏览: 7
MapReduce实现单元最短路径算法.doc
5星 · 资源好评率100%
在Hadoop MapReduce中,设置作业的输入路径是在创建Job实例时完成的。以下是基本的步骤:
1. 导入必要的Hadoop库:
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
```
2. 创建Configuration对象并设置基本配置:
```java
Configuration conf = new Configuration();
```
3. 定义输入路径:
```java
String inputPath = "hdfs://<namenode>:<port>/<input_directory>";
Path inputDir = new Path(inputPath);
```
将 `<namenode>` 和 `<port>` 替换为你实际的HDFS Namenode地址和端口,`<input_directory>` 是你的数据所在的目录。
4. 设置输入格式和文件输入源:
```java
FileInputFormat.addInputPath(conf, inputDir);
```
5. 创建Job实例并传递配置:
```java
Job job = Job.getInstance(conf, "YourJobName");
```
6. 提交Job:
```java
try {
job.waitForCompletion(true); // true表示阻塞直到任务完成
} catch (IOException e) {
e.printStackTrace();
}
```
完整示例:
```java
conf.set("mapreduce.job.name", "YourJobName");
FileInputFormat.setInputPaths(job, inputDir);
```
阅读全文