FileSystem shell指令

  1. appendToFile
  2. cat
  3. checksum
  4. chgrp
  5. chmod
  6. chown
  7. copyFromLocal
  8. copyToLocal
  9. count
  10. cp
  11. createSnapshot
  12. deleteSnapshot
  13. df
  14. du
  15. dus
  16. expunge
  17. find
  18. get
  19. getfacl
  20. getfattr
  21. getmerge
  22. help
  23. ls
  24. lsr
  25. mkdir
  26. moveFromLocal
  27. moveToLocal
  28. mv
  29. put
  30. renameSnapshot
  31. rm
  32. rmdir
  33. rmr
  34. setfacl
  35. setfattr
  36. setrep
  37. stat
  38. tail
  39. test
  40. text
  41. touchz
  42. truncate
  43. usage

FileSystem java API

測试代码

  1. package hdfs;
  2. import java.io.FileInputStream;
  3. import java.io.FileOutputStream;
  4. import java.net.URI;
  5. import org.apache.hadoop.conf.Configuration;
  6. import org.apache.hadoop.fs.FSDataInputStream;
  7. import org.apache.hadoop.fs.FSDataOutputStream;
  8. import org.apache.hadoop.fs.FileStatus;
  9. import org.apache.hadoop.fs.FileSystem;
  10. import org.apache.hadoop.fs.Path;
  11. import org.apache.hadoop.io.IOUtils;
  12. public class HdfsOperator {
  13. static final String PATH = "hdfs://Master:9000/";
  14. static final String DIR = "/d1";
  15. static final String FILE = "/d1/hello";
  16. static final String loadFile = "F:/readme.txt";
  17. static final String downFile = "F:/readme_tmp.txt";
  18. private static void getList(FileSystem fileSystem, String DIR) throws Exception {
  19. final FileStatus[] listStatus = fileSystem.listStatus(new Path(DIR));
  20. for(FileStatus fileStatus : listStatus) {
  21. String isDir = fileStatus.isDirectory() ? "dir":"file";
  22. final String permission = fileStatus.getPermission().toString();
  23. final short replication = fileStatus.getReplication();
  24. final long len = fileStatus.getLen();
  25. final String path = fileStatus.getPath().toString();
  26. System.out.println(isDir+"\t"+permission+"\t"+replication+"\t"+len+"\t"+path);
  27. }
  28. }
  29. private static void getData(FileSystem fileSystem, String FILE) throws Exception {
  30. final FSDataInputStream in = fileSystem.open(new Path(FILE));
  31. final FileOutputStream out = new FileOutputStream(downFile);
  32. IOUtils.copyBytes(in, out, 4096, true);
  33. System.out.println("get hdfs: " +FILE+ " success! " + "saved as"+ downFile);
  34. }
  35. private static void putData(FileSystem fileSystem, String src, String dest ) throws Exception {
  36. final FSDataOutputStream out = fileSystem.create(new Path(dest));
  37. final FileInputStream in = new FileInputStream(src);
  38. IOUtils.copyBytes(in, out, 4096, true);
  39. }
  40. private static void remove(FileSystem fileSystem, String DIR) throws Exception {
  41. boolean flag = fileSystem.delete(new Path(DIR), true);
  42. System.out.println("del " + DIR + (flag ?
  43. " Success":" failure") );
  44. }
  45. private static void create(FileSystem fileSystem, String DIR) throws Exception {
  46. if( fileSystem.exists(new Path(DIR)) == true) {
  47. remove(fileSystem, DIR);
  48. }
  49. fileSystem.mkdirs(new Path(DIR));
  50. }
  51. private static FileSystem getFileSystem(String PATH) throws Exception {
  52. return FileSystem.get(new URI(PATH), new Configuration());
  53. }
  54. public static void main(String[] args) throws Exception {
  55. FileSystem fileSystem = getFileSystem(PATH);
  56. create(fileSystem, DIR);
  57. putData(fileSystem, loadFile, FILE);
  58. getData(fileSystem, FILE);
  59. getList(fileSystem, PATH);
  60. remove(fileSystem, FILE);
  61. }
  62. }

