HDFS 的 JAVA操作
来源:互联网 发布:linux只显示ip 编辑:程序博客网 时间:2024/05/16 03:51
package hdfs;import java.net.URL;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;public class Crud {static final String PATH = "hdfs://master:9000/";static final String DIR = "/WinterTest";static final String sourcePath = "/WinterTest/Hello";public static void main(String[] args) throws Exception {URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());FileSystem fileSystem = Tools.getFileSystem(PATH);Tools.mkdir(fileSystem, DIR);// mkdirTools.delete(fileSystem, DIR);// deleteTools.upLoad(fileSystem, DIR, sourcePath);// uploadTools.downLoad(fileSystem, sourcePath);// downloadTools.list(fileSystem, DIR);// list}}
package hdfs;import java.io.File;import java.io.FileInputStream;import java.io.InputStream;import java.net.URL;import java.net.URI;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.apache.hadoop.io.IOUtils;class Tools {public static void jread(String PATH) throws Exception {final URL url = new URL(PATH);// URL只认识http的协议 不认识hdfs这种的协议// 打开的连接读取的输入流。InputStream in = url.openConnection().getInputStream();int temp = 0;int count = 0;byte[] b = new byte[1024];while ((temp = in.read()) != -1) {b[count++] = (byte) temp;}in.read(b);in.close();System.out.println(new String(b));}public static void hread(String PATH) throws Exception {final URL url = new URL(PATH);InputStream in = url.openStream();// 开启流啊IOUtils.copyBytes(in, System.out, 1024, false);IOUtils.closeStream(in);}// 创建文件夹public static FileSystem getFileSystem(String PATH) throws Exception {return FileSystem.get(new URI(PATH), new Configuration());}public static void mkdir(FileSystem fileSystem, String DIR)throws Exception {if (fileSystem.mkdirs(new Path(DIR))) {System.out.println("create" + DIR + "success");} else {System.out.println("delete" + DIR + "failure");}}// 删除文件夹public static void delete(FileSystem fileSystem, String DIR)throws Exception {if (fileSystem.delete(new Path(DIR), true)) {System.out.println("delete" + DIR + "success");} else {System.out.println("delete" + DIR + "failure");}}// 上传文件public static void upLoad(FileSystem fileSystem, String DIR,String sourcePath) throws Exception {final FSDataOutputStream out = fileSystem.create(new Path(sourcePath));final FileInputStream in = new FileInputStream("/Users/Hadoop/Documents/workspace/Winter/Hello");// InputStreamIOUtils.copyBytes(in, out, 1024, true);return;}// 浏览文件夹public static void downLoad(FileSystem fileSystem, String sourcePath)throws Exception {final FSDataInputStream in = fileSystem.open(new Path(sourcePath));IOUtils.copyBytes(in, System.out, 1024, true);}// list filepublic static void list(FileSystem fileSystem, String DIR) throws Exception {final FileStatus[] listStatus = fileSystem.listStatus(new Path(DIR));System.out.println(" 属性" + "\t\t" + " 权限" + "\t\t" + "副本数" + "\t"+ "长度" + "\t\t\t" + "路径");for (FileStatus x : listStatus) {String idDir = x.isDir() ? "Dir" : "Document";final String Permission = x.getPermission().toString();final short replication = x.getReplication();final long len = x.getLen();final String path = x.getPath().toString();System.out.println(idDir + "\t" + Permission + "\t" + replication+ "\t" + len + "\t" + path);}}public static void listMore(File fileName) {if (fileName != null) {if (fileName.isDirectory()) {File[] arr = fileName.listFiles();if (arr != null) {for (int i = 0; i < arr.length; i++) {listMore(fileName);}}}// 如果不为空就遍历else {System.out.println(fileName);}}}}
0 0
- HDFS 的 JAVA操作
- HDFS的java操作
- HDFS的java操作
- HDFS java 操作 HDFS
- HDFS的JAVA API操作
- HDFS的java操作方式
- HDFS的JAVA API 操作
- HDFS 的Java操作“ Wrong FS: hdfs://xxx, expected: file:///”
- HDFS的java接口——简化HDFS文件系统操作
- HDFS的JAVA接口API操作实例
- HDFS的JAVA接口API操作实例
- HDFS的JAVA接口API操作实例
- HDFS的JAVA接口API操作实例
- HDFS的JAVA接口API操作实例
- HDFS的JAVA接口API操作实例
- HDFS的Java API操作代码
- Hadoop HDFS文件操作的Java代码
- Hadoop HDFS 的 Java API 操作方式
- ORACLE监听器
- 集成百度地图SDK,百度定位SDK,二维码扫描
- Android 判断是否能真正上网
- 乘法口决表
- makefile 学习笔记
- HDFS 的 JAVA操作
- 有用的url地址
- Hive jdbc执行insert语句时报 code=1 ,code=2 错误解决方法
- regedit
- Java 实现Map集合排序功能
- zencart焦点图
- Activity和Service相互通信
- Maximum Subarray
- 网站代码知识收藏