设为首页 收藏本站
查看: 742|回复: 0

[经验分享] eclipse插件的编译——Hadoop0.2.02版

[复制链接]

尚未签到

发表于 2018-10-31 09:19:51 | 显示全部楼层 |阅读模式
  package com.kingdee.hadoop;
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStream;
  import java.io.InputStreamReader;
  import org.apache.hadoop.conf.Configuration;
  import  org.apache.hadoop.fs.FSDataOutputStream;
  import org.apache.hadoop.fs.FileSystem;
  import org.apache.hadoop.fs.Path;
  /**
  *
  *  The utilities to operate file on hadoop hdfs.
  *
  *  @author luolihui 2011-07-18
  *
  */

  public>  private  static final String ROOT_PATH = "hdfs:///";
  private  static final int BUFFER_SIZE = 4096;
  /**
  * construct.
  */
  public  DFSOperator(){}
  /**
  * Create a file on hdfs.The root path is /.
  * for example: DFSOperator.createFile("/lory/test1.txt",  true);
  * @param path  the file name to open
  * @param overwrite if a file with this name  already exists, then if true, the file will be
  * @return true if delete is successful else  IOException.
  * @throws IOException
  */
  public  static boolean createFile(String path, boolean overwrite) throws IOException
  {
  //String  uri = "hdfs://192.168.1.100:9000";
  //FileSystem  fs1 = FileSystem.get(URI.create(uri), conf);
  Configuration  conf = new Configuration();
  FileSystem  fs = FileSystem.get(conf);
  Path  f = new Path(ROOT_PATH + path);
  fs.create(f,  overwrite);
  fs.close();
  return  true;
  }
  /**
  * Delete a file on hdfs.The root path is /.
  * for example: DFSOperator.deleteFile("/user/hadoop/output",  true);
  * @param path the path to delete
  * @param recursive  if path is a  directory and set to true, the directory is deleted else throws an exception.  In case of a file the recursive can be set to either true or false.
  * @return true if delete is successful else IOException.
  * @throws IOException
  */
  public  static boolean deleteFile(String path, boolean recursive) throws IOException
  {
  //String  uri = "hdfs://192.168.1.100:9000";
  //FileSystem  fs1 = FileSystem.get(URI.create(uri), conf);
  Configuration  conf = new Configuration();
  FileSystem  fs = FileSystem.get(conf);
  Path  f = new Path(ROOT_PATH + path);
  fs.delete(f,  recursive);
  fs.close();
  return  true;
  }
  /**
  * Read a file to string on hadoop hdfs. From  stream to string.
  * for example:  System.out.println(DFSOperator.readDFSFileToString("/user/hadoop/input/test3.txt"));
  * @param path the path to read
  * @return true if read is successful else  IOException.
  * @throws IOException
  */
  public  static String readDFSFileToString(String path) throws IOException
  {
  Configuration  conf = new Configuration();
  FileSystem  fs = FileSystem.get(conf);
  Path  f = new Path(ROOT_PATH + path);
  InputStream  in = null;
  String  str = null;
  StringBuilder  sb = new StringBuilder(BUFFER_SIZE);
  if  (fs.exists(f))
  {
  in  = fs.open(f);
  BufferedReader  bf = new BufferedReader(new InputStreamReader(in));
  while  ((str = bf.readLine()) != null)
  {
  sb.append(str);
  sb.append("\n");
  }
  in.close();
  bf.close();
  fs.close();
  return  sb.toString();
  }
  else
  {
  return  null;
  }
  }
  /**
  * Write string to a hadoop hdfs file.  
  * for example:  DFSOperator.writeStringToDFSFile("/lory/test1.txt", "You are a  bad man.\nReally!\n");
  * @param path the file where the string to  write in.
  * @param string the context to write in a  file.
  * @return true if write is successful else  IOException.
  * @throws IOException
  */
  public  static boolean writeStringToDFSFile(String path, String string) throws  IOException
  {
  Configuration  conf = new Configuration();
  FileSystem  fs = FileSystem.get(conf);
  FSDataOutputStream  os = null;
  Path  f = new Path(ROOT_PATH + path);
  os  = fs.create(f,true);
  os.writeBytes(string);
  os.close();
  fs.close();
  return  true;
  }
  public  static void main(String[] args)
  {
  try  {
  DFSOperator.createFile("/lory/test1.txt",  true);
  DFSOperator.deleteFile("/dfs_operator.txt",  true);
  DFSOperator.writeStringToDFSFile("/lory/test1.txt",  "You are a bad man.\nReally?\n");
  System.out.println(DFSOperator.readDFSFileToString("/lory/test1.txt"));
  }  catch (IOException e) {
  //  TODO Auto-generated catch block
  e.printStackTrace();
  }
  System.out.println("===end===");
  }
  }


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-628771-1-1.html 上篇帖子: eclipse插件的编译——Hadoop1.2.0版 下篇帖子: hadoop集群里数据收集工具Chukwa的安装详细步骤
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表