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 | ID |
name |
String | Required | ジョブ名
|
type |
JobNodeType | Required | ノードタイプ
|
parentNodeIds |
List |
Required | 上位ノード ID |