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是你的登录username,作者的username是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之HDFS文件操作的更多相关文章
- Hadoop之HDFS文件操作常有两种方式(转载)
摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件 命令行 Java API HD ...
- hadoop的hdfs文件操作实现上传文件到hdfs
这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...
- HDFS文件操作(命令行)
HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似 ...
- JAVA API 实现hdfs文件操作
java api 实现hdfs 文件操作会出现错误提示: Permission denied: user=hp, access=WRITE, inode="/":hdfs:supe ...
- hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)
本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...
- Hadoop JAVA HDFS客户端操作
JAVA HDFS客户端操作 通过API操作HDFS org.apache.logging.log4jlog4j-core2.8.2org.apache.hadoophadoop-common${ha ...
- HDFS文件操作
hadoop装好后,文件系统中没有任何目录与文件 1. 创建文件夹 hadoop fs -mkdir -p /hkx/learn 参数-p表示递归创建文件夹 2. 浏览文件 hadoop fs -ls ...
- Hadoop之HDFS客户端操作
1. HDFS 客户端环境准备 1.1 windows 平台搭建 hadoop 2.8.5 2. 创建Maven工程 # pom.xml <dependencies> <depend ...
- eclipse 对 hadoop1.2.1 hdfs 文件操作
package com.hdfs; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io ...
随机推荐
- WPF ProgressBar 样式
<ProgressBar Grid.Row="2" Foreground="#45d207" IsIndeterminate="True&quo ...
- centos7中的网卡一致性命名规则、网卡重命名方法
一致性网络设备命名(Consistent Network Device Naming) 背景介绍: 在centos5的时候,我们习惯了eth0这样的网络设备命名,在centos6发现网络设备变成了em ...
- Django之model admin自定义后台管理
Admin管理界面是django的杀手级应用.它读取你模式中的元数据,然后提供给你一个强大而且可以使用的界面,网站管理者可以用它立即向网站中添加内容. 比如,数据表如下: from django.db ...
- JS 调用存储过程传递参数
引用 #region 程序集 Newtonsoft.Json.dll, v4.5.0.0 // E:\Newtonsoft.Json.dll #endregion public DataTable R ...
- 构建maven的web项目时注意的问题(出现Error configuring application listener of class org.springframework.web.context.ContextLoaderListener 或者前端控制器无法加载)
构建项目后或者导入项目后,我们需要bulid path--->config build path 特别是maven的依赖一定要 发布到WEB_INF的lib下面,不然在发布项目的时候,这些依赖都 ...
- Failed building wheel for Twisted
在安装scrapy框架的过程中,pip install scrapy 出现报错信息: building 'twisted.test.raiser' extension error: Microsoft ...
- (转)java 中变量存储位置总结
1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而是存放在堆(new 出来的对象)或者常量池中(字符 ...
- App后台运行通知函数
[[UIApplicationsharedApplication] beginBackgroundTaskWithExpirationHandler: ^() { //程序在10分钟内未被系统关闭或 ...
- POJ 2396 有源有汇有上下界可行流问题
题意:给一个矩阵,给出每行每列之和,附加一些条件,如第i行第j列数必需大于(小于)多少. 思路题解:矩阵模型,模拟网络流,行.列标号为结点,构图,附加s,t,s连行标(容量上下限每行之和(必需以这个 ...
- TCP/IP 协议栈
TCP(传输控制协议) 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的.可靠的.基于字节流的传输层通信协议,由IETF的RFC 793定义. 在因特 ...