mirror of
https://gitee.com/dolphinscheduler/DolphinScheduler.git
synced 2024-12-04 13:17:50 +08:00
Merge pull request #476 from lgcareer/branch-1.0.2
determine if the file exists in hdfs when read file
This commit is contained in:
commit
893af254f7
@ -175,6 +175,7 @@ public enum Status {
|
||||
UDF_RESOURCE_SUFFIX_NOT_JAR(20009, "UDF resource suffix name must be jar"),
|
||||
HDFS_COPY_FAIL(20009, "hdfs copy {0} -> {1} fail"),
|
||||
RESOURCE_FILE_EXIST(20010, "resource file {0} already exists in hdfs,please delete it or change name!"),
|
||||
RESOURCE_FILE_NOT_EXIST(20011, "resource file {0} not exists in hdfs!"),
|
||||
|
||||
|
||||
|
||||
|
@ -515,13 +515,19 @@ public class ResourcesService extends BaseService {
|
||||
String hdfsFileName = HadoopUtils.getHdfsFilename(tenantCode, resource.getAlias());
|
||||
logger.info("resource hdfs path is {} ", hdfsFileName);
|
||||
try {
|
||||
List<String> content = HadoopUtils.getInstance().catFile(hdfsFileName, skipLineNum, limit);
|
||||
if(HadoopUtils.getInstance().exists(hdfsFileName)){
|
||||
List<String> content = HadoopUtils.getInstance().catFile(hdfsFileName, skipLineNum, limit);
|
||||
|
||||
putMsg(result, Status.SUCCESS);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(ALIAS, resource.getAlias());
|
||||
map.put(CONTENT, StringUtils.join(content.toArray(), "\n"));
|
||||
result.setData(map);
|
||||
}else{
|
||||
logger.error("read file {} not exist in hdfs", hdfsFileName);
|
||||
putMsg(result, Status.RESOURCE_FILE_NOT_EXIST);
|
||||
}
|
||||
|
||||
putMsg(result, Status.SUCCESS);
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put(ALIAS, resource.getAlias());
|
||||
map.put(CONTENT, StringUtils.join(content.toArray(), "\n"));
|
||||
result.setData(map);
|
||||
} catch (Exception e) {
|
||||
logger.error(String.format("Resource %s read failed", hdfsFileName), e);
|
||||
putMsg(result, Status.HDFS_OPERATION_ERROR);
|
||||
@ -565,17 +571,14 @@ public class ResourcesService extends BaseService {
|
||||
|
||||
String name = fileName.trim() + "." + nameSuffix;
|
||||
|
||||
//check file already exists
|
||||
Resource resource = resourcesMapper.queryResourceByNameAndType(name, type.ordinal());
|
||||
if (resource != null) {
|
||||
logger.error("resource {} has exist, can't recreate .", name);
|
||||
putMsg(result, Status.RESOURCE_EXIST);
|
||||
result = verifyResourceName(name,type,loginUser);
|
||||
if (!result.getCode().equals(Status.SUCCESS.getCode())) {
|
||||
return result;
|
||||
}
|
||||
|
||||
// save data
|
||||
Date now = new Date();
|
||||
resource = new Resource(name,name,desc,loginUser.getId(),type,content.getBytes().length,now,now);
|
||||
Resource resource = new Resource(name,name,desc,loginUser.getId(),type,content.getBytes().length,now,now);
|
||||
|
||||
resourcesMapper.insert(resource);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user