-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/73169/
-----------------------------------------------------------

(Updated Feb. 3, 2021, 6:04 p.m.)


Review request for atlas, Ashutosh Mestry, Deep Singh, Madhan Neethiraj, 
Radhika Kundam, and Sarath Subramanian.


Bugs: ATLAS-4123
    https://issues.apache.org/jira/browse/ATLAS-4123


Repository: atlas


Description
-------

ATLAS-4123: Lineage missing in case of CREATE MATERIALIZED VIEW query at Hive


Diffs
-----

  addons/hive-bridge/src/main/java/org/apache/atlas/hive/hook/HiveHook.java 
e48967d63 


Diff: https://reviews.apache.org/r/73169/diff/1/


Testing (updated)
-------

Atlas hook topic message from the hive hook before fix:
=======================================================

{
    "version": {
        "version": "1.0.0",
        "versionParts": [
            1
        ]
    },
    "msgCompressionKind": "NONE",
    "msgSplitIdx": 1,
    "msgSplitCount": 1,
    "msgSourceIP": "172.27.10.2",
    "msgCreatedBy": "hive",
    "msgCreationTime": 1612311707304,
    "message": {
        "type": "ENTITY_CREATE_V2",
        "user": "hive",
        "entities": {
            "referredEntities": {
                "-73285185733726514": {
                    "typeName": "hive_storagedesc",
                    "attributes": {
                        "qualifiedName": "default.test_mv_ctas_2@cm_storage",
                        "storedAsSubDirectories": false,
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/managed/hive/test_mv_ctas_2",
                        "compressed": false,
                        "inputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcInputFormat",
                        "parameters": {},
                        "outputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat",
                        "serdeInfo": {
                            "typeName": "hive_serde",
                            "attributes": {
                                "serializationLib": 
"org.apache.hadoop.hive.ql.io.orc.OrcSerde",
                                "name": null,
                                "parameters": {}
                            }
                        },
                        "numBuckets": -1
                    },
                    "guid": "-73285185733726514",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73285185733726513",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_2@cm"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        }
                    },
                    "proxy": false
                },
                "-73285185733726515": {
                    "typeName": "hive_column",
                    "attributes": {
                        "owner": "admin",
                        "qualifiedName": "default.test_mv_ctas_2.id@cm",
                        "name": "id",
                        "comment": null,
                        "position": 0,
                        "type": "int"
                    },
                    "guid": "-73285185733726515",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73285185733726513",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_2@cm"
                            },
                            "relationshipType": "hive_table_columns"
                        }
                    },
                    "proxy": false
                }
            },
            "entities": [
                {
                    "typeName": "hive_table",
                    "attributes": {
                        "owner": "admin",
                        "viewExpandedText": "select `test_1`.`id` from 
`default`.`test_1`",
                        "tableType": "MATERIALIZED_VIEW",
                        "temporary": false,
                        "lastAccessTime": 1612311707000,
                        "createTime": 1612311707000,
                        "qualifiedName": "default.test_mv_ctas_2@cm",
                        "name": "test_mv_ctas_2",
                        "comment": null,
                        "parameters": {
                            "transient_lastDdlTime": "1612311707",
                            "bucketing_version": "2",
                            "transactional_properties": "default",
                            "transactional": "true"
                        },
                        "retention": 0,
                        "viewOriginalText": "select * from test_1"
                    },
                    "guid": "-73285185733726513",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "sd": {
                            "guid": "-73285185733726514",
                            "typeName": "hive_storagedesc",
                            "uniqueAttributes": {
                                "qualifiedName": 
"default.test_mv_ctas_2@cm_storage"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        },
                        "columns": [
                            {
                                "guid": "-73285185733726515",
                                "typeName": "hive_column",
                                "uniqueAttributes": {
                                    "qualifiedName": 
"default.test_mv_ctas_2.id@cm"
                                },
                                "relationshipType": "hive_table_columns"
                            }
                        ],
                        "partitionKeys": [],
                        "db": {
                            "typeName": "hive_db",
                            "uniqueAttributes": {
                                "qualifiedName": "default@cm"
                            },
                            "relationshipType": "hive_table_db"
                        }
                    },
                    "proxy": false
                }
            ]
        }
    }
}

