Hadoop文件系统较普通的文件系统差异性主要在于其容错性,普通文件系统不能直接查看hadoop的hdfs对应的文件信息。文件存储起来之后,我们是需要可以访问才能够体现它的价值,hadoop提供了FileSystem API来进行hadoop的文件读写。
本节我是对照hadoop的API中的FileSystem类写的demo,包含了一些主要的方法,更多的需要从相关api中进行查询编写。
源代码下载地址:http://download.youkuaiyun.com/detail/wuyinggui10000/8954567
创建Java项目,File->New->Java Project,命名为TestHDFS
采用单元测试做实验,加入单元测试依赖包,项目导航栏里右键Build Path->Add Libraries->JUnit,以上操作完成如下:
引入hadoop相关外部jar包,Build Path->Add External Archives,jar包包括:
hadoop/lib/*.jar,hadoop/hadoop-core-1.2.1.jar
创建一个java类,TestHDFS.java,继承junit.framework.TestCase,代码开始写:
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.URI;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.BlockLocation;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IOUtils;
import org.junit.Test;
import junit.framework.TestCase;
public class TestHDFS extends TestCase {
@Test
}
@Test
}
还有很多函数,慢慢使用体会吧。。。
单元测试过程:
Eclipse左侧窗口,展开java类的方法,对某个需要进行单元测试的类右键,选择JUnit Test,如图所示。
先到这里吧。。。
API说明: