/**
*
*/
package com.taobao.top.analysis.node.io;
import java.io.InputStream;
import java.net.URL;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import com.taobao.top.analysis.node.job.JobTask;
import com.taobao.top.analysis.node.job.JobTaskExecuteInfo;
/**
* @author fangweng
* email: fangweng@taobao.com
* 下午1:19:27
*
*/
public class HdfsInputAdaptor implements IInputAdaptor {
private static final Log logger = LogFactory.getLog(HdfsInputAdaptor.class);
static
{
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
@Override
public InputStream getInputFormJob(JobTask jobtask, JobTaskExecuteInfo taskExecuteInfo) {
try {
URL url = new URL(jobtask.getInput());
return url.openStream();
}
catch (Throwable e) {
logger.error("job get input error:" + jobtask.getJobName() + "," + jobtask.getInput(), e);
}
return null;
}
@Override
public boolean ignore(String input) {
return input.indexOf("hdfs:") < 0;
}
}