从HDFS和MapReduce两方面了解Hadoop(4)

电脑杂谈  发布时间:2019-04-26 04:10:13  来源:网络整理

mongodb mapreduce 原理_hadoop mapreduce工作原理_hadoop mapreduce 原理

删除文件或目录。

清单 9. JavaApi 删除文件或目录

  1. @Test 
  2. public void delete() throws IOException { 
  3.   fs.delete(new Path("/test/api"), false); 
  4. } 
  5. @Test 
  6. public void deleteNonEmptyDir() throws IOException { 
  7.   fs.delete(new Path("/test"), true); 
  8. } 

我们可以看到 fs.delete()这个方法有两个参数,第一个参数很好理解,就是我们要删除的目录或者文件的地址。那么第二个 Boolean 类型的参数呢,如果删除的是文件或者空目录这个参数实际上是会被忽略的,如果删除的是非空目录,只有在这个参数值为 true 的时候才会成功删除。

创建文件和文件写入。

我们通过 FileSystem.create()方法来创建一个文件,这个方法会顺带着创建不存在的父级目录,如果不需要这个的话,最好是在创建之前调用 exists()方法来判断一下,如果父级目录不存在直接报错即可。

清单 10. JavaApi 创建文件和文件写入

  1. @Test 
  2. public void create() throws IOException { 
  3. FSDataOutputStream out = null; 
  4. try { 
  5. out = fs.create(new Path("/test/api/test.txt")); 
  6. out.writeChars("hello hdfs."); 
  7. } finally { 
  8. IOUtils.closeStream(out); 
  9. } 
  10. } 

文件创建好后,可以通过 append()方法在文件末尾添加内容。

清单 11. JavaApi 追加文件内容

  1. @Test 
  2. public void append() throws IOException { 
  3. FSDataOutputStream out = null; 
  4. try { 
  5. out = fs.append(new Path("/test/api/test.txt")); 
  6. out.writeChars("hello hdfs."); 
  7. } finally { 
  8. out.close(); 
  9. } 
  10. } 

从本地上传文件到 HDFS。

清单 12. JavaApi 上传文件至 HDFS

  1. @Test 
  2. public void copyFromLocal() throws IOException { 
  3. fs.copyFromLocalFile(new Path("d:/local.txt"), new Path("/test/api")); 
  4. } 


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-94214-4.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...