+{"$schema":"http://json-schema.org/draft-07/schema#","title":"Comet Data Pipeline","definitions":{"PrimitiveType":{"type":"string","oneOf":[{"const":"string"},{"const":"long"},{"const":"int"},{"const":"short"},{"const":"double"},{"const":"boolean"},{"const":"byte"},{"const":"date"},{"const":"timestamp"},{"const":"decimal"},{"const":"struct"}]},"IndexMapping":{"type":"string","oneOf":[{"const":"text"},{"const":"keyword"},{"const":"long"},{"const":"integer"},{"const":"short"},{"const":"byte"},{"const":"double"},{"const":"float"},{"const":"half_float"},{"const":"scaled_float"},{"const":"date"},{"const":"boolean"},{"const":"binary"},{"const":"integer_rang"},{"const":"float_range"},{"const":"long_range"},{"const":"double_range"},{"const":"date_range"},{"const":"geo_point"},{"const":"geo_shape"},{"const":"ip"},{"const":"completion"},{"const":"token_count"},{"const":"object"},{"const":"array"}]},"Engine":{"type":"string","oneOf":[{"const":"BQ"},{"const":"SPARK"}]},"WriteMode":{"type":"string","oneOf":[{"const":"OVERWRITE"},{"const":"APPEND"},{"const":"ERROR_IF_EXISTS"},{"const":"IGNORE"}]},"UserType":{"type":"string","oneOf":[{"const":"SA"},{"const":"USER"},{"const":"GROUP"}]},"Trim":{"type":"string","oneOf":[{"const":"LEFT"},{"const":"RIGHT"},{"const":"BOTH"},{"const":"NONE"}]},"SinkType":{"type":"string","oneOf":[{"const":"NONE"},{"const":"JBDC"},{"const":"BQ"},{"const":"ES"},{"const":"FS"},{"const":"KAFKA"}]},"Mode":{"type":"string","oneOf":[{"const":"FILE"},{"const":"STREAM"},{"const":"FILE_AND_STREAM"}]},"TableType":{"type":"string","oneOf":[{"const":"TABLE"},{"const":"VIEW"},{"const":"SYSTEM TABLE"},{"const":"GLOBAL TEMPORARY"},{"const":"LOCAL TEMPORARY"},{"const":"ALIAS"},{"const":"SYNONYM"}]},"Type":{"type":"object","properties":{"name":{"type":"string"},"primitiveType":{"$ref":"#/definitions/PrimitiveType"},"pattern":{"type":"string"},"zone":{"type":"string"},"sample":{"type":"string"},"comment":{"type":"string"},"indexMapping":{"type":"string"},"ddlMapping":{"$ref":"#/definitions/MapString"}},"required":["name","pattern","primitiveType"]},"Partition":{"type":"object","properties":{"sampling":{"type":"number"},"attributes":{"type":"array","items":{"type":"string"}}},"required":[]},"Position":{"type":"object","properties":{"first":{"type":"number"},"last":{"type":"number"}},"required":["first","last"]},"RowLevelSecurity":{"type":"object","properties":{"name":{"type":"string"},"predicate":{"type":"string"},"grants":{"type":"array","items":{"type":"string"}}}},"AccessControlEntry":{"type":"object","properties":{"role":{"type":"string"},"grants":{"type":"array","items":{"type":"string"}}}},"MergeOptions":{"type":"object","properties":{"key":{"type":"array","items":{"type":"string"}},"delete":{"type":"string"},"timestamp":{"type":"string"},"queryFilter":{"type":"string"}},"required":["key"]},"Format":{"type":"string","oneOf":[{"const":"DSV"},{"const":"POSITION"},{"const":"JSON"},{"const":"ARRAY_JSON"},{"const":"SIMPLE_JSON"},{"const":"XML"}]},"MapString":{"type":"object","additionalProperties":{"type":"string"}},"MapArrayOfString":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"Sink":{"type":"object","properties":{"type":{"$ref":"#/definitions/SinkType"},"name":{"type":"string"},"id":{"type":"string"},"timestamp":{"type":"string"},"location":{"type":"string"},"clustering":{"type":"string"},"days":{"type":"number"},"requirePartitionFilter":{"type":"boolean"},"connection":{"type":"string"},"partitions":{"type":"number"},"batchSize":{"type":"number"}},"required":["type"]},"Metadata":{"type":"object","properties":{"mode":{"$ref":"#/definitions/Mode"},"format":{"$ref":"#/definitions/Format"},"encoding":{"type":"string"},"multiline":{"type":"boolean"},"array":{"type":"boolean"},"withHeader":{"type":"boolean"},"separator":{"type":"string"},"quote":{"type":"string"},"escape":{"type":"string"},"write":{"$ref":"#/definitions/WriteMode"},"partition":{"$ref":"#/definitions/Partition"},"sink":{"$ref":"#/definitions/Sink"},"ignore":{"type":"string"},"clustering":{"type":"array","items":{"type":"string"}},"xml":{"$ref":"#/definitions/MapString"},"directory":{"type":"string"},"extensions":{"type":"array","items":{"type":"string"}},"ack":{"type":"string"}}},"Schema":{"type":"object","properties":{"name":{"type":"string"},"pattern":{"type":"string"},"attributes":{"type":"array","items":{"$ref":"#/definitions/Attribute"}},"metadata":{"$ref":"#/definitions/Metadata"},"merge":{"$ref":"#/definitions/MergeOptions"},"comment":{"type":"string"},"presql":{"type":"array","items":{"type":"string"}},"postsql":{"type":"array","items":{"type":"string"}},"tags":{"type":"array","items":{"type":"string"}},"rls":{"type":"array","items":{"$ref":"#/definitions/RowLevelSecurity"}},"assertions":{"$ref":"#/definitions/MapString"},"primaryKey":{"type":"array","items":{"type":"string"}},"acl":{"type":"array","items":{"$ref":"#/definitions/AccessControlEntry"}}}},"Attribute":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string"},"array":{"type":"boolean"},"required":{"type":"boolean"},"privacy":{"type":"string"},"comment":{"type":"string"},"rename":{"type":"string"},"metricType":{"type":"string"},"attributes":{"type":"array","items":{"$ref":"#/definitions/Attribute"}},"position":{"$ref":"#/definitions/Position"},"default":{"type":"string"},"tags":{"type":"array","items":{"type":"string"}},"trim":{"$ref":"#/definitions/Trim"},"script":{"type":"string"},"foreignKey":{"type":"string"},"ignore":{"type":"boolean"},"accessPolicy":{"type":"string"}},"required":["name","type"]},"AutoTaskDesc":{"type":"object","properties":{"sql":{"type":"string"},"domain":{"type":"string"},"dataset":{"type":"string"},"write":{"$ref":"#/definitions/WriteMode"},"partition":{"type":"array","items":{"type":"string"}},"presql":{"type":"array","items":{"type":"string"}},"postsql":{"type":"array","items":{"type":"string"}},"area":{"type":"string"},"sink":{"$ref":"#/definitions/Sink"},"rls":{"type":"array","items":{"$ref":"#/definitions/RowLevelSecurity"}},"assertions":{"$ref":"#/definitions/MapString"},"engine":{"$ref":"#/definitions/Engine"}},"required":["domain","dataset","write"]},"Domain":{"type":"object","properties":{"name":{"type":"string"},"metadata":{"$ref":"#/definitions/Metadata"},"schemaRefs":{"type":"array","items":{"type":"string"}},"schemas":{"type":"array","items":{"$ref":"#/definitions/Schema"}},"comment":{"type":"string"},"directory":{"type":"string"},"extensions":{"type":"array","items":{"type":"string"}},"ack":{"type":"string"}},"anyOf":[{"required":["name","schemas"]},{"required":["name","schemaRefs"]}]},"AutoJobDesc":{"type":"object","properties":{"name":{"type":"string"},"tasks":{"type":"array","items":{"$ref":"#/definitions/AutoTaskDesc"}},"area":{"type":"string"},"format":{"type":"string"},"coalesce":{"type":"boolean"},"udf":{"type":"string"},"views":{"$ref":"#/definitions/MapString"},"engine":{"$ref":"#/definitions/Engine"}},"required":["name","tasks"]},"JDBCTable":{"type":"object","properties":{"name":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}}},"required":["name"]},"JDBCSchema":{"type":"object","properties":{"connection":{"type":"string"},"catalog":{"type":"string"},"schema":{"type":"string"},"template":{"type":"string"},"tables":{"type":"array","items":{"$ref":"#/definitions/JDBCTable"}},"tableTypes":{"type":"array","items":{"type":"string"}}},"required":["connection","tables"]},"JDBCSchemas":{"type":"object","properties":{"jdbcSchemas":{"type":"array","items":{"$ref":"#/definitions/JDBCSchema"}}},"required":["name"]}},"type":"object","properties":{"types":{"type":"array","items":{"$ref":"#/definitions/Type"}},"extract":{"$ref":"#/definitions/JDBCSchemas"},"load":{"$ref":"#/definitions/Domain"},"transform":{"$ref":"#/definitions/AutoJobDesc"},"env":{"$ref":"#/definitions/MapString"},"assertions":{"$ref":"#/definitions/MapString"},"views":{"$ref":"#/definitions/MapString"},"schemas":{"type":"array","items":{"$ref":"#/definitions/Schema"}}},"oneOf":[{"required":["extract"]},{"required":["load"]},{"required":["transform"]},{"required":["views"]},{"required":["assertions"]},{"required":["env"]},{"required":["types"]},{"required":["schemas"]}]}
0 commit comments