ETLJobNode

Prev Next

Data Flow ETL 작업의 노드 소스(source), 변환(transform), 타깃(target) 타입에 대한 정보입니다.

  • ETLJobNode: ETL 작업 노드 정의
  • JobNodeCategory: 노드 카테고리 정의
  • JobNodeType: 노드 카테고리 타입 정의
  • Field: 데이터 필드 정의

구문

구문은 다음과 같습니다.

class ETLJobNode {
    private id: Long;
    private name: String;
    private JobNodeType type;
    private List<Long> parentNodeIds;

    enum Operator { EQ, NE, GT, LT, GTE, LTE }
    enum ConditionOperator { HEAD, AND, OR }
}
enum JobNodeCategory {
    SOURCE, TRANSFORM, TARGET
}
enum JobNodeType(JobNodeCategory category) {
    SOURCE_CATALOG(JobNodeCategory.SOURCE),
    SOURCE_CDB_MYSQL(JobNodeCategory.SOURCE),
    SOURCE_CDB_POSTGRESQL(JobNodeCategory.SOURCE),
    SOURCE_OBS(JobNodeCategory.SOURCE),
    TRANSFORM_DEFINE(JobNodeCategory.TRANSFORM),
    TRANSFORM_SELECT(JobNodeCategory.TRANSFORM),
    TRANSFORM_JOIN(JobNodeCategory.TRANSFORM),
    TRANSFORM_FILTER(JobNodeCategory.TRANSFORM),
    TRANSFORM_UNION(JobNodeCategory.TRANSFORM),
    TRANSFORM_AGGREGATE(JobNodeCategory.TRANSFORM),
    TRANSFORM_RENAME(JobNodeCategory.TRANSFORM),
    TRANSFORM_DROP_DUPLICATION(JobNodeCategory.TRANSFORM),
    TRANSFORM_FILL_MISSING_VALUES(JobNodeCategory.TRANSFORM),
    TRANSFORM_SQL(JobNodeCategory.TRANSFORM),
    TARGET_CDB_MYSQL(JobNodeCategory.TARGET),
    TARGET_CDB_POSTGRESQL(JobNodeCategory.TARGET),
    TARGET_OBS(JobNodeCategory.TARGET),
    TARGET_CATALOG(JobNodeCategory.TARGET)
}
class Field {
    private String name;
    private Type type;
    private List<Field> properties;

    enum Type {
       Void, Boolean, Tinyint, Smallint, Int, Bigint, Float, Double, String, Char, Varchar, Date, Datetime, Timestamp, Decimal,
       Binary, TimestampWithTimeZone, Array, Map, Struct, Uniontype;
    }
}

필드

필드에 대한 설명은 다음과 같습니다.

필드 타입 필수 여부 설명
id Long Required 아이디
name String Required 작업 이름
  • 영문자, 숫자, 특수 문자 '_', '-'를 조합하여 3~100자 이내로 입력
  • 문자열의 시작은 영문자 또는 '_'로 구성
type JobNodeType Required 노드 타입
  • 구문 참고
parentNodeIds List Required 상위 노드 아이디