HDFS API 学习:几个常用的API

1.Hadoop-1.2.1 API 文档:http://hadoop.apache.org/docs/r1.2.1/api/

2.几个API:

  create(Path f) :Opens an FSDataOutputStream at the indicated Path.

  copyFromLocalFile(Path src, Path dst) :The src file is on the local disk.

  create(Path f) :Opens an FSDataOutputStream at the indicated Path.

  boolean exists(Path f) :Check if exists.

  get(URI uri, Configuration conf):Returns the FileSystem for this URI‘s scheme and authority.

  listStatus(Path f): List the statuses of the files/directories in the given path if the path is a directory.

  mkdirs(Path f) : Call mkdirs(Path, FsPermission) with default permission.

  rename(Path src, Path dst) :Renames Path src to Path dst.

3.代码实现:

import java.io.IOException;
import java.net.URI;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

public class testHDFS {

    static String hdfs = "hdfs://localhost:9000";
    static Configuration conf = new Configuration();

    public static void createFolder() throws IOException {

        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path path = new Path("/test");
        fs.mkdirs(path);
        fs.close();
    }

    public static void createFile() throws IOException {

        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path path = new Path("/test/test3.txt");
        FSDataOutputStream out = fs.create(path);
        out.write("hello hadoop.".getBytes());
    }

    public static void renameFile() throws IOException {

        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path path = new Path("/test/test1.txt");
        Path newPath = new Path("/test/test2.txt");
        System.out.println(fs.rename(path, newPath));
    }

    public static void uploadFileToHDFS() throws IOException {

        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path src = new Path("/home/ares/test.txt");
        Path dst = new Path("/test");
        fs.copyFromLocalFile(src, dst);
    }

    public static void listFile() throws IOException {

        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path path = new Path("/test");
        FileStatus[] files = fs.listStatus(path);
        for (FileStatus file : files) {
            System.out.println(file.getPath().toString());
        }
    }

    public static void deleteFileOnHDFS() throws IOException {
        FileSystem fs = FileSystem.get(URI.create(hdfs), conf);
        Path path = new Path("/test/test2.txt");
        boolean isExists = fs.exists(path);
        if (isExists) {
            fs.delete(path, isExists);
            System.out.println("file is deleted.");
        } else {
            System.out.println("file is exist.");
        }
    }

    public static void main(String[] args) throws IOException {
        // createFolder();
        // createFile();
        // renameFile();
        // uploadFileToHDFS() ;
        // listFile();
         deleteFileOnHDFS();
    }
}
时间: 2024-10-20 01:34:06

HDFS API 学习:几个常用的API的相关文章

ASP.NET MVC Web API 学习笔记---第一个Web API程序

http://www.cnblogs.com/qingyuan/archive/2012/10/12/2720824.html 1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScript来创建更丰富的HTML体验.所以我相信Web API会越来越有它的用武之地. 说道Web API很多人都会想到Web服务,但是他们仍然有

【转载】ASP.NET MVC Web API 学习笔记---第一个Web API程序

1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScript来创建更丰富的HTML体验.所以我相信Web API会越来越有它的用武之地. 说道Web API很多人都会想到Web服务,但是他们仍然有一定的区别:Web API服务是通过一般的 HTTP公开了,而不是通过更正式的服务合同 (如SOAP)  2. ASP.NET

ASP.NET MVC Web API 学习笔记---第一个Web API程序---近来很多大型的平台都公开了Web API

1. Web API简单说明 近来很多大型的平台都公开了Web API.比如百度地图 Web API,做过地图相关的人都熟悉.公开服务这种方式可以使它易于与各种各样的设备和客户端平台集成功能,以及通过在浏览器中使用 JavaScript来创建更丰富的HTML体验.所以我相信Web API会越来越有它的用武之地. 说道Web API很多人都会想到Web服务,但是他们仍然有一定的区别:Web API服务是通过一般的 HTTP公开了,而不是通过更正式的服务合同 (如SOAP)  2. ASP.NET

compass General 常用api学习[Sass和compass学习笔记]

compass 中一些常用api 包括一些浏览器hack @import "compass/utilities/general" Clearfix Clearfix 是用来清除浮动 float 造成的内容问题,以前用clear 方法可以解决,通过查看Clearfix 的源码发现对与高版本的浏览器其实已经可以不用了 ? 1 2 3 4 @mixin clearfix {   overflow: hidden;   @include has-layout; } 用overflow 就可以了

JAVA学习第二十八课(常用对象API)- String类

多线程告一段落,开始常用对象API的涉及,背也要背下来!!! 日后开发,遇见最多的对象是文字,也就是字符串 String类 字符串是一个特殊对象 字符串一旦初始化就不可以被改变 一.特点 public class Main { public static void main(String[] args) { Demo1(); System.out.println("--------------"); Demo2(); } /*演示字符串的第一种定义方式,并明确字符串常量池的特点*/ p

Webdrivier API学习【转】

1.1   下载selenium2.0的lib包 http://code.google.com/p/selenium/downloads/list 官方UserGuide:http://seleniumhq.org/docs/ 1.2   用webdriver打开一个浏览器 我们常用的浏览器有firefox和IE两种,firefox是selenium支持得比较成熟的浏览器.但是做页面的测试,速度通常很慢,严重影响持续集成的速度,这个时候建议使用HtmlUnit,不过HtmlUnitDirver运

CK2020微信小程序入门与实战 常用组件API开发技巧项目实战

新年伊始,学习要趁早,点滴记录,学习就是进步! 随笔背景:在很多时候,很多入门不久的朋友都会问我:我是从其他语言转到程序开发的,有没有一些基础性的资料给我们学习学习呢,你的框架感觉一下太大了,希望有个循序渐进的教程或者视频来学习就好了.对于学习有困难不知道如何提升自己可以加扣:1225462853  获取资料. 下载地址:https://pan.baidu.com/s/1hsU5EIS 微信小程序入门与实战 常用组件API开发技巧项目实战 小程序官方正式公告,开放了更多的入口,个人开发者可以申请

野兽的Angular Api 学习、翻译及理解 - - form.FormController、ngModel.NgModelController

野兽的ng api学习 -- form.FormController.ngModel.NgModelController form.FormController FormController跟踪所有他所控制的和嵌套表单以及他们的状态,就像有效/无效或者脏值/原始. 每个表单指令创建一个FormController实例. 方法: $addControl(); 给表单注册一个控制器. 使用了ngModelController的输入元素会在连接时自动执行. $removeControl(); 给表单注

@野兽的Angular Api 学习、翻译及理解 - - angular.module

@野兽的 ng api 学习 -- angular.module angular.module 创建一个全局的可用于检索和注入的Angular模块.所有Angular模块(Angular核心模块或者第三方模块)想要在应用里实现,都需要使用这个注入机制. 格式:angular.module(name,[requires],[configFn]); name :  string  创建的模块名称. [requires]: 字符串的数组  代表该模块依赖的其他模块列表,如果不依赖其他模块,则为空数组.