Package com.alimama.web.adhoc

Source Code of com.alimama.web.adhoc.UploadToHdfs

package com.alimama.web.adhoc;

import java.io.IOException;
import java.io.OutputStreamWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;

import com.alimama.mdrill.utils.HadoopUtil;

import backtype.storm.utils.Utils;

public class UploadToHdfs {
  public static HashMap<String,String> upload(HttpServletRequest request, HttpServletResponse response,OutputStreamWriter outStream) throws IOException
  {
    SimpleDateFormat fmt = new SimpleDateFormat("yyyyMMdd");
    String day = fmt.format(new Date());
    Map stormconf = Utils.readStormConfig();
    String hdpConf = (String) stormconf.get("hadoop.conf.dir");
    String connstr = (String) stormconf.get("higo.download.offline.conn");
    String uname = (String) stormconf.get("higo.download.offline.username");
    String passwd = (String) stormconf.get("higo.download.offline.passwd");
    String store = (String) stormconf.get("higo.download.offline.store")
        + "/" + day + "/upload_" + java.util.UUID.randomUUID().toString();
   
    Configuration conf=getConf(stormconf);
    FileSystem fs=FileSystem.get(conf);
   
    if(!fs.exists(new Path(store)))
    {
      fs.mkdirs(new Path(store));
    }
   
    HashMap<String,String> params=new HashMap<String, String>();
    FSDataOutputStream out=fs.create(new Path(store,String.valueOf(System.currentTimeMillis())));
      OutputStreamWriter osw = new OutputStreamWriter(out, "UTF-8");

    Upload up=new Upload();
    up.mergerTo(request, response, "gbk", osw, params);
    osw.close();

    out.close();
   
    outStream.append(store);
    outStream.append("<br>\r\n");
    for(Entry<String, String> e:params.entrySet())
    {
      outStream.append(e.getKey());
      outStream.append("=");
      outStream.append(e.getValue());
      outStream.append("<br>\r\n");
    }
   
    return params;
  }
 
  private static Configuration getConf(Map stormconf) {
    String hadoopConfDir = (String) stormconf.get("hadoop.conf.dir");
    String opts = (String) stormconf.get("hadoop.java.opts");
    Configuration conf = new Configuration();
    conf.set("mapred.child.java.opts", opts);
    HadoopUtil.grabConfiguration(hadoopConfDir, conf);
    return conf;
  }
}
TOP

Related Classes of com.alimama.web.adhoc.UploadToHdfs

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.