Java-HDFS 整合

来源:互联网 发布:国联期货数据导出 编辑:程序博客网 时间:2024/05/21 04:01

Java-HDFS整合

1.整合步骤:

1.1 在MyEclipse中新建一个JAVA项目

1.2 导入JAR

1.3 新建一个Junit测试类

1.4 编写代码实现文件操作功能

2.开始整合

2.1 创建新的java项目

2.2 导入jar包


2.3.新建junit测试类




2.4 创建一个demo类,开始编程

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.InputStream;import java.io.OutputStream;import java.net.URI;import org.apache.commons.compress.utils.IOUtils;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FSDataInputStream;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.junit.Before;import org.junit.Test;/** * 类描述:单节点功能演示 * */public class HDFSDemo {// HDFS操作入口FileSystem fileSystem = null;/** * 前置方法描述:创建fileSystem对象         * @throws java.lang.Exception */@Beforepublic void setUp() throws Exception {URI uri = new URI("hdfs://192.168.137.13:9000");Configuration configuration = new Configuration();fileSystem = FileSystem.get(uri, configuration, "root");}/** * 方法描述:取得文件信息列表 * 对应命令:hdfs dfs -ls * @throws Exception */public void list() throws Exception{// 递归方式取得指定目录下的文件信息FileStatus[] listStatus = fileSystem.listStatus(new Path("/"));// 输出取得的文件权限和文件名称for (FileStatus fileStatus : listStatus) {System.out.println(fileStatus.getPermission()+" "+fileStatus.getPath());}}/** * 方法描述:上传文件 * 对应命令:hdfs dfs -put * @throws Exception */public void put() throws Exception{// 是否覆盖同名文件(前提是也在同一目录下)标志位boolean overwrite = true;// DFS文件输出流FSDataOutputStream outputStream = fileSystem.create(new Path("/jdk-7u67-linux-x64.tar.gz"), overwrite);// 本地文件输入流InputStream inputStream = new FileInputStream("D:\\开发工具\\Linux相关\\jdk-7u67-linux-x64.tar.gz");// 使用工具类下载IOUtils.copy(inputStream, outputStream, 4096);}/** * 方法描述:下载文件 * 对应命令:hdfs dfs -get * @throws Exception */@Testpublic void get() throws Exception{// DFS文件输入流FSDataInputStream inputStream = fileSystem.open(new Path("/jdk-7u67-linux-x64.tar.gz"));// 本地文件输出流OutputStream outputStream = new FileOutputStream("D:\\开发工具\\jdk-7u67-linux-x64.tar.gz");// 使用工具类下载IOUtils.copy(inputStream, outputStream, 4096);}}

好了,这样就可以进行测试了。


2 0
原创粉丝点击