bycj.net
当前位置:首页 >> hADoop中的inputpAth路径应该如写? >>

hADoop中的inputpAth路径应该如写?

这样是不行的. MapReduce程序运行在HDFS之上.所以输入的路径应该是HDFS中的路径.你应该先把这个本地文件拷贝到HDFS中.

hadoop的input在中会在mapreduce的map中读取,map是会分配到slave的机器去执行. 即便是你写了input到了slave上也是没有这个路径的.一般都是基于hdfs的路径去读取.本地文件用 hadoop fs -copyFromLocal /localPath /hdfsPath 的命令把本地文件复制到hdfs上就好了

1.多路径输入1)FileInputFormat.addInputPath 多次调用加载不同路径 import org.apache.hadoop.mapreduce.lib.input.FileInputFormat; import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat; String in0 = args[0]; String in1 = args[1];

1. 多路径输入FileInputFormat是所有使用文件作为其数据源的 InputFormat 实现的基类,它的主要作用是指出作业的输入文件位置.因为作业的输入被设定为一组路径, 这对指定作业输入提供了很强的灵活性.FileInputFormat 提供了四种静态方

从fs -ls从列出来的文件看,这个文件夹/user/root/input是通过root用户创建的.说明你在从本地文件系统拷贝input目录到hdfs系统的时候,不是采用的hadoop用户,而是用root用户执行的拷贝命令,你可能忘记切换用户了,可以删除现在的input目

用ls命令, 如果返回一行说明是文件,如果多行则表示目录hadoop fs -ls $path | grep $path | wc -l

file在后台获取到只是以流的形式存在的文件,怎么能拿到路径,就算你拿到路径那也是相对客户端来说的. 如果你要拿到路径 那么你可以使用js放到其他的input里面 到后台去获取

打开hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID与namenode里的一致,再重新启动dfs(执行start-dfs.sh)再执行jps命令可以看到datanode已正常启动.出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfsnamenode-format),这时namenode的clusterID会重新生成,而datanode的clusterID保持不变.

hadoop dfs cat [file_path]/input/*.xml

path里没配hadoop的bin的路径

网站首页 | 网站地图
All rights reserved Powered by www.bycj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com