HDFS的java客户端编写
来源:互联网 发布:药品网络销售总总结 编辑:程序博客网 时间:2024/05/16 06:55
package it.cast.hdfs;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.net.URI;import org.apache.commons.io.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.LocatedFileStatus;import org.apache.hadoop.fs.Path;import org.apache.hadoop.fs.RemoteIterator;import org.junit.Before;import org.junit.Test;import com.sun.org.apache.xalan.internal.xsltc.compiler.sym;public class HdfsUtil {FileSystem fs=null;@Beforepublic void init() throws Exception{//读取classpath下的xxx-site.xml配置文件,并解析其内容,封装到conf对象中Configuration conf=new Configuration();//也可以在代码中对conf中的配置信息进行手动设置,会覆盖掉配置文件中读取的值conf.set("fs.defaultFS", "hdfs://weekend110:9000/");//根据配置信息,去获取一个具体文件系统的客户端操作实例fs=FileSystem.get(new URI("hdfs://weekend110:9000/"),conf,"hadoop");}/** * 上传文件 * @throws IOException */@Testpublic void upload() throws IOException{Path dst=new Path("hdfs://weekend110:9000//aa/qingshu.txt");FSDataOutputStream os=fs.create(dst);FileInputStream is=new FileInputStream("c:/qingshu.txt");IOUtils.copy(is, os);}@Testpublic void upload2() throws IllegalArgumentException, IOException{fs.copyFromLocalFile(new Path("c:/qingshu.txt"), new Path("hdfs://weekend110:9000/aa/qingshu2.txt"));}/** * 下载文件 * @throws IOException * @throws IllegalArgumentException */public void download() throws IllegalArgumentException, IOException{fs.copyToLocalFile(new Path("hdfs://weekend110:9000/aa/qingshu2.txt"),new Path("c:/qingshu2.txt"));}/** * 查看文件信息 * @throws IOException * @throws IllegalArgumentException * @throws FileNotFoundException */@Testpublic void listFiles() throws FileNotFoundException, IllegalArgumentException, IOException{ //ListFiles 列出的是文件信息,而且提供递归遍历RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/"), true); while(listFiles.hasNext()){ LocatedFileStatus file = listFiles.next(); Path path = file.getPath(); String name = path.getName(); System.out.println(name); } System.out.println("-------------------"); //可以列出文件和文件夹的信息,但是不提供自带的递归遍历 FileStatus[] listStatus = fs.listStatus(new Path("/")); for(FileStatus status:listStatus){ String name=status.getPath().getName(); System.out.println(name + (status.isDirectory()?"is dir":"is file")); } }/** * 创建文件夹 * @throws IOException * @throws IllegalArgumentException */@Testpublic void mkdir() throws IllegalArgumentException, IOException{boolean mkdirs = fs.mkdirs(new Path("/aaa/bbb/ccc"));}/** * 删除文件或文件夹 * @throws Exception * @throws IllegalArgumentException */public void rm() throws IllegalArgumentException, Exception{fs.delete(new Path("/aa"),true);}}
阅读全文
0 0
- HDFS的java客户端编写
- HDFS的java客户端编写
- 【Hadoop】HDFS的java客户端编写
- Hadoop3-HDFS的java客户端编写
- HDFS的JAVA客户端编写(JAVA代码实现对HDFS的操作)
- hdfs的java客户端
- Hadoop—HDFS的Java客户端编程
- Hadoop2.4.1 HDFS的Java客户端开发
- Hdfs的JAVA客户端基本操作
- HDFS java客户端使用
- java编写hdfs程序
- Redis的Java客户端编写
- JAVA AXIS2 WEBSERVICE JAVA客户端的编写
- HDFS JAVA客户端的权限错误:Permission denied
- 客户端对HDFS的操作
- 远程Java客户端上传文件到HDFS
- java客户端操作hdfs权限问题初探
- Hadoop之HDFS客户端------java实现
- Codeforces Beta Round #88 C. Cycle —— DFS(找环)
- Redis Cluster的FailOver失败案例分析
- Android 沉浸式状态栏 和 activity 进出动画
- 自定义异常捕获-CrashHandler
- 深度相机(三)--三种方案对比
- HDFS的java客户端编写
- 华为OJ---购物单
- 利用keepalived实现高可靠(HA)配置nginx 的
- 下半年值得关注的新机和科技趋势
- 投鼠忌器
- PAT (Advanced Level) Practise 1092 To Buy or Not to Buy (20)
- 下半年值得关注的新机和科技趋势
- myeclipse的package explorer中,项目的src目录下的相同的包名如何合并在一起
- 如何看待“我有个绝妙的idea就差一个程序员来实现了”?