ETLJobNode
    • PDF

    ETLJobNode

    • PDF

    기사 요약

    설명

    사용 가능한 ETL 작업 노드
    소스, 변환, 타깃 타입이 있습니다.

    공통

    구문

    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 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_NULL(JobNodeCategory.TRANSFORM),
        TRANSFORM_DROP_DUPLICATION(JobNodeCategory.TRANSFORM),
        TRANSFORM_FILL_MISSING_VALUES(JobNodeCategory.TRANSFORM),
        TRANSFORM_SPLIT_FIELD(JobNodeCategory.TRANSFORM),
        TRANSFORM_SQL(JobNodeCategory.TRANSFORM),
        TARGET_CDB_MYSQL(JobNodeCategory.TARGET),
        TARGET_CDB_POSTGRESQL(JobNodeCategory.TARGET),
        TARGET_OBS(JobNodeCategory.TARGET),
        TARGET_CATALOG(JobNodeCategory.TARGET)
    }
    
    enum JobNodeCategory {
        SOURCE, TRANSFORM, 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;
        }
    }
    

    필드

    필드명필수 여부타입제약 사항설명
    idYesLongID
    nameYesString- 영문자, 언더바( _ )로 시작
    - 영문자, 숫자, 언더바( _ ), 하이픈( - ) 사용 가능
    - 최소 3자 최대 20자로 입력
    작업 이름
    typeYesJobNodeType구문 참조노드 타입
    parentNodeIdsYesList상위 노드 ID

    Source / DataCatalog

    구문

    private String database;
    private String table;
    private String schemaVersion;
    private List<Field> fieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    databaseYesString데이터베이스 이름
    tableYesString테이블 이름
    schemaVersionYesString스키마 버전
    fieldListYesList필드 리스트

    Source / ObjectStorage

    구문

    private String regionNo;
    private String bucketName;
    private String prefix;
    private String dataType;
    private List<Field> fieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    regionNoYesString리전번호
    bucketNameYesString버킷이름
    prefixYesString접두어
    dataTypeYesStringJSON, CSV, PARQUET, NDJSON데이터타입
    fieldListYesList필드 리스트

    Source / Cloud DB for MySQL

    구문

    private String connectionId;
    private String table;
    private List<Field> fieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    connectionIdYesString커넥션 ID
    tableYesString테이블 이름
    fieldListYesList필드 리스트

    Source / Cloud DB for POSTGRESQL

    구문

    private String connectionId;
    private String table;
    private List<Field> fieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    connectionIdYesString커넥션 ID
    tableYesString테이블 이름
    fieldListYesList필드 리스트

    Transform / Define

    구문

    private List<DefineField> defineFieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    defineFieldList[].nameYesString기존 필드명
    defineFieldList[].newTypeYesString변경할 타입
    defineFieldList[].newNameYesString변경할 필드명

    Transform / Select

    구문

    private List<Field> fieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    fieldListYesList필드 리스트

    Transform / Join

    구문

    private String joinType;
    private long leftNodeId;
    private long rightNodeId;
    private List<JoinCondition> joinConditionList;
    private String prefix;
    

    필드

    필드명필수 여부타입제약 사항설명
    joinTypeYesStringINNER, LEFT_OUTER, RIGHT_OUTER, FULL_OUTER조인 타입
    leftNodeIdYeslong좌측 노드 ID
    rightNodeIdYeslong우측 노드 ID
    joinConditionList[].leftFieldYesString좌측 필드
    joinConditionList[].leftFieldYesString우측 필드
    joinConditionList[].joinOperatorYesOperator연산자
    joinConditionList[].conditionOperatorYesConditionOperator조건
    prefixNoString조인 시 변경될 필드 접두어

    Transform / Filter

    구문

    private String filterType;
    private List<FilterCondition> filterConditionList;
    

    필드

    필드명필수 여부타입제약 사항설명
    filterTypeYesStringAND, OR필터 타입
    filterCondtionList[].nameYesString필터 조건 이름
    filterCondtionList[].operatorYesString필터 조건 연산자
    filterCondtionList[].valueYesString필터 조건 값

    Transform / Union

    구문

    private String unionType;
    

    필드

    필드명필수 여부타입제약 사항설명
    unionTypeYesStringALL, DISTINCTUnion 타입

    Transform / Aggregate

    구문

    private List<String> groupByList;
    private List<AggregateField> aggregateFieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    groupByListYesList필드 명
    aggregateFieldList[].nameYesString집계조건 이름
    aggregateFieldList[].ResultNameYesString집계된 필드 이름
    aggregateFieldList[].functionYesStringSUM, AVG, MAX, MIN집계함수

    Transform / Rename

    구문

    private List<RenameField> renameFieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    renameFieldList[].nameYesString기존 필드명
    renameFieldList[].newNameYesString변경할 필드명

    Transform / Drop duplication

    구문

    private List<String> dropFieldList;
    

    필드

    필드명필수 여부타입제약 사항설명
    dropFieldListYesList중복 체크할 필드명

    Transform / Fill missing value

    구문

    private List<MissingValueField> missingValueFieldList;
    
    

    필드

    필드명필수 여부타입제약 사항설명
    missingValueFieldList[].nameYesString빈값 채울 필드명
    missingValueFieldList[].defaultValueYesString빈값 채울 필드 값

    Target / Data Catalog

    구문

    private String database;
    private String table;
    private String schemaVersion;
    private List<Field> fieldList;
    private UpdateMode updateType;
    private Integer coalesce;
    

    필드

    필드명필수 여부타입제약 사항설명
    databaseYesString데이터베이스 이름
    tableYesString테이블 이름
    schemaVersionYesString스키마 버전
    fieldListYesList필드 리스트
    updateTypeNoStringOVERWRITE, APPEND, IGNORE업데이트 옵션
    coalesceNoInt출력 파일 개수

    Target / Object Storage

    구문

    private String regionNo;
    private String bucketName;
    private String prefix;
    private String dataType;
    private List<Field> fieldList;
    private UpdateMode updateType;
    private Integer coalesce;
    

    필드

    필드명필수 여부타입제약 사항설명
    regionNoYesString리전번호
    bucketNameYesString버킷이름
    prefixYesString타깃경로
    dataTypeYesStringJSON, CSV, PARQUET데이터 타입
    fieldListYesList필드 리스트
    updateTypeNoStringOVERWRITE, APPEND, IGNORE업데이트 옵션
    coalesceNoInt출력 파일 개수

    Target / Cloud DB for MySQL

    구문

    private String connectionId;
    private String table;
    private List<Field> fieldList;
    private UpdateMode updateType;
    

    필드

    필드명필수 여부타입제약 사항설명
    connectionIdYesString커넥션 ID
    tableYesString테이블 이름
    fieldListYesList필드 리스트
    updateTypeNoStringOVERWRITE, APPEND, IGNORE업데이트 옵션

    Target / Cloud DB for POSTGRESQL

    구문

    private String connectionId;
    private String table;
    private List<Field> fieldList;
    private UpdateMode updateType;
    

    필드

    필드명필수 여부타입제약 사항설명
    connectionIdYesString커넥션 ID
    tableYesString테이블 이름
    fieldListYesList필드 리스트
    updateTypeNoStringOVERWRITE, APPEND, IGNORE업데이트 옵션

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.