feature(web): yarn 信息增加 flinkJobId alias 等关键信息

This commit is contained in:
2023-06-02 10:10:49 +08:00
parent e0d8be7af1
commit 77b68be055

View File

@@ -1,6 +1,7 @@
package com.lanyuanxiaoyao.service.web.entity;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.ReUtil;
import com.eshore.odcp.hudi.connector.utils.NameHelper;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.lanyuanxiaoyao.service.configuration.entity.yarn.YarnApplication;
@@ -18,13 +19,21 @@ public class YarnApplicationVO {
private final YarnApplication yarnApplication;
private final Boolean isHudiApplication;
private final Boolean isSyncApplication;
private final Boolean isCompactionApplication;
private String startTimeFromNow;
private String finishTimeFromNow;
private String flinkJobId;
private String flinkJobName;
private String alias;
public YarnApplicationVO(YarnApplication yarnApplication) {
this.yarnApplication = yarnApplication;
isHudiApplication = NameHelper.isSyncJob(yarnApplication.getName()) || NameHelper.isCompactionJob(yarnApplication.getName());
isSyncApplication = NameHelper.isSyncJob(yarnApplication.getName());
isCompactionApplication = NameHelper.isCompactionJob(yarnApplication.getName());
isHudiApplication = isSyncApplication || isCompactionApplication;
long now = Instant.now().toEpochMilli();
if (ObjectUtil.isNotNull(yarnApplication.getStartedTime()) && yarnApplication.getStartedTime() != 0) {
@@ -33,6 +42,15 @@ public class YarnApplicationVO {
if (ObjectUtil.isNotNull(yarnApplication.getFinishedTime()) && yarnApplication.getFinishedTime() != 0) {
finishTimeFromNow = DatetimeUtil.fromNow(now, yarnApplication.getFinishedTime());
}
if (isSyncApplication) {
flinkJobId = ReUtil.get(NameHelper.SYNC_JOB_NAME_REGEX, yarnApplication.getName(), 1);
flinkJobName = ReUtil.get(NameHelper.SYNC_JOB_NAME_REGEX, yarnApplication.getName(), 2);
}
if (isCompactionApplication) {
flinkJobId = ReUtil.get(NameHelper.COMPACTION_JOB_NAME_REGEX, yarnApplication.getName(), 1);
alias = ReUtil.get(NameHelper.COMPACTION_JOB_NAME_REGEX, yarnApplication.getName(), 2);
}
}
public String getCluster() {
@@ -115,6 +133,14 @@ public class YarnApplicationVO {
return yarnApplication.getClusterUsagePercentage();
}
public Boolean getSyncApplication() {
return isSyncApplication;
}
public Boolean getCompactionApplication() {
return isCompactionApplication;
}
public Boolean getHudiApplication() {
return isHudiApplication;
}
@@ -126,4 +152,16 @@ public class YarnApplicationVO {
public String getFinishTimeFromNow() {
return finishTimeFromNow;
}
public String getFlinkJobId() {
return flinkJobId;
}
public String getFlinkJobName() {
return flinkJobName;
}
public String getAlias() {
return alias;
}
}