You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@atlas.apache.org by ma...@apache.org on 2018/05/25 21:26:07 UTC

atlas git commit: ATLAS-2694: added Avro schema typedef and support for Avro schema evolution

Repository: atlas
Updated Branches:
  refs/heads/master 9aca852b0 -> 5dfbd08ba


ATLAS-2694: added Avro schema typedef and support for Avro schema evolution

Signed-off-by: Madhan Neethiraj <ma...@apache.org>


Project: http://git-wip-us.apache.org/repos/asf/atlas/repo
Commit: http://git-wip-us.apache.org/repos/asf/atlas/commit/5dfbd08b
Tree: http://git-wip-us.apache.org/repos/asf/atlas/tree/5dfbd08b
Diff: http://git-wip-us.apache.org/repos/asf/atlas/diff/5dfbd08b

Branch: refs/heads/master
Commit: 5dfbd08ba60cc191da5adc941f2001fb7d68e30f
Parents: 9aca852
Author: Barbara Eckman <ba...@cable.comcast.com>
Authored: Fri May 25 14:21:07 2018 -0700
Committer: Madhan Neethiraj <ma...@apache.org>
Committed: Fri May 25 14:21:17 2018 -0700

----------------------------------------------------------------------
 addons/models/1000-Hadoop/1090-avro_model.json | 220 ++++++++++++++++++++
 1 file changed, 220 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/atlas/blob/5dfbd08b/addons/models/1000-Hadoop/1090-avro_model.json
----------------------------------------------------------------------
diff --git a/addons/models/1000-Hadoop/1090-avro_model.json b/addons/models/1000-Hadoop/1090-avro_model.json
new file mode 100644
index 0000000..882c39c
--- /dev/null
+++ b/addons/models/1000-Hadoop/1090-avro_model.json
@@ -0,0 +1,220 @@
+{
+    "enumDefs": [],
+    "structDefs": [],
+    "classificationDefs": [],
+    "entityDefs": [
+        {
+            "name": "avro_type",
+            "description": "Atlas Type representing Abstract Avro Type",
+            "superTypes": [
+                "DataSet", "Asset"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+            ]
+        },
+        {
+            "name": "avro_field",
+            "description": "Atlas Type representing an Avro Field",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name": "type",
+                    "typeName": "array<avro_type>",
+                    "cardinality": "LIST",
+                    "isIndexable": true,
+                    "isOptional": false,
+                    "isUnique": false
+                },
+                {
+                    "name": "doc",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false
+                },
+                {
+                    "name": "default",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional": true,
+                    "isUnique": false
+                }
+            ]
+        },
+        {
+            "name": "avro_record",
+            "description": "Atlas Type representing Abstract Avro Schema",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name": "type",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": false,
+                    "isUnique": false
+                },
+                {
+                    "name": "doc",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false
+                },
+                {
+                    "name": "fields",
+                    "typeName": "array<avro_field>",
+                    "cardinality": "LIST",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false,
+                    "constraints": [
+                        {
+                            "type": "ownedRef"
+                        }
+                    ]
+                },
+                {
+                    "name": "avro_notation",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional": true,
+                    "isUnique": false
+                },
+                {
+                    "name": "versionId",
+                    "typeName": "int",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false
+                },
+                {
+                    "name": "isLatest",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false
+                },
+                {
+                    "name": "avroClass",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": true,
+                    "isUnique": false
+                }
+            ]
+        },
+        {
+            "name": "avro_schema",
+            "description": "Atlas Type representing Abstract Top-level Avro Schema",
+            "superTypes": [
+                "avro_record"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name": "namespace",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": false,
+                    "isUnique": false
+                },
+                {
+                    "name": "associatedEntities",
+                    "typeName": "array<DataSet>",
+                    "cardinality": "LIST",
+                    "isIndexable": false,
+                    "isOptional": true,
+                    "isUnique": false
+                }            
+            ]
+        },
+        {
+            "name": "avro_primitive",
+            "description": "Atlas Type representing an Avro primitive datatype",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+            ]
+        },
+        {
+            "name": "avro_fixed",
+            "description": "Atlas Type representing an Avro fixed datatype",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+            ]
+        },
+        {
+            "name": "avro_enum",
+            "description": "Atlas Type representing an Avro ENUM datatype",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name": "type",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": false,
+                    "isUnique": false
+                },
+                {
+                    "name": "symbols",
+                    "typeName": "array<string>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional": false,
+                    "isUnique": false
+                }
+            ]
+        },
+        {
+            "name": "avro_collection",
+            "description": "Atlas Type representing an Avro Array datatype",
+            "superTypes": [
+                "avro_type"
+            ],
+            "typeVersion": "1.0",
+            "attributeDefs": [
+                {
+                    "name": "type",
+                    "typeName": "string",
+                    "cardinality": "SINGLE",
+                    "isIndexable": true,
+                    "isOptional": false,
+                    "isUnique": false
+                },
+                {
+                    "name": "items",
+                    "typeName": "array<string>",
+                    "cardinality": "SINGLE",
+                    "isIndexable": false,
+                    "isOptional": false,
+                    "isUnique": false
+                }
+            ]
+        }
+    ]
+}