Architecture

Below is the high level architecture for the Data Quality KPIs monitoring tool.

1. Data Ingestion

A Master Talend job orchestrates the entire data processing pipeline. The process begins with the ingestion of data for each domain from various SAP source systems into Google Cloud Platform (GCP).

SAP Source Systems & Data Domains:

Each table from each domain has its own dedicated Talend job responsible for ingesting and loading the data into the GCP BigQuery Service - ODS Dataset.

2. Data Processing and Transformation

After ingestion, several routines are executed to populate the Data Model (DM) tables:

3. Data Quality Execution in Dataplex

4. Data Model Population

A routine is executed to populate the Data Model (DM) tables:

5. Failed Records Handling & Export

A final Talend job - PL_DQ_BQ_to_Gshet_Selfservice - handles failed records:

6. Visualization in Qlik Sense

Data Flow

Main Data SourceSAP (SuccessFactors, BW, PF1, WP1)
ETL and Preparation

Talend Jobs are used to ingest and load data from SAP source systems to the BigQuery Data Ocean, specifically the following datasets:

  • prj-data-dm-hr-[env].ODS
  • prj-data-dm-structure-[env].ODS
  • prj-data-dm-finance-[env].ODS
  • prj-data-dm-marketing-[env].ODS
  • prj-data-dq-selfservice-[env].ODS

[env] is one of the following: dev, test, ppd, prod

Data Source for DQMT Project

After tables are loaded, views - including only the necessary data for the rules - are created in the following datasets:

  • prj-data-dm-hr-[env].DS_prj_dqkpi
  • prj-data-dm-structure-[env].DS_prj_sls_dataquality_kpi
  • prj-data-dm-finance-[env].DS_prj_sls_dataquality_kpi
  • prj-data-dm-marketing-[env].DS_prj_sls_dataquality_kpi
  • prj-data-dq-selfservice-[env].DS_prj_sls_dataquality_kpi

 [env] is one of the following: dev, test, ppd, prod

This views are the sole source for the for the quality checks performed by Dataplex.

Data Residing in BigQuery

Views are created in the Dataset DataOcean_dataquality_kpi.prj-data-dq-selfservice-[env]

Data residing on BigQuery brought in prj-data-dq-selfservice-dev project using the necessary views to be Scanned and checked by DataPlex, the generated metrics naturally reside in Big Query (Dataplex_quality)

Data Quality Metrics IngestionPopulating the BigQuery fact table with DQ metrics obtained from the previously mentioned sources By Mapping the resulting table to the developed DM (Using a stored procedure)
Big Query ViewsCreating the views necessary to answer Business requirements, providing them with degree of flexibility in a way that they can have more control over the data the need to query
according to business changing requirements, to approach selfservice.
Visualization

Uses QlikSense that connects to bigQuery views to ingest data, Use Qlik Sense to Visualize, present, add alerting capabilities for different business domains Different KPIs and Different Business Rules. and Failed records

Google Drive

Used to store failed records Data, then URL for the sheet is inserted in FACT_failed_records associated with quality_rule_key.


Data Model

Data Mapping:

The out put of Dataplex quality checks is Dataplex_quality table, It is mapped to the Data Model "in the previous section", on Big query to later be used as the sole data source for QlikSense visualization.

Data Mapping is detailed in this document.


Procedures

Dataplex to Data Model Mapping Stored Procedure:
 Procedure Name: 


Scheduling:

  1. Scheduled Profile Scans: Runs on Dataplex and scheduled while created.
  2. Scheduled Data Quality Rules Scan: Runs on Dataplex and scheduled while created.
  3. Scheduled Stored Procedure Run: Routine is triggered using scheduled query on weekly Basis.
  4. Scheduled QlikSense Refresh: set by the visualization engineer on qliksense.

Time of Runs and Duration Window:

Dataplex4:00 - 5:00 CET
BigQuery Routine5:00 - 6:00 CET
Talend6:00 - 9:00 CET
QlikSense9:00 CET


Monitoring

GCP Monitoring tools:

Error Handling

Known Bugs

No Identified Bugs.

Roadmap

FSD

TSD