摘要: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文件操作的更多相关文章

  1. Hadoop之HDFS文件操作常有两种方式(转载)

    摘要:Hadoop之HDFS文件操作常有两种方式,命令行方式和JavaAPI方式.本文介绍如何利用这两种方式对HDFS文件进行操作. 关键词:HDFS文件    命令行     Java API HD ...

  2. hadoop的hdfs文件操作实现上传文件到hdfs

    这篇文章主要介绍了使用hadoop的API对HDFS上的文件访问,其中包括上传文件到HDFS上.从HDFS上下载文件和删除HDFS上的文件,需要的朋友可以参考下hdfs文件操作操作示例,包括上传文件到 ...

  3. HDFS文件操作(命令行)

    HDFS是一种分布式文件系统,为MapReduce这种框架下的海量数据分布式处理而设计. Hadoop之HDFS文件操作常有两种方式,一种是命令行方式,即Hadoop提供了一套与Linux文件命令类似 ...

  4. JAVA API 实现hdfs文件操作

    java api 实现hdfs 文件操作会出现错误提示: Permission denied: user=hp, access=WRITE, inode="/":hdfs:supe ...

  5. hadoop执行hdfs文件到hbase表插入操作(xjl456852原创)

    本例中需要将hdfs上的文本文件,解析后插入到hbase的表中. 本例用到的hadoop版本2.7.2 hbase版本1.2.2 hbase的表如下: create 'ns2:user', 'info ...

  6. Hadoop JAVA HDFS客户端操作

    JAVA HDFS客户端操作 通过API操作HDFS org.apache.logging.log4jlog4j-core2.8.2org.apache.hadoophadoop-common${ha ...

  7. HDFS文件操作

    hadoop装好后,文件系统中没有任何目录与文件 1. 创建文件夹 hadoop fs -mkdir -p /hkx/learn 参数-p表示递归创建文件夹 2. 浏览文件 hadoop fs -ls ...

  8. Hadoop之HDFS客户端操作

    1. HDFS 客户端环境准备 1.1 windows 平台搭建 hadoop 2.8.5 2. 创建Maven工程 # pom.xml <dependencies> <depend ...

  9. eclipse 对 hadoop1.2.1 hdfs 文件操作

    package com.hdfs; import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io ...

随机推荐

  1. Sequence Models

    Sequence Models This is the fifth and final course of the deep learning specialization at Coursera w ...

  2. nginx中access_log和nginx.conf中的log_format用法

    nginx服务器日志相关指令主要有两条: 一条是log_format,用来设置日志格式; 另外一条是access_log,用来指定日志文件的存放路径.格式和缓存大小 可以参加ngx_http_log_ ...

  3. 【Android】页面迁移时先弹出键盘问题解决

    android自动弹出软键盘(输入键盘) 在AndroidMainfest.xml内容无法更改情况下,也就是键盘非要弹出情况下,进入此页面时先关闭软键盘不让其弹出 InputMethodManager ...

  4. HDU——2612Find a way(多起点多终点BFS)

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  5. 【单调队列】poj 2823 Sliding Window

    http://poj.org/problem?id=2823 [题意] 给定一个长度为n的序列,求长度为k的滑窗内的最大值和最小值 [思路] 裸的单调队列 注意用C++提交,不然会T,orz我用G++ ...

  6. Biorhythms(poj 1006)

    Description 人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色.例如,智力周期的高峰 ...

  7. Python入门--番外--中文目录乱码问题

    写Python的程序,读取含有中文目录下的文件,结果发现根本读取不了该中文目录下的文件, 原因:通过调试发现:该文件的目录乱码,目录无法解析,自然导致无法读取文件内容 解决方法: strPath = ...

  8. grafana 安装 和 Nginx 、EL 联调

    https://blog.csdn.net/u010735147/article/details/80943593

  9. ubuntu下安装jdk、tomcat、mysql

    1.JDK安装 方法1: 将JDK安装包解压缩之后,编辑~/.bashrc文件,在该文件里面加入下面的配置,然后通过source ~/.bashrc.JDK即安装成功. export JAVA_HOM ...

  10. route命令走一波

    1.写文章去了解某个命令完全是兴起,并没有下定决心去学哪一套课程,目前的状态仍然是犹豫中,废话不多说进入正文,九月二十七这天看到了route命令,发现对路由这个命令很陌生,陌生到根本不知道它是用来干什 ...