hadoop 写入文件工具类
2018-07-20 来源:open-open
import java.io.File; import java.io.FileOutputStream; import java.net.URI; import java.util.List; import org.apache.commons.io.IOUtils; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FSDataOutputStream; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; public class HdfsUtils { public static Configuration conf = new Configuration(); static{ conf.addResource(new Path(Config.instace().getProperty("hadoop") + "core-site.xml")); conf.addResource(new Path(Config.instace().getProperty("hadoop") + "hdfs-site.xml")); conf.reloadConfiguration(); } public static void write(List data, String path) { Configuration conf = new Configuration(); conf.addResource(new Path(Config.instace().getProperty("hadoop") + "core-site.xml")); conf.addResource(new Path(Config.instace().getProperty("hadoop") + "hdfs-site.xml")); conf.reloadConfiguration(); FileSystem fs = null; FSDataOutputStream f = null; try { fs = FileSystem.get(conf); if (fs.exists(new Path(path))) { f = fs.append(new Path(new URI(path))); } else { f = fs.create(new Path(new URI(path)), false); } for (Object object : data) { f.write(object.toString().getBytes()); } f.close(); fs.close(); } catch (Exception e) { throw new RuntimeException(e); } finally { IOUtils.closeQuietly(f); IOUtils.closeQuietly(fs); } } public static void write(String data, String path) { FileSystem fs = null; FSDataOutputStream f = null; try { fs = FileSystem.get(conf); if (fs.exists(new Path(path))) { f = fs.append(new Path(new URI(path))); } else { f = fs.create(new Path(new URI(path)), false); } f.write(data.getBytes()); f.hsync(); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(f); IOUtils.closeQuietly(fs); } } public static void writeLocal(String data, String path) { FileOutputStream fo = null; try { fo = new FileOutputStream(new File(path),true); fo.write(data.getBytes()); } catch (Exception e) { e.printStackTrace(); } finally { IOUtils.closeQuietly(fo); } } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:php 简单ftp文件上传范例
下一篇:操作Session的PHP类
最新资讯
热门推荐