{
  "enumDefs": [],
  "structDefs": [],
  "classificationDefs": [],
  "entityDefs": [
    {
      "name": "spark_db",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "location",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 5
        },
        {
          "name": "clusterName",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 8
        },
        {
          "name": "parameters",
          "typeName": "map<string,string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "ownerType",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    },
    {
      "name": "spark_table",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "tableType",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "provider",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 5
        },
        {
          "name": "partitionColumnNames",
          "typeName": "array<string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "bucketSpec",
          "typeName": "map<string,string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "ownerType",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "createTime",
          "typeName": "date",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "parameters",
          "typeName": "map<string,string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "comment",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 9
        },
        {
          "name": "unsupportedFeatures",
          "typeName": "array<string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "viewOriginalText",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 9
        },
        {
          "name": "schemaDesc",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 5
        },
        {
          "name": "partitionProvider",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    },
    {
      "name": "spark_column",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "type",
          "typeName": "string",
          "isOptional": false,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true
        },
        {
          "name": "nullable",
          "typeName": "boolean",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "metadata",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "comment",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 9
        }
      ]
    },
    {
      "name": "spark_ml_directory",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "uri",
          "typeName": "string",
          "isOptional": false,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "searchWeight": 10
        },
        {
          "name": "directory",
          "typeName": "string",
          "isOptional": false,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "searchWeight": 10
        }
      ]
    },
    {
      "name": "spark_storagedesc",
      "superTypes": [
        "Referenceable"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "location",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 10
        },
        {
          "name": "inputFormat",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "outputFormat",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "serde",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "compressed",
          "typeName": "boolean",
          "isOptional": false,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true
        },
        {
          "name": "parameters",
          "typeName": "map<string,string>",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    },
    {
      "name": "spark_ml_model",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "extra",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    },
    {
      "name": "spark_application",
      "superTypes": [
        "Process"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "currentUser",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "searchWeight": 10
        },
        {
          "name": "remoteUser",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": true,
          "searchWeight": 10
        }
      ]
    },
    {
      "name": "spark_process",
      "superTypes": [
        "Process"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "executionId",
          "typeName": "long",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 10
        },
        {
          "name": "currUser",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 10
        },
        {
          "name": "remoteUser",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false,
          "searchWeight": 10
        },
        {
          "name": "details",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        },
        {
          "name": "sparkPlanDescription",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    },
    {
      "name" : "spark_column_lineage",
      "superTypes" : [
        "Process"
      ],
      "serviceType": "spark",
      "typeVersion" : "1.0"
    },
    {
      "name": "spark_ml_pipeline",
      "superTypes": [
        "DataSet"
      ],
      "serviceType": "spark",
      "typeVersion": "1.0",
      "attributeDefs": [
        {
          "name": "extra",
          "typeName": "string",
          "isOptional": true,
          "cardinality": "SINGLE",
          "isUnique": false,
          "isIndexable": false
        }
      ]
    }
  ],
  "relationshipDefs": [
    {
      "name": "spark_table_db",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "AGGREGATION",
      "endDef1": {
        "type": "spark_table",
        "name": "db",
        "isContainer": false,
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "spark_db",
        "name": "tables",
        "isContainer": true,
        "cardinality": "SET"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_table_columns",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "COMPOSITION",
      "endDef1": {
        "type": "spark_table",
        "name": "columns",
        "isContainer": true,
        "cardinality": "SET"
      },
      "endDef2": {
        "type": "spark_column",
        "name": "table",
        "isContainer": false,
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_table_storagedesc",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "ASSOCIATION",
      "endDef1": {
        "type": "spark_table",
        "name": "sd",
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "spark_storagedesc",
        "name": "table",
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_ml_model_ml_directory",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "COMPOSITION",
      "endDef1": {
        "type": "spark_ml_model",
        "name": "directory",
        "isContainer": true,
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "spark_ml_directory",
        "name": "model",
        "isContainer": false,
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_ml_pipeline_ml_directory",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "COMPOSITION",
      "endDef1": {
        "type": "spark_ml_pipeline",
        "name": "directory",
        "isContainer": true,
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "spark_ml_directory",
        "name": "pipeline",
        "isContainer": false,
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_process_column_lineages",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "AGGREGATION",
      "endDef1": {
        "type": "spark_column_lineage",
        "name": "process",
        "isContainer": false,
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "spark_process",
        "name": "columnLineages",
        "isContainer": true,
        "cardinality": "SET"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_application_processes",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "AGGREGATION",
      "endDef1": {
        "type": "spark_application",
        "name": "processes",
        "cardinality": "SET",
        "isContainer": true
      },
      "endDef2": {
        "type": "spark_process",
        "name": "application",
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_ml_model_dataset",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "ASSOCIATION",
      "endDef1": {
        "type": "spark_ml_model",
        "name": "dataset",
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "DataSet",
        "name": "model",
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    },
    {
      "name": "spark_ml_pipeline_dataset",
      "serviceType": "spark",
      "typeVersion": "1.0",
      "relationshipCategory": "ASSOCIATION",
      "endDef1": {
        "type": "spark_ml_pipeline",
        "name": "dataset",
        "cardinality": "SINGLE"
      },
      "endDef2": {
        "type": "DataSet",
        "name": "pipeline",
        "cardinality": "SINGLE"
      },
      "propagateTags": "NONE"
    }
  ]
}
