ETLJobNode
    • PDF

    ETLJobNode

    • PDF

    Article summary

    Description

    Available ETL job nodes
    There are source, transform, and target types.

    Common

    Syntax

    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;
        }
    }
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    idYesLongID
    nameYesString- English letters, starting with an underscore ()
    - English letters, numbers, underscores (
    ) and hyphens (-) are allowed
    - Enter between 3 and 20 characters
    Job name
    typeYesJobNodeTypeSee syntaxNode type
    parentNodeIdsYesListParent node ID

    Source / DataCatalog

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    databaseYesStringDatabase name
    tableYesStringTable name
    schemaVersionYesStringSchema version
    fieldListYesListField list

    Source / ObjectStorage

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    regionNoYesStringRegion number
    bucketNameYesStringBucket name
    prefixYesStringPrefix
    dataTypeYesStringJSON, CSV, PARQUET, NDJSONData type
    fieldListYesListField list

    Source / Cloud DB for MySQL

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    connectionIdYesStringConnection ID
    tableYesStringTable name
    fieldListYesListField list

    Source / Cloud DB for POSTGRESQL

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    connectionIdYesStringConnection ID
    tableYesStringTable name
    fieldListYesListField list

    Transform / Define

    Syntax

    private List<DefineField> defineFieldList;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    defineFieldList[].nameYesStringExisting field name
    defineFieldList[].newTypeYesStringType to change to
    defineFieldList[].newNameYesStringField name to change to

    Transform / Select

    Syntax

    private List<Field> fieldList;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    fieldListYesListField list

    Transform / Join

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    joinTypeYesStringINNER, LEFT_OUTER, RIGHT_OUTER, FULL_OUTERJoin type
    leftNodeIdYeslongLeft node ID
    rightNodeIdYeslongRight node ID
    joinConditionList[].leftFieldYesStringLeft field
    joinConditionList[].leftFieldYesStringRight field
    joinConditionList[].joinOperatorYesOperatorOperator
    joinConditionList[].conditionOperatorYesConditionOperatorCondition
    prefixNoStringField prefixes to be changed on join

    Transform / Filter

    Syntax

    private String filterType;
    private List<FilterCondition> filterConditionList;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    filterTypeYesStringAND, ORFilter type
    filterCondtionList[].nameYesStringFilter condition name
    filterCondtionList[].operatorYesStringFilter condition operator
    filterCondtionList[].valueYesStringFilter condition value

    Transform / Union

    Syntax

    private String unionType;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    unionTypeYesStringALL, DISTINCTUnion type

    Transform / Aggregate

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    groupByListYesListField name
    aggregateFieldList[].nameYesStringAggregation condition name
    aggregateFieldList[].ResultNameYesStringAggregated field name
    aggregateFieldList[].functionYesStringSUM, AVG, MAX, MINAggregation function

    Transform / Rename

    Syntax

    private List<RenameField> renameFieldList;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    renameFieldList[].nameYesStringExisting field name
    renameFieldList[].newNameYesStringField name to change to

    Transform / Drop duplication

    Syntax

    private List<String> dropFieldList;
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    dropFieldListYesListField name to check for duplicates

    Transform / Fill missing value

    Syntax

    private List<MissingValueField> missingValueFieldList;
    
    

    Field

    Field nameRequiredTypeRestrictionsDescription
    missingValueFieldList[].nameYesStringName of the field whose empty value you want to fill
    missingValueFieldList[].defaultValueYesStringValue of the field whose empty value you want to fill

    Target / Data Catalog

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    databaseYesStringDatabase name
    tableYesStringTable name
    schemaVersionYesStringSchema version
    fieldListYesListField list
    updateTypeNoStringOVERWRITE, APPEND, IGNOREUpdate option
    coalesceNoIntNumber of output files

    Target / Object Storage

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    regionNoYesStringRegion number
    bucketNameYesStringBucket name
    prefixYesStringTarget path
    dataTypeYesStringJSON, CSV, PARQUETData type
    fieldListYesListField list
    updateTypeNoStringOVERWRITE, APPEND, IGNOREUpdate option
    coalesceNoIntNumber of output files

    Target / Cloud DB for MySQL

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    connectionIdYesStringConnection ID
    tableYesStringTable name
    fieldListYesListField list
    updateTypeNoStringOVERWRITE, APPEND, IGNOREUpdate option

    Target / Cloud DB for POSTGRESQL

    Syntax

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

    Field

    Field nameRequiredTypeRestrictionsDescription
    connectionIdYesStringConnection ID
    tableYesStringTable name
    fieldListYesListField list
    updateTypeNoStringOVERWRITE, APPEND, IGNOREUpdate option

    Was this article helpful?

    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.