菜鸟求助阿!快疯了!Hadoop分布式系统下文件路径的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了菜鸟求助阿!快疯了!Hadoop分布式系统下文件路径的问题相关的知识,希望对你有一定的参考价值。

最近菜鸟在研究Hadoop编程,在分布式系统上传了一个文件,但是如何读出该文件里的内容呢?系统是在linux环境下的,难道路径名只是简单的/user/用户名/文件夹就行了吗?
运行程序的时候就是找不到该路径下的文件阿,还有可能是什么原因呢
救命阿!!!!!!!!!!!!!!!!
没有回答到重点啊。。。这些我都知道啊。。。

一个文件被放入到分布式文件系统中,会被分割成多个block放置到每一个的DataNode上,默认dfs.block.size应该是64M,也就是说如果你放置到HDFS上的数据小于64,那么将只有一个Block,此时会被放置到某一个DataNode中,这个可以通过使用命令:hadoop dfsadmin –report就可以看到各个节点存储的情况。也可以直接去某一个DataNode查看目录:hadoop.tmp.dir/dfs/data/current就可以看到那些block了。Block的数量将会直接影响到Map的个数。当然可以通过配置来设定Map和Reduce的任务个数。Map的个数通常默认和HDFS需要处理的blocks相同。也可以通过配置Map的数量或者配置minimum split size来设定,实际的个数为:max(min(block_size,data/#maps),min_split_size)。Reduce可以通过这个公式计算:0.95*num_nodes*mapred.tasktracker.tasks.maximum。

Hadoop dfs –ls就是查看/usr/root目录下的内容,默认如果不填路径这就是当前用户路径
参考技术A 在hadoop的安装文件夹下键入以下命令就可以了:
$ bin/hadoop dfs -cat 文件夹/文件
不需要在文件夹前面加上/user/用户名

例如我先上传了一个文件a:
$ bin/hadoop dfs -put ~/a test1/a
这个文件上传到了/user/用户名/test1/a,现在我要显示文件a的内容:
$ bin/hadoop dfs -cat test1/a
参考技术B 这个很简单啊,你在写路径的时候必须是绝对路径 所有前面肯定有"/home"的啊,
所以你在使用路径前先拼接个workDir
Path workDir = h.getWorkingDirectory();// h是你得到的hdfs文件系统的句柄本回答被提问者采纳

以上是关于菜鸟求助阿!快疯了!Hadoop分布式系统下文件路径的问题的主要内容,如果未能解决你的问题,请参考以下文章

今天快疯了。。。

Tomcat数据源和连接池配置怎么配~~ 小弟快疯了~~~

笔记本是Thinkpad X230i 23066qc。请问该怎么进BIOS?本人快疯了。F1 F2

verilog中的latch到底是个啥??简直快疯了!!!!!

iOS 11.2 更新后,iPhone 用户快疯了...|潮资讯

求助hadoop2.X分布式搭建两个NameNode均无法正常启动