Hadoop之HDFS文件操作
2016-04-01 14:22
141 查看
摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式。本文介绍如何利用这两种方式对HDFS文件进行操作。
关键词:HDFS文件 命令行 Java API
HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计。
Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似的命令行工具;另一种是JavaAPI,即利用Hadoop的Java库,采用编程的方式操作HDFS的文件。
方式一:命令行方式
Hadoop文件操作命令形式为
hadoop fs -cmd <args>
说明:cmd是具体的文件操作命令,<args>是一组数目可变的参数。
Hadoop最常用的文件操作命令,包括添加文件和目录、获取文件、删除文件等。
1 添加文件和目录
HDFS有一个默认工作目录/usr/$USER,其中$USER是你的登录用户名,作者的用户名是root。该目录不能自动创建,需要执行mkdir命令创建。
hadoop fs -mkdir /usr/root
使用Hadoop的命令put将本地文件README.txt送到HDFS。
hadoop fs -put README.txt .
注意上面这个命令最后一个参数是句点(.),这意味着把本地文件放入到默认的工作目录,该命令等价于:
hadoop fs -put README.txt /user/root
使用Hadoop的ls命令,即
hadoop fs -ls
显示结果如图1所示。
图1 hadoop 中 ls命令Demo
2 获取文件
获取文件包含两层意思,一是HDFS从本地文件中获取文件,即前面介绍的添加文件;二是本地文件从HDFS中获取文件,可以使用Hadoop的get命令。例如若本地文件没有README.txt文件,需要从HDFS中取回,可以执行如下命令。
hadoop fs -get README.txt .
或者
hadoop fs -get README.txt /usr/root/README.txt
3 删除文件
Hadoop删除文件命令为rm。例如要删除从本地文件上传的README.txt,可以执行如下命令。
hadoop fs -rm README.txt
4 检索文件
检索文件即查阅HDFS中的文件内容,可以使用hadoop中的cat命令。例如要查阅README.txt的内容,可以执行如下命令。
hadoop fs -cat README.txt
部分显示结果如图2所示
图2 hadoop中cat命令Demo
另外,hadoop的cat命令的输出也可以使用管道传递给Unix 命令的head:
hadoop fs -cat README.txt | head
Hadoop也支持tail命令查看最后一千字节。例如要查阅README.txt最后一千个字节,可以执行如下命令。
hadoop fs -tail README.txt
5查阅帮助
查阅Hadoop命令帮助,可以让我们很好地掌握和使用Hadoop的 命令。我们可以执行hadoop fs 获取所用版本Hadoop的一个完整命令列别,也可以使用help来显示某个具体命令的用法及简短描述。
例如,要了解ls命令,可执行如下命令。
hadoop fs -help ls
关于hadoop命令ls的描述如图3所示。
图3 Hadoop命令ls的介绍
相关文章推荐
- WebLogic 和 Tomcat
- Linux C高级编程——时间编程
- linux下查看网卡信息的命令
- CentOS7 扩容 / 目录
- 秒杀系统架构分析与实战
- linux下环境变量PATH设置错误的补救
- linux内核打印数据到串口控制台,printk数据不打印问题
- Linux时间总结
- centOS防火墙中端口的开启和关闭
- POJ1157 LITTLE SHOP OF FLOWERS
- linux 中防火墙配置 iptables 命令参数的含义介绍
- Linux/Android Kconfig Makefile defconfig 和 .config关系
- OpenStack让数据中心随时就绪
- hadoop基本认识
- RC522在S5PV210处理器上的linux驱动调试(1)
- Linux git服务器搭建 配置IDEA git
- linux下利用backtrace追踪函数调用堆栈以及定位段错误
- Sublime Text中使用Autoprefixer功能
- Linux _pthread 线程的同步 浅见
- Linux inotify功能及实现原理