zoukankan      html  css  js  c++  java
  • 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所看到的。

    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/


  • 相关阅读:
    clickhouse 多数据源
    maven-dependency-plugin maven-assembly-plugin
    maven shade plugin
    远程服务器,无法复制粘贴 (通过mstsc复制粘贴失败需要重新启动RDP剪切板监视程序rdpclip.exe)
    Mysql导入大sql文件方法
    MySQL5.7更新json类型字段中的某个key的值 函数json_replace()
    mysq json类型
    增强mybatis-plus的typeHandler,可以支持List<T> 中嵌套对象
    Windows中查看端口占用及关闭对应进程
    Hibernate中继承体现
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/7172166.html
Copyright © 2011-2022 走看看