package com.taobao.zeus.jobs.sub.tool;
import java.util.ArrayList;
import java.util.List;
import com.taobao.zeus.jobs.JobContext;
import com.taobao.zeus.jobs.ProcessJob;
import com.taobao.zeus.util.Environment;
import com.taobao.zeus.util.JobUtils;
/**
* 从HDFS文件系统下载到本地文件系统
*
* @author zhoufang
*
*/
public class DownloadHdfsFileJob extends ProcessJob {
private String hdfsFilePath;
private String localPath;
public DownloadHdfsFileJob(final JobContext jobContext, final String localPath,
final String hdfsFilePath) {
super(jobContext);
this.localPath = localPath;
this.hdfsFilePath = hdfsFilePath;
}
@Override
public List<String> getCommandList() {
String hadoopCmd=JobUtils.getHadoopCmd(envMap);
List<String> commands = new ArrayList<String>();
commands.add(hadoopCmd+" fs -copyToLocal " + hdfsFilePath + " " + localPath);
//格式转换
String[] excludeFiles = Environment.getExcludeFile().split(";");
boolean isDos2unix = true;
if(excludeFiles!=null && excludeFiles.length>0){
for(String excludeFile : excludeFiles){
if(localPath.toLowerCase().endsWith("."+excludeFile.toLowerCase())){
isDos2unix = false;
break;
}
}
// System.out.println(Environment.getExcludeFile());
}
if(isDos2unix){
commands.add("dos2unix " + localPath);
// System.out.println("dos2unix file: " + localPath);
log("dos2unix file: " + localPath);
}
//commands.add("dos2unix " + localPath);
return commands;
}
}