Untitled
{ "type": "object", "definitions": { "transformationParameters": { "repartition": { "type": "object", "properties": { "numPartitions": { "type": "integer", "minimum": 1 }, "columns": { "type": "array", "items": { "type": "string" }, "default": [] } }, "required": ["numPartitions", "columns"], "not":{ "required": ["where", "sql"] }, "additionalProperties": false }, "sql": { "type": "object", "properties": { "sql": { "type": "string" } }, "required": ["sql"], "additionalProperties": false }, "filter": { "type": "object", "properties": { "where": { "type": "string" } }, "required": ["where"], "not":{ "required": ["numPartitions", "sql"] }, "additionalProperties": false }, "expression_columns": { "type": "object", "properties": { "expression": { "type": "string" }, "outputColumn": { "type": "string" }, "not":{ "required": ["inputColumn"]} }, "required": ["expression", "outputColumn"], "additionalProperties": false }, "pattern_validation": { "type": "object", "properties": { "outputColumn": { "type": "string" }, "inputColumn": { "type": "string" }, "expression": { "type": "string" } }, "required": ["outputColumn", "inputColumn", "expression"], "additionalProperties": false }, "coalesce": { "type": "object", "properties": { "numPartitions": { "type": "integer" }, "not":{ "required": ["columns", "sql", "where"]} }, "required": ["numPartitions"], "additionalProperties": false }, "transform_to_schema": { "type": "object", "properties": { "cols_to_payload": {"type": "object"}, "event_store_schema": {"type": "string"}, "default_substitution": {"type": "object"} }, "required": ["cols_to_payload", "event_store_schema"], "additionalProperties": false }, "rename_columns": { "type": "object", "properties": { "inputColumn": {"type": "string"}, "outputColumn": {"type": "string"} }, "required": ["inputColumn", "outputColumn"], "additionalProperties": false }, "drop_columns": { "type": "object", "properties": { "columns": {"type": "array", "items": {"type": "string"}} }, "required": ["columns"], "additionalProperties": false }, "key_gen": { "type": "object", "properties": { "outputColumn": {"type": "string"} }, "required": ["outputColumn"], "additionalProperties": false }, "null_validation": { "type": "object", "properties": { "inputColumn": {"type": "string"}, "outputColumn": {"type": "string"} }, "required": ["inputColumn","outputColumn"], "additionalProperties": false }, "range_validation": { "type": "object", "properties": { "inputColumn": {"type": "string"}, "outputColumn": {"type": "string"} }, "required": ["inputColumn","outputColumn"], "additionalProperties": false }, "datetime_validation": { "type": "object", "properties": { "inputColumn": {"type": "string"}, "outputColumn": {"type": "string"}, "expression": {"type": "string"} }, "required": ["inputColumn","outputColumn", "expression"], "additionalProperties": false }, "duplicate_validation": { "type": "object", "properties": { "outputColumn": {"type": "string"}, "partitionBy": {"type": "array", "items": {"type": "string"}} }, "required": ["outputColumn", "partitionBy"], "additionalProperties": false }, "duplicate_validation_with_order_by": { "type": "object", "properties": { "outputColumn": {"type": "string"}, "partitionBy": {"type": "array", "items": {"type": "string"}}, "orderBy": {"type": "array", "items": {"type": "string"}} }, "required": ["outputColumn", "partitionBy", "orderBy"], "additionalProperties": false }, "decode_avro": { "type": "object", "properties": { "schema_registry": {"type": "object"}, "avro_schemas": {"type": "object"}, "avro_reader_schema_id": {"type": "integer"}, "avro_value_col": {"type": "string"} }, "required": [], "additionalProperties": false }, "encode_avro": { "type": "object", "properties": { "schema_registry": {"type": "object"}, "avro_schemas": {"type": "object"}, "avro_reader_schema_id": {"type": "integer"}, "cols_to_encode": {"type": "array", "items": {"type": "string"}}, "avro_value_col": {"type": "string"} }, "required": [], "additionalProperties": false }, "join": { "type": "object", "properties": { "right_table": {"type": "string"}, "expression": {"type": "string"}, "join_type": {"type": "string"}, "leftWatermark": {"type": "object"}, "rightWatermark": {"type": "object"}, "columns": {"type": "array", "items": {"type": "string"}} }, "required": ["rightTable", "expression"], "additionalProperties": false } } }, "properties": { "category": { "type": "string" }, "subject": { "type": "string" }, "version": { "type": "string" }, "runtime": { "type": "object", "properties": { "security": { "type": "object", "additionalProperties": { "type": "string" } }, "parameters": { "type": "object", "additionalProperties": { "type": "string" } } } }, "sources": { "type": "array", "items": { "type": "object", "properties": { "sequence": { "type": "number" }, "name": { "type": "string" }, "stream": { "type": "boolean", "default": "False" }, "createView": { "type": "boolean", "default": "True" }, "format": { "type": "string", "enum": [ "csv", "orc", "json", "kafka", "jdbc", "xml", "bigquery", "parquet", "avro", "rate", "cobol" ] } }, "required": [ "name", "sequence", "stream", "format", "options" ] } }, "transformers": { "type": "array", "items": { "type": "object", "properties": { "sequence": { "type": "number" }, "name": { "type": "string" }, "createView": { "type": "boolean", "default": "True" }, "from": { "type": "string" }, "transformation": { "type": "string", "enum": [ "coalesce", "repartition", "filter", "sql", "rename_columns", "drop_columns", "expression_columns", "key_gen", "null_validation", "range_validation", "pattern_validation", "datetime_validation", "duplicate_validation", "duplicate_validation_with_order_by", "exclusion", "decode_avro", "encode_avro", "join" ] }, "parameters": { "type": "array", "items": { "oneOf": [ { "$ref": "#/definitions/transformationParameters/repartition" }, { "$ref": "#/definitions/transformationParameters/filter" }, { "$ref": "#/definitions/transformationParameters/sql" }, { "$ref": "#/definitions/transformationParameters/expression_columns" }, { "$ref": "#/definitions/transformationParameters/pattern_validation" }, { "$ref": "#/definitions/transformationParameters/coalesce" }, { "$ref": "#/definitions/transformationParameters/transform_to_schema" }, { "$ref": "#/definitions/transformationParameters/rename_columns" }, { "$ref": "#/definitions/transformationParameters/drop_columns" }, { "$ref": "#/definitions/transformationParameters/key_gen" }, { "$ref": "#/definitions/transformationParameters/null_validation" }, { "$ref": "#/definitions/transformationParameters/range_validation" }, { "$ref": "#/definitions/transformationParameters/datetime_validation" }, { "$ref": "#/definitions/transformationParameters/duplicate_validation" }, { "$ref": "#/definitions/transformationParameters/duplicate_validation_with_order_by" }, { "$ref": "#/definitions/transformationParameters/decode_avro" }, { "$ref": "#/definitions/transformationParameters/encode_avro" }, { "$ref": "#/definitions/transformationParameters/join" } ] }, "minItems": 1, "maxItems": 1 } }, "required": [ "name", "sequence", "parameters", "from", "transformation" ], "additionalProperties": false }, "default": [] }, "targets": { "type": "array", "items": { "type": "object", "properties": { "sequence": { "type": "number" }, "name": { "type": "string" }, "from": { "type": "string" }, "format": { "type": "string", "enum": [ "csv", "orc", "json", "kafka", "jdbc", "xml", "bigquery", "parquet", "avro", "console" ] } }, "required": [ "name", "sequence", "from", "format", "options" ] } }, "sqls": { "type": "object", "additionalProperties": { "type": "string" } } }, "required": [ "sources", "targets" ] }
Leave a Comment