为了账号安全,请及时绑定邮箱和手机立即绑定

请问一下Hadoop,怎么实现多个输入路径的输入?

请问一下Hadoop,怎么实现多个输入路径的输入?

侃侃尔雅 2019-09-09 13:09:36
Hadoop,怎么实现多个输入路径的输入?
查看完整描述

4 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

1.多路径输入


1)FileInputFormat.addInputPath 多次调用加载不同路径

12345678import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;String in0 = args[0];String in1 = args[1];String out = args[2];FileInputFormat.addInputPath(job,new Path(in0));FileInputFormat.addInputPath(job,new Path(in1));FileOutputFormat.setOutputPath(job,new Path(out));

2)FileInputFormat.addInputPaths一次调用加载 多路径字符串用逗号隔开


FileInputFormat.addInputPaths(job, "hdfs://RS5-112:9000/cs/path1,hdfs://RS5-112:9000/cs/path2");

2.多种输入


MultipleInputs可以加载不同路径的输入文件,并且每个路径可用不同的maper

MultipleInputs.addInputPath(job, new Path("hdfs://RS5-112:9000/cs/path1"), TextInputFormat.class,MultiTypeFileInput1Mapper.class);


MultipleInputs.addInputPath(job, new Path("hdfs://RS5-112:9000/cs/path3"), TextInputFormat.class,MultiTypeFileInput3Mapper.class);


查看完整回答
反对 回复 2019-09-14
?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
String in0 = args[0];
String in1 = args[1];
String out = args[2];
FileInputFormat.addInputPath(job,new Path(in0));
FileInputFormat.addInputPath(job,new Path(in1));
FileOutputFormat.setOutputPath(job,new Path(out));

查看完整回答
反对 回复 2019-09-14
?
森栏

TA贡献1810条经验 获得超5个赞

1、运行mapred程序;
2、本次运行将生成一个Job,于是JobClient向JobTracker申请一个JobID以标识这个Job;
3、JobClient将Job所需要的资源提交到HDFS中一个以JobID命名的目录中。这些资源包括JAR包、配置文件、InputSplit、等

查看完整回答
反对 回复 2019-09-14
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

可扩展性是HDFS的一个重要特性,首先在新加的节点上安装hadoop,然后修改$HADOOP_HOME/conf/master文件,加入 NameNode主机名,然后在NameNode节点上修改$HADOOP_HOME/conf/slaves文件,加入新加节点主机名,再建立到新加节点无密码的SSH连接!

查看完整回答
反对 回复 2019-09-14
  • 4 回答
  • 0 关注
  • 1799 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信