TOP

【Hadoop】之 熟悉常用的HDFS操作
2019-02-25 00:15:06 】 浏览:1222次 本网站的内容取自网络,仅供学习参考之用,绝无侵犯任何人知识产权之意。如有侵犯请您及时与本人取得联系,万分感谢。
Tags:Hadoop 熟悉 常用 HDFS 操作

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/fanfan4569/article/details/77823382

参考:
http://www.jianshu.com/p/0663d74b79b5


一、实现目的

  1. 理解HDFS在Hadoop体系结构中的角色
  2. 熟练使用HDFS操作常用的Shell命令
  3. 熟悉HDFS操作常用的Java API

二、实验平台

  • 操作系统:Ubuntu 16
  • Hadoop版本:2.7.3
  • JDK 版本:1.8
  • Java IDE: Eclipse

三、实验内容和要求

编程实现以下指定功能,并利用Hadoop提供的Shell命令完成相同的任务。


(1)向HDFS中上传任意文本文件,如果指定的文件在HDFS 中已经存在,由用户指定是追加到原有文件末尾还是覆盖原有的文件。


(1)创建文本

//创建带内容的文本 
echo "hello world" > test1.txt

//或者 创建一个<path> 指定的空文件 (要在启动服务下执行)
hadoop fs - touchz <path>

这里写图片描述
这里写图片描述

(2)启动服务

./fileName : 表示当前目录下的fileName这个文件

./sbin/start-all.sh

//或者
./sbin/start-dfs.sh
./sbin/start-yarn.sh


(3)上传文件

hadoop fs -put <localsrc><dst>

 ./bin/hadoop fs -put ./test1.txt

这里写图片描述

(4)追加到文件末尾的指令

hadoop fs -appendToFile local.txt text.txt

//将test1.txt 追加到 test2.txt
./bin/hadoop fs -appendToFile test1.txt test2.txt

这里写图片描述


(5)查看HDFS文件的内容

hadoop fs -cat text1.txt

 ./bin/hadoop fs -cat test2.txt

这里写图片描述


(6)覆盖原有文件的指令(覆盖之后再执行一遍上一步)

hadoop fs -copyFromLocal <localsrc><dst>

//这里使用了 -f (强制的意思), 因为我的test3.txt 已存在
./bin/hadoop fs -copyFromLocal -f test2.txt test3.txt

这里写图片描述


(7)以上步骤也可以用如下命令实现

if $(hadoop fs -test -e text.txt);
then $(hadoop fs -appendToFile local.txt text.txt);
else $(hadoop fs -copyFromLocal -f local.txt text.txt);
fi

//本机操作
if $(./bin/hadoop fs -test -e test1.txt);
then $(./bin/hadoop fs -appendToFile test1.txt test2.txt);
else $(./bin/hadoop fs -copyFromLocal -f test1.txt test3.txt);
fi

这里写图片描述

// Java 编程实现

请关注公众号获取更多资料


【Hadoop】之 熟悉常用的HDFS操作 https://www.cppentry.com/bencandy.php?fid=115&id=210284

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇hadoop学习——hdfs指定tmp目录中.. 下一篇Spark 读取HDFS存入 HBase(1.0.0..

评论

验 证 码:
表  情:
内  容: