加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

hadoop 写入文件工具类

发布时间:2020-05-24 21:03:48 所属栏目:Java 来源:互联网
导读:hadoop 写入文件工具类

下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。

脚本之家小编现在分享给大家,也给大家做个参考。

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);
    }
  }
}

以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。

如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读