一、Java与hadoop交互
Java代码:
1、Configuration cfg=new Configuration(); 2、cfg.set("fs.defaultFS","hdfs://IP地址:9000"); 3、获取文件系统:FileSystem fs=FileSystem.get(cfg); 1~3、FileSystem fs=FileSystem(new URI("hdfs9000"),new Configuration(),"root"); 4、获取hdfs路径: FSDataInputStream fsis=fs.open("hdfs上的文件路径"); 5、查看流hadoop命令:
hadoop fs -mkdir -p /test/java/hdfs-test hadoop fs -put /opt/hadoop/README.txt /test/java/hdfs-test Configuration conf=new Configuration(); conf.set("fs.defaultFS","hdfs://192.168.206.33:9000"); // FileSystem fs=FileSystem.get(new URI("hdfs://192.168.206.33:9000"),new Configuration(),"root"); FileSystem fs=FileSystem.get(conf); InputStream is=fs.open(new Path("/test/java/hdfs-test/README.txt")); // FileOutputStream fos=new FileOutputStream(args[1]); //复制 // fs.copyToLocalFile(new Path(args[0]),new Path(args[1])); //上传 // fs.copyFromLocalFile(new Path(args[1]),new Path(args[0])); //创建 // fs.mkdirs(new Path("/hello/nihao/feichanghao")); //删除 // fs.deleteOnExit(new Path("/hello")); int tmp; while ((tmp=is.read())!=-1){ System.out.print((char)tmp); // fos.write(tmp); } is.close(); }二、使用hadoop jar执行Java的jar包
1、编写测试完成 2、打jar包时把main方法指定 3、编译生成jar包,把jar包上传至linux 4、hadoop jar jar宝路径 main方法类的路径 参数列表