Manifest-based Ingestion - add check for coherent values in pairs (ex: Play and PlayType in Master entity "Field")
Airflow Console - It shows the step of provide_manifest_integrity_task.
In this step, check is performed to see if referenced value (for Reference entity or for Master entity) actually exists.
Ex: Master entity Organisation -> Reference entity OrganisationType
Ex: Work-product Component WellLog -> Master data Wellbore
Ex: for Master data "Organisation"
"OrganisationTypeID": "{{data-partition-id}}:reference-data--OrganisationType:BogusValue:",
Portion from log file showing the reason for failure –
[2021-07-30 14:24:40,991] {validate_referential_integrity.py:188} WARNING - Resource with
kind odesprod:wks:master-data--Organisation:1.0.0 and
id: 'odesprod:master-data--Organisation:Katalyst30Jul1' was rejected.
Missing ids '{'odesprod:reference-data--OrganisationType:BogusValue:'}'
It is in this step that I propose addition of consistency check for “paired values” in Master entity “Field” – ex: Play and PlayType.
Ex: Master Entity "Play" has a record “Play-Thomas1” which is of PlayType=”Shale”. But the Data Loader is mentioning incoherent combination when creating a new record of "Field" - play=”Play-Thomas1” but PlayType=”OilSands” instead of “Shale”
We propose detection of such inconsistency during manifest-based Ingestion.
cc : @gehrmann