Atlas hook topic message from the hive hook after fix:
=======================================================
{
    "version": {
        "version": "1.0.0",
        "versionParts": [
            1
        ]
    },
    "msgCompressionKind": "NONE",
    "msgSplitIdx": 1,
    "msgSplitCount": 1,
    "msgSourceIP": "172.27.10.2",
    "msgCreatedBy": "hive",
    "msgCreationTime": 1612317050425,
    "message": {
        "type": "ENTITY_CREATE_V2",
        "user": "hive",
        "entities": {
            "referredEntities": {
                "-73293806469890554": {
                    "typeName": "hive_column",
                    "attributes": {
                        "owner": "admin",
                        "qualifiedName": "default.test_mv_ctas_1.id@cm",
                        "name": "id",
                        "comment": null,
                        "position": 0,
                        "type": "int"
                    },
                    "guid": "-73293806469890554",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293806469890552",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_1@cm"
                            },
                            "relationshipType": "hive_table_columns"
                        }
                    },
                    "proxy": false
                },
                "-73293806469890553": {
                    "typeName": "hive_storagedesc",
                    "attributes": {
                        "qualifiedName": "default.test_mv_ctas_1@cm_storage",
                        "storedAsSubDirectories": false,
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/managed/hive/test_mv_ctas_1",
                        "compressed": false,
                        "inputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcInputFormat",
                        "parameters": {},
                        "outputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat",
                        "serdeInfo": {
                            "typeName": "hive_serde",
                            "attributes": {
                                "serializationLib": 
"org.apache.hadoop.hive.ql.io.orc.OrcSerde",
                                "name": null,
                                "parameters": {}
                            }
                        },
                        "numBuckets": -1
                    },
                    "guid": "-73293806469890553",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293806469890552",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_1@cm"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        }
                    },
                    "proxy": false
                },
                "-73293806469890551": {
                    "typeName": "hive_db",
                    "attributes": {
                        "owner": "public",
                        "ownerType": "ROLE",
                        "managedLocation": null,
                        "qualifiedName": "default@cm",
                        "clusterName": "cm",
                        "name": "default",
                        "description": "Default Hive database",
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/external/hive",
                        "parameters": {}
                    },
                    "guid": "-73293806469890551",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "proxy": false
                }
            },
            "entities": [
                {
                    "typeName": "hive_table",
                    "attributes": {
                        "owner": "admin",
                        "viewExpandedText": "select `test_1`.`id` from 
`default`.`test_1`",
                        "tableType": "MATERIALIZED_VIEW",
                        "temporary": false,
                        "lastAccessTime": 1612317049000,
                        "createTime": 1612317049000,
                        "qualifiedName": "default.test_mv_ctas_1@cm",
                        "name": "test_mv_ctas_1",
                        "comment": null,
                        "parameters": {
                            "transient_lastDdlTime": "1612317049",
                            "bucketing_version": "2",
                            "transactional_properties": "default",
                            "transactional": "true"
                        },
                        "retention": 0,
                        "viewOriginalText": "select * from test_1"
                    },
                    "guid": "-73293806469890552",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "sd": {
                            "guid": "-73293806469890553",
                            "typeName": "hive_storagedesc",
                            "uniqueAttributes": {
                                "qualifiedName": 
"default.test_mv_ctas_1@cm_storage"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        },
                        "columns": [
                            {
                                "guid": "-73293806469890554",
                                "typeName": "hive_column",
                                "uniqueAttributes": {
                                    "qualifiedName": 
"default.test_mv_ctas_1.id@cm"
                                },
                                "relationshipType": "hive_table_columns"
                            }
                        ],
                        "partitionKeys": [],
                        "db": {
                            "guid": "-73293806469890551",
                            "typeName": "hive_db",
                            "uniqueAttributes": {
                                "qualifiedName": "default@cm"
                            },
                            "relationshipType": "hive_table_db"
                        }
                    },
                    "proxy": false
                }
            ]
        }
    }
}
{
    "version": {
        "version": "1.0.0",
        "versionParts": [
            1
        ]
    },
    "msgCompressionKind": "NONE",
    "msgSplitIdx": 1,
    "msgSplitCount": 1,
    "msgSourceIP": "172.27.10.2",
    "msgCreatedBy": "hive",
    "msgCreationTime": 1612317051395,
    "message": {
        "type": "ENTITY_CREATE_V2",
        "user": "admin",
        "entities": {
            "referredEntities": {
                "-73293807317085531": {
                    "typeName": "hive_column",
                    "attributes": {
                        "owner": "admin",
                        "qualifiedName": "default.test_mv_ctas_1.id@cm",
                        "name": "id",
                        "comment": null,
                        "position": 0,
                        "type": "int"
                    },
                    "guid": "-73293807317085531",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293807317085529",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_1@cm"
                            },
                            "relationshipType": "hive_table_columns"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085530": {
                    "typeName": "hive_storagedesc",
                    "attributes": {
                        "qualifiedName": "default.test_mv_ctas_1@cm_storage",
                        "storedAsSubDirectories": false,
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/managed/hive/test_mv_ctas_1",
                        "compressed": false,
                        "inputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcInputFormat",
                        "parameters": {},
                        "outputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat",
                        "serdeInfo": {
                            "typeName": "hive_serde",
                            "attributes": {
                                "serializationLib": 
"org.apache.hadoop.hive.ql.io.orc.OrcSerde",
                                "name": null,
                                "parameters": {}
                            }
                        },
                        "numBuckets": -1
                    },
                    "guid": "-73293807317085530",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293807317085529",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_mv_ctas_1@cm"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085529": {
                    "typeName": "hive_table",
                    "attributes": {
                        "owner": "admin",
                        "viewExpandedText": "select `test_1`.`id` from 
`default`.`test_1`",
                        "tableType": "MATERIALIZED_VIEW",
                        "temporary": false,
                        "lastAccessTime": 1612317049000,
                        "createTime": 1612317049000,
                        "qualifiedName": "default.test_mv_ctas_1@cm",
                        "name": "test_mv_ctas_1",
                        "comment": null,
                        "parameters": {
                            "totalSize": "0",
                            "rawDataSize": "0",
                            "numRows": "0",
                            "transactional_properties": "default",
                            "COLUMN_STATS_ACCURATE": 
"{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"id\":\"true\"}}",
                            "numFiles": "0",
                            "transient_lastDdlTime": "1612317050",
                            "bucketing_version": "2",
                            "numFilesErasureCoded": "0",
                            "transactional": "true"
                        },
                        "retention": 0,
                        "viewOriginalText": "select * from test_1"
                    },
                    "guid": "-73293807317085529",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "sd": {
                            "guid": "-73293807317085530",
                            "typeName": "hive_storagedesc",
                            "uniqueAttributes": {
                                "qualifiedName": 
"default.test_mv_ctas_1@cm_storage"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        },
                        "columns": [
                            {
                                "guid": "-73293807317085531",
                                "typeName": "hive_column",
                                "uniqueAttributes": {
                                    "qualifiedName": 
"default.test_mv_ctas_1.id@cm"
                                },
                                "relationshipType": "hive_table_columns"
                            }
                        ],
                        "partitionKeys": [],
                        "db": {
                            "guid": "-73293807317085525",
                            "typeName": "hive_db",
                            "uniqueAttributes": {
                                "qualifiedName": "default@cm"
                            },
                            "relationshipType": "hive_table_db"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085528": {
                    "typeName": "hive_column",
                    "attributes": {
                        "owner": "admin",
                        "qualifiedName": "default.test_1.id@cm",
                        "name": "id",
                        "comment": null,
                        "position": 0,
                        "type": "int"
                    },
                    "guid": "-73293807317085528",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293807317085526",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_1@cm"
                            },
                            "relationshipType": "hive_table_columns"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085527": {
                    "typeName": "hive_storagedesc",
                    "attributes": {
                        "qualifiedName": "default.test_1@cm_storage",
                        "storedAsSubDirectories": false,
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/managed/hive/test_1",
                        "compressed": false,
                        "inputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcInputFormat",
                        "parameters": {},
                        "outputFormat": 
"org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat",
                        "serdeInfo": {
                            "typeName": "hive_serde",
                            "attributes": {
                                "serializationLib": 
"org.apache.hadoop.hive.ql.io.orc.OrcSerde",
                                "name": null,
                                "parameters": {}
                            }
                        },
                        "numBuckets": -1
                    },
                    "guid": "-73293807317085527",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "table": {
                            "guid": "-73293807317085526",
                            "typeName": "hive_table",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_1@cm"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085526": {
                    "typeName": "hive_table",
                    "attributes": {
                        "owner": "admin",
                        "tableType": "MANAGED_TABLE",
                        "temporary": false,
                        "lastAccessTime": 1612314520000,
                        "createTime": 1612314520000,
                        "qualifiedName": "default.test_1@cm",
                        "name": "test_1",
                        "comment": null,
                        "parameters": {
                            "totalSize": "0",
                            "rawDataSize": "0",
                            "numRows": "0",
                            "transactional_properties": "default",
                            "COLUMN_STATS_ACCURATE": 
"{\"BASIC_STATS\":\"true\",\"COLUMN_STATS\":{\"id\":\"true\"}}",
                            "numFiles": "0",
                            "transient_lastDdlTime": "1612314520",
                            "bucketing_version": "2",
                            "numFilesErasureCoded": "0",
                            "transactional": "true"
                        },
                        "retention": 0
                    },
                    "guid": "-73293807317085526",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "sd": {
                            "guid": "-73293807317085527",
                            "typeName": "hive_storagedesc",
                            "uniqueAttributes": {
                                "qualifiedName": "default.test_1@cm_storage"
                            },
                            "relationshipType": "hive_table_storagedesc"
                        },
                        "columns": [
                            {
                                "guid": "-73293807317085528",
                                "typeName": "hive_column",
                                "uniqueAttributes": {
                                    "qualifiedName": "default.test_1.id@cm"
                                },
                                "relationshipType": "hive_table_columns"
                            }
                        ],
                        "partitionKeys": [],
                        "db": {
                            "guid": "-73293807317085525",
                            "typeName": "hive_db",
                            "uniqueAttributes": {
                                "qualifiedName": "default@cm"
                            },
                            "relationshipType": "hive_table_db"
                        }
                    },
                    "proxy": false
                },
                "-73293807317085525": {
                    "typeName": "hive_db",
                    "attributes": {
                        "owner": "public",
                        "ownerType": "ROLE",
                        "managedLocation": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/managed/hive",
                        "qualifiedName": "default@cm",
                        "clusterName": "cm",
                        "name": "default",
                        "description": "Default Hive database",
                        "location": 
"hdfs://secure-2.secure.root.hwx.site:8020/warehouse/tablespace/external/hive",
                        "parameters": {}
                    },
                    "guid": "-73293807317085525",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "proxy": false
                }
            },
            "entities": [
                {
                    "typeName": "hive_process",
                    "attributes": {
                        "recentQueries": [
                            "create materialized view test_mv_ctas_1 as select 
* from test_1"
                        ],
                        "qualifiedName": 
"CREATE_MATERIALIZED_VIEW:default.test_1@cm:1612314520000->:default@cm:default.test_mv_ctas_1@cm:1612317049000",
                        "clusterName": "cm",
                        "name": 
"CREATE_MATERIALIZED_VIEW:default.test_1@cm:1612314520000->:default@cm:default.test_mv_ctas_1@cm:1612317049000",
                        "queryText": "",
                        "operationType": "CREATE_MATERIALIZED_VIEW",
                        "startTime": 1612317051380,
                        "queryPlan": "Not Supported",
                        "endTime": 1612317051380,
                        "userName": "",
                        "queryId": ""
                    },
                    "guid": "-73293807317085532",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "outputs": [
                            {
                                "guid": "-73293807317085529",
                                "typeName": "hive_table",
                                "uniqueAttributes": {
                                    "qualifiedName": "default.test_mv_ctas_1@cm"
                                },
                                "relationshipType": "process_dataset_outputs"
                            }
                        ],
                        "inputs": [
                            {
                                "guid": "-73293807317085526",
                                "typeName": "hive_table",
                                "uniqueAttributes": {
                                    "qualifiedName": "default.test_1@cm"
                                },
                                "relationshipType": "dataset_process_inputs"
                            }
                        ]
                    },
                    "proxy": false
                },
                {
                    "typeName": "hive_process_execution",
                    "attributes": {
                        "hostName": "secure-2.secure.root.hwx.site",
                        "qualifiedName": 
"CREATE_MATERIALIZED_VIEW:default.test_1@cm:1612314520000->:default@cm:default.test_mv_ctas_1@cm:1612317049000:1612317032474:1612317051380",
                        "name": 
"CREATE_MATERIALIZED_VIEW:default.test_1@cm:1612314520000->:default@cm:default.test_mv_ctas_1@cm:1612317049000:1612317032474:1612317051380",
                        "queryText": "create materialized view test_mv_ctas_1 
as select * from test_1",
                        "startTime": 1612317032474,
                        "queryPlan": "Not Supported",
                        "endTime": 1612317051380,
                        "userName": "admin",
                        "queryId": 
"hive_20210203015032_7bef0f08-bddf-4992-b761-97aa261be104"
                    },
                    "guid": "-73293807317085533",
                    "isIncomplete": false,
                    "provenanceType": 0,
                    "version": 0,
                    "relationshipAttributes": {
                        "process": {
                            "guid": "-73293807317085532",
                            "typeName": "hive_process",
                            "relationshipType": 
"hive_process_process_executions"
                        }
                    },
                    "proxy": false
                }
            ]
        }
    }
}


Thanks,

Sidharth Mishra

Reply via email to