关闭

Hadoop之HDFS文件操作

标签: hadoophdfs
532人阅读 评论(0) 收藏 举报
分类:

本文转载自:http://blog.csdn.net/wangloveall/article/details/28578393

摘要: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所示。

pic1

图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所示

pic2

图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所示。

pic3

图3 Hadoop命令ls的介绍 

Resource:

1   http://www.wangluqing.com/2014/03/hadoop-hdfs-fileoperation/

2  Hadoop in Action http://www.manning.com/lam/

0
0
查看评论

Hadoop 核心编程之 HDFS 的文件操作

本文以代码为主,并附以简短的说明,帮助你理解代码的逻辑,以及一些注意事项。你可以将本文的代码封装成一个工具类,这样以后需要调用时候,就可以复用了。
  • u013761665
  • u013761665
  • 2016-06-21 16:37
  • 3263

Hadoop—HDFS读写文件操作---练习4

1    运行环境说明 1.1  硬软件环境 l  主机操作系统:Windows 64 bit,双核4线程,主频2.2G,6G内存 l  虚拟软件:VMware® Workstatio...
  • u013337889
  • u013337889
  • 2015-07-19 10:34
  • 693

HADOOP之HDFS文件操作

摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式。本文介绍如何利用这两种方式对HDFS文件进行操作。 关键词:HDFS文件    命令行     Java API HDFS是一种分布式文件系统,为MapReduce这...
  • andrewgb
  • andrewgb
  • 2015-07-01 22:48
  • 180

Hadoop之HDFS文件操作

摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式。本文介绍如何利用这两种方式对HDFS文件进行操作。
  • wangloveall
  • wangloveall
  • 2014-06-05 05:52
  • 62636

hadoop实战之hdfs常用操作工具类

本文是hdfs常用的操作工具类,可直接复用! import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import or...
  • zhaojianting
  • zhaojianting
  • 2017-10-13 11:25
  • 219

hadoop hdfs 之 hello,world!(HDFS简单操作)

部署好Hadoop HDFS环境之后,可以通过shell或JavaAPI等方式来操作hdfs中的内容。 Shell方式 shell方式操作在这里不做过多介绍,基本由以下两种操作方式。 1.hdfs dfs -xx 如:hdfs dfs -put /etc/profile / 2.hado...
  • key_xyes
  • key_xyes
  • 2018-01-19 09:37
  • 27

Hadoop之HDFS

摘要:HDFS是Hadoop的核心模块之一,围绕HDFS是什么、HDFS的设计思想和HDFS的体系结构三方面来介绍。 关键词:Hadoop HDFS 分布式存储系统
  • wangloveall
  • wangloveall
  • 2014-03-09 11:35
  • 19757

HADOOP--HDFS简介

HDFS是什么?HADOOP DISTRIBUTED FILE SYSTEM,简称HDFS,是一个分布式文件系统。它是谷歌的GFS提出之后出现的另外一种文件系统。它有一定高度的容错性,而且提供了高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS 提供了一个高度容错性和高吞吐量的海量数据存储解...
  • lfsf802
  • lfsf802
  • 2013-05-27 08:45
  • 10460

和我一起学Hadoop(四):java客户端操作HDFS

Hadoop java客户端
  • qq_18675693
  • qq_18675693
  • 2017-01-14 15:53
  • 1627

HDFS文件系统操作命令

1、HDFS启动关闭 HDFS和普通的硬盘上的文件系统不一样,是通过Java虚拟机运行在整个集群当中的,所以当Hadoop程序写好之后,需要启动HDFS文件系统,才能运行: ①启动   》》进入到NameNode对应节点的Hadoop安装目录下    ...
  • u014470581
  • u014470581
  • 2016-05-20 16:18
  • 1065
    个人资料
    • 访问:467231次
    • 积分:5846
    • 等级:
    • 排名:第5247名
    • 原创:72篇
    • 转载:274篇
    • 译文:1篇
    • 评论:34条
    最新评论