1.运行虚拟机
2.在Idea的Maven中打包代码
3.将打包文件拖入虚拟机中
4.执行jar包
在Idea的Maven中打包代码:
将xml文件压缩成gzip文件:
package com.GzipCodeDemo; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.compress.CompressionCodec; import org.apache.hadoop.io.compress.CompressionOutputStream; import org.apache.hadoop.util.ReflectionUtils; import java.io.FileInputStream; import java.io.FileOutputStream; public class GzipCodeDemo { public static void main(String[] args) throws Exception { String inpath="/home/atguigu/comments.xml"; //自行选择原文件路径 String outpath="/home/atguigu/comments.gzip"; //自行选择压缩出来文件路径 Configuration conf = new Configuration(); //压缩类型 String codecClassname ="org.apache.hadoop.io.compress.GzipCodec"; Class> codecClass = Class.forName(codecClassname); //创建压缩类型的实例的第一种写法 CompressionCodec codec = (CompressionCodec) ReflectionUtils.newInstance(codecClass,conf); //依据outoath输出路径进行和输出流包装,产生新的压缩流 FileOutputStream fos = new FileOutputStream(outpath); //创建输出压缩类 CompressionOutputStream comOut = codec.createOutputStream(fos); //依据压缩路径inpath并写入流 IOUtils.copyBytes(new FileInputStream(inpath),comOut,1024,false); comOut.finish(); } }
解压gzip文件解压成xml文件:
package com.GzipCodeDemo; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.io.IOUtils; import org.apache.hadoop.io.compress.CompressionInputStream; import org.apache.hadoop.io.compress.GzipCodec; import org.apache.hadoop.util.ReflectionUtils; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class GzipCodeDemo2 { public static void main(String[] args) throws IOException { String inputpath = "/home/atguigu/comments.gzip"; //自行选择原文件路径 String outputpath = "/home/atguigu/gzip_comments.xml"; //自行选择解压出来文件路径 Configuration conf = new Configuration(); //直接实例化codec对象 GzipCodec codec = new GzipCodec(); //检查并设置conf对象 ReflectionUtils.setConf(codec, conf); //创建压缩流 CompressionInputStream comIn = codec.createInputStream(new FileInputStream(inputpath)); //写入流 IOUtils.copyBytes(comIn, new FileOutputStream(outputpath), 1024); comIn.close(); } }
然后在Idea中进行打包,在Maven中先进行clean,然后package
在target中生成文件,找到文件位置,加载到虚拟机中
在虚拟机中 运行 代码:
hadoop jar + 包名 + copy Reference(包名类名)
注:包名如果觉得长,可以自行更改
包名类名获取方式:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)