Configuration Hadoop:从HDFS映射/减少

Configuration Hadoop:从HDFS映射/减少,configuration,input,hadoop,mapreduce,Configuration,Input,Hadoop,Mapreduce,我可能错了,但我所看到的ApacheHadoop的所有(?)示例都将本地文件系统中存储的文件作为输入(例如org.Apache.Hadoop.examples.Grep) 有没有办法在Hadoop文件系统(HDFS)上加载和保存数据?例如,我使用hadoop-0.19.1/bin/hadoop-dfs-put~/local.xls-stored.xls在HDFS上放置了一个名为“stored.xls”的制表符分隔文件。我应该如何配置JobConf来读取它 谢谢 JobConf conf = ne

我可能错了,但我所看到的ApacheHadoop的所有(?)示例都将本地文件系统中存储的文件作为输入(例如org.Apache.Hadoop.examples.Grep)

有没有办法在Hadoop文件系统(HDFS)上加载和保存数据?例如,我使用
hadoop-0.19.1/bin/hadoop-dfs-put~/local.xls-stored.xls
在HDFS上放置了一个名为“stored.xls”的制表符分隔文件。我应该如何配置JobConf来读取它

谢谢

JobConf conf = new JobConf(getConf(), ...); ... FileInputFormat.setInputPaths(conf, new Path("stored.xls")) ... JobClient.runJob(conf); ... JobConf conf=newjobconf(getConf(),…); ... setInputPath(conf,新路径(“stored.xls”)) ... runJob(conf); ... SetInputPath将完成此操作

JobConf conf=newjobconf(getConf(),…); ... setInputPath(conf,新路径(“stored.xls”)) ... runJob(conf); ...
SetInputPath将完成此操作。

Pierre,Hadoop的默认配置是在本地模式下运行,而不是在分布式模式下运行。您可能需要修改hadoop-site.xml中的一些配置。看起来您的默认文件系统仍然是localhost,而实际上应该是localhosthdfs://youraddress:yourport. 请查看fs.default.name的设置,并参阅上的安装帮助以了解更多详细信息。

Pierre,Hadoop的默认配置是在本地模式下运行,而不是在分布式模式下运行。您可能需要修改hadoop-site.xml中的一些配置。看起来您的默认文件系统仍然是localhost,而实际上应该是localhosthdfs://youraddress:yourport. 查看fs.default.name的设置,并查看上的安装帮助以了解更多详细信息。

FileInputFormat.setInputPaths(conf,new Path('hdfs://hostname:port/user/me/stored.xls"));


这将执行

FileInputFormat.SetInputPath(配置,新路径hdfs://hostname:port/user/me/stored.xls"));


这就可以了

谢谢,但是它抛出了一个异常,表示“file:/home/me/workspace/HADOOP/stored.xls”(这是一个本地路径)不存在。HDFS上的文件位于“/user/me/stored.xls”中。我还尝试了新路径(“/user/me/stored.xls”),但它也不起作用。如果您的hadoop-site.xml可能配置错误。第二,如果这仍然不起作用,则mkdir输入并将stored.xls放在“input”目录中(全部使用bin/hadoop fs命令)。另外,新路径(“输入”)代替了新路径(“存储的.xls”),谢谢,但它抛出了一个异常,表示“file:/home/me/workspace/HADOOP/storage.xls”(这是一个本地路径)不存在。HDFS上的文件位于“/user/me/stored.xls”中。我还尝试了新路径(“/user/me/stored.xls”),但它也不起作用。如果您的hadoop-site.xml可能配置错误。第二,如果这仍然不起作用,则mkdir输入并将stored.xls放在“input”目录中(全部使用bin/hadoop fs命令)。以及,新路径(“输入”)而不是新路径(“存储的.xls”)