1 package day01; 2 3 import org.apache.hadoop.conf.Configuration; 4 import org.apache.hadoop.fs.*; 5 6 import java.io.*; 7 import java.net.URI; 8 9 /** 10 * @autho 通过idea进行hadoop测试增删改查 11 * @create 2019-09-16 14:15 12 **/ 13 public class HadoopClients { 14 15 static FileSystem fileSystem = null; 16 17 public static void main(String[] args) throws Exception { 18 /*mkdir();*/ 19 20 /*mv();*/ 21 22 /* rm();*/ 23 24 /*up();*/ 25 26 /*see();*/ 27 28 readWrite(); 29 } 30 31 //静态代码块 32 33 static { 34 Configuration conf = new Configuration(); 35 //hadoop的链接对象 36 try { 37 fileSystem = FileSystem.get(new URI("hdfs://hadoop01:9000"),conf,"root"); 38 } catch (Exception e) { 39 e.printstacktrace(); 40 } 41 } 42 //创建目录 43 public static void mkdir() throws Exception{ 44 fileSystem.mkdirs(new Path("/test1")); 45 System.out.println("创建成功!!"); 46 } 47 48 //修改目录 49 public static void mv() throws Exception{ 50 fileSystem.rename(new Path("/test1"),new Path("/test2")); 51 System.out.println("修改成功!!"); 52 } 53 54 //删除目录 55 public static void rm() throws Exception{ 56 fileSystem.delete(new Path("/test2"),true); 57 System.out.println("删除成功!!"); 58 } 59 60 //上传数据 61 public static void up() throws Exception{ 62 fileSystem.copyFromLocalFile(new Path("B:\\wc.txt"),new Path("/beida")); 63 System.out.println("上传成功!!"); 64 } 65 66 //查看目录 67 public static void see() throws Exception{ 68 RemoteIterator<LocatedFileStatus> iterator = fileSystem.listFiles(new Path("/"), true); 69 //迭代器取数据 70 while (iterator.hasNext()){ 71 LocatedFileStatus next = iterator.next(); 72 System.out.println(next.getPath()); 73 System.out.println(next.getLen()); 74 System.out.println(next.getBlockSize()); 75 System.out.println(next.getReplication()); 76 System.out.println("-------------------------------------"); 77 } 78 } 79 80 //模拟数据的读写 81 public static void readWrite() throws Exception{ 82 83 FSDataInputStream open = fileSystem.open(new Path("/beida/wc.txt")); 84 85 FSDataOutputStream create = fileSystem.create(new Path("/result.txt")); 86 87 //要把IO流数据转化为String类型 88 BufferedReader br = new BufferedReader(new InputStreamReader(open)); 89 BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(create)); 90 //处理数据 91 String line = null; 92 //br.readLine!==null是判断有没有数据 93 while ((line=br.readLine())!=null){ 94 String[] words = line.split(","); 95 //数据写出去 96 bw.write(line); 97 bw.newLine(); 98 bw.flush(); 99 } 100 System.out.println("写出成功!!"); 101 //关闭 102 br.close(); 103 bw.close(); 104 } 105 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。