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

hadoop 写入文件工具类

发布时间:2020-12-14 23:20:05 所属栏目:Java 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 import java.io.File;import java.io.FileOutputStream;import java.net.URI;import java.util.List; import org.apache.commons.io.IOUtils;import o

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

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

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

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

    推荐文章
      热点阅读