Hadoop之HDFS文件操作常有两种方式(转载)
摘要: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的介绍
Resource:
1 http://www.wangluqing.com/2014/03/hadoop-hdfs-fileoperation/
2 Hadoop in Action http://www.manning.com/lam/
Hadoop删除文件夹 newout0530
download hadoop dfs文件到本地
原文链接
http://blog.csdn.net/wangloveall/article/details/28578393
Hadoop之HDFS文件操作常有两种方式(转载)的更多相关文章
- Hadoop之HDFS文件操作
摘要:Hadoop之HDFS文件操作常有两种方式.命令行方式和JavaAPI方式.本文介绍怎样利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件 命令行 Java API HD ...
- curl文件上传有两种方式,一种是post_fileds,一种是infile
curl文件上传有两种方式,一种是POSTFIELDS,一种是INFILE,POSTFIELDS传递@实际地址,INFILE传递文件流句柄! );curl_setopt($ch, CURLOPT_PO ...
- Android开发之使用sqlite3工具操作数据库的两种方式
使用 sqlite3 工具操作数据库的两种方式 请尊重他人的劳动成果,转载请注明出处:Android开发之使用sqlite3工具操作数据库的两种方式 http://blog.csdn.net/feng ...
- flask 操作mysql的两种方式-sqlalchemy操作
flask 操作mysql的两种方式-sqlalchemy操作 二.ORM sqlalchemy操作 #coding=utf-8 # model.py from app import db class ...
- flask 操作mysql的两种方式-sql操作
flask 操作mysql的两种方式-sql操作 一.用常规的sql语句操作 # coding=utf-8 # model.py import MySQLdb def get_conn(): conn ...
- c#操作json的两种方式
总结一下C#操作json的两种方式,都是将对象和json格式相转. 1.JavaScriptSerializer,继承自System.Web.Script.Serialization private ...
- javascript总结40:DOM中操作样式的两种方式
1 DOM中操作样式的两种方式 1 通过元素的style属性 注意: 通过style属性设置样式时,css中要写单位的属性,在js代码中也要加单位 //html <div id="bo ...
- hadoop的hdfs文件操作实现上传文件到hdfs
这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...
- pb对Web Service的操作可使用两种方式实现
从PB8.0/9.0开始,就已经提供Web Service Proxy功能,能够直接进行相关程序的编写. 但是,部分老项目使用PB6.5开发 研究后发现,其实PB6.5要操作Web Service也挺 ...
随机推荐
- BZOJ 1116: [POI2008]CLO
1116: [POI2008]CLO Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 922 Solved: 514[Submit][Status][ ...
- hdu 3089 约瑟夫环
原来并不知道约瑟夫环还可以递推直接解orz 约瑟夫问题的递推公式: 设f[n]表示一共n个人,数到k出局,这样最后的winner (n个人从0开始标号,即0--n-1) f[n]=(f[n-1]+k) ...
- dedecms /include/helpers/archive.helper.php SQL Injection Vul
catalog . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 Dedecms会员中心注入漏洞 Relevant Link: http: ...
- Linux C/C++ Memory Leak Detection Tool
目录 . 内存使用情况分析 . 内存泄漏(memory leak) . Valgrind使用 1. 内存使用情况分析 0x1: 系统总内存的分析 可以从proc目录下的meminfo文件了解到当前系统 ...
- scala break & continue
Scala没有提供break和continue,我们可以自己实现一个,参考例子: import util.control.Breaks._ object BreakDemo { def main(ar ...
- jQuery—选择器
摘抄自<锋利的jQuery> 一.基本选择器 $("#one").css("background","#bbffaa"); 选取 ...
- 海边直播目标2017全国初中数学竞赛班课堂测试题解答-The Final
1. 设函数 $f(x) = 2^x(ax^2 + bx + c)$ 满足等式 $f(x+1) - f(x) = 2^x\cdot x^2$, 求 $f(1)$. 解答: 由 $f(x) = 2^x( ...
- 《JavaScript权威指南》学习笔记 第五天 window对象的方法。
前天和昨天大致浏览了犀牛书的函数.类与模块.正则表达式.JavaScript扩展.以及服务端的js.这些方面对于我目前的水平来说比较难,一些最基本的概念都不能领会.不过最复杂的知识占用平时使用的20% ...
- BZOJ1202 [HNOI2005]狡猾的商人&&BZOJ3436小K的农场
差分约束第三题 传送门: 很明显的差分约束,d[y]-d[x-1]>=v d[y]-d[x-1]<=v 根据这个建图然后跑bellman-ford就可以了. //BZOJ 1202 //b ...
- Nginx系列4之基础配置
preface 公司跑得大多数是LNMP平台,所以借此机会多多了解下Nginx.下面主要说说Nginx下面几点: 防盗链 日志切割 负载均衡 虚拟主机 location匹配解释 substatus状态 ...