HDFS学习笔记(2)hdfs_shell & JavaAPI的更多相关文章

  1. hadoop之HDFS学习笔记(二)

    主要内容:hdfs的核心工作原理:namenode元数据管理机制,checkpoint机制:数据上传下载流程 1.hdfs的核心工作原理 1.1.namenode元数据管理要点 1.什么是元数据? h ...

  2. hadoop之HDFS学习笔记(一)

    主要内容:hdfs的整体运行机制,DATANODE存储文件块的观察,hdfs集群的搭建与配置,hdfs命令行客户端常见命令:业务系统中日志生成机制,HDFS的java客户端api基本使用. 1.什么是 ...

  3. HDFS学习笔记(1)初探HDFS

    Hadoop分布式文件系统(Hadoop Distributed File System, HDFS) 分布式文件系统是一种同意文件通过网络在多台主机上分享的文件系统.可让多机器上的多用户分享文件和存 ...

  4. HDFS学习笔记二

    文章来源于:https://blog.csdn.net/xuejingfu1/article/details/52554174 文件写入staging(分阶段进行) 一个客户端的创建文件的请求并不直接 ...

  5. HDFS学习笔记一

    一,HDFS是什么,HDFS有什么用,HDFS怎么用 HDFS:Hadoop Distribute File System 分布式文件系统 HDFS可以保证文件存储的可靠性, 二.HDFS的设计原则 ...

  6. Hadoop - HDFS学习笔记(详细)

    第1章 HDFS概述 hdfs背景意义 hdfs是一个分布式文件系统 使用场景:适合一次写入,多次读出的场景,且不支持文件的修改. 优缺点 高容错性,适合处理大数据(数据PB级别,百万规模文件),可部 ...

  7. Hadoop学习笔记2 - 第一和第二个Map Reduce程序

    转载请标注原链接http://www.cnblogs.com/xczyd/p/8608906.html 在Hdfs学习笔记1 - 使用Java API访问远程hdfs集群中,我们已经可以完成了访问hd ...

  8. AJPFX学习笔记JavaAPI之String类

    学习笔记JavaAPI之String类 [size=10.5000pt]一.所属包java.lang.String,没有子类.特点:一旦被初始化就不可以被改变. 创建类对象的两种方式: String ...

  9. hadoop学习笔记(四):HDFS文件权限,安全模式,以及整体注意点总结

    本文原创,转载注明作者和原文链接! 一:总结注意点: 到现在为止学习到的角色:三个NameNode.SecondaryNameNode.DataNode 1.存储的是每一个文件分割存储之后的元数据信息 ...

随机推荐

  1. 关于java的print()

    print方法是类PrintStream的方法成员,而System类有一个static的PrintStream类型的属性成员,名叫out,我们平时写的System.out.print("he ...

  2. python自动化--模块操作之re、MySQL、Excel

    一.python自有模块正则 import re # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None print(re.match("www ...

  3. JDBC使用游标实现分页查询的方法

    本文实例讲述了JDBC使用游标实现分页查询的方法.分享给大家供大家参考,具体如下: /** * 一次只从数据库中查询最大maxCount条记录 * @param sql 传入的sql语句 * @par ...

  4. [Windows Server 2012] 初识Windows Server 2012

    ★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★ 护卫神·V课堂 是护卫神旗下专业提供服务器教学视频的网站,每周更新视频.★ 本节我们将带领大家:初次见识Win ...

  5. Python+selenium学习(二) selenium 定位不到元素

    转载:https://www.cnblogs.com/tarrying/p/9681991.html tarrying selenium的三种等待时间 //隐式等待(20秒以内没哥一段时间就会去找元素 ...

  6. gym101343J. Husam and the Broken Present 2 (状压DP)

    题意:给定n个串 每个串长度不超过100 找到一个新串 使得这n个串都是它的字串 输出这个新串的最小长度 题解:n是15 n的阶乘的复杂度肯定不行 就想到了2的15次方的复杂度 想到了状压但是不知道怎 ...

  7. linux vim 常用操作

    vim 字符级 上k下j左h右i,键盘的方向键也可以移动 单词级 b上个单词首字母 w下个单词首字母 e下个单词的尾字母 行级 0行首 $行尾 删除 dd 删除光标所在行 文档级 gg 文档首行,首个 ...

  8. UVA-127 "Accordian" Patience(模拟)

    题目: 把52张牌从左到右排好,每张牌自成一个牌堆.当某张牌与它左边那张牌或者左边第三张牌匹配时(花色或者点数相同)时,就把这张牌移到那张牌上面. 移动之后还要查看是否可以进行其他移动.只有位于牌堆顶 ...

  9. python_ 学习笔记(运算符)

    python的运算符基本和C语言一致,以下说一些不一样的! 算术运算符 **:代表乘方,对应也有**=: //:代表商向下取整,对应也有//=: 逻辑运算符 and or not 位运算符 :& ...

  10. Linux:SAMBA共享、NFS共享、Autofs自动挂载

    SAMBA.NFS共享区别 NFS开源文件共享程序:NFS(NetworkFile System)是一个能够将多台Linux的远程主机数据挂载到本地目录的服务,属于轻量级的文件共享服务,不支持Linu ...