AbsaOSS / AbsaOSS/enceladus

Mapping Table LATEST Overrider

Ouverte
#167 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub
Conformance Menas priority: undecided request under discussion
Langage dominant
Scala
Étoiles
33
Forks
16
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### Background
Currently, we have two different models for specifying the mapping table path:
* LATEST - There is a path to LATEST mapping table partition (which only holds the one version of the mapping table)
* Report Date Partitioned - a path to mapping tables partitioned by date (holds multiple snapshots of the mapping table). Here there is a path to the folder containing all the dates.

Currently, in the conformance execution script, you have to specify the mapping table pattern as either one of these but cannot make use of both. (see attached image)

### Problem

If you use the LATEST pattern, you cannot override the date and go to the report date partitioned mapping tables.
Example:
- /bigdatahdfs/datalake/common/mdrc/publish/LATEST/ClientMapping
- -Dconformance.mappingtable.pattern=reportDate={0}-{1}-{2}
This will result in conformance failing because it is looking for the data in /bigdatahdfs/datalake/common/mdrc/publish/LATEST/ClientMapping/reportdate=yyyy-MM-dd

### Proposed Solution
1. Deprecate -Dconformance.mappingtable.pattern=reportDate={0}-{1}-{2}
2. In Menas, have two folder paths for each mapping table (ie. 1 for LATEST and 1 for reportdate style)
3. Have a new flag -Dconformance.mappingtable.usereportdate=true (default is false)
- if flag is false - LATEST path will be used
- if flag is true - reportdate path will be used
The paths will be formatted using the pattern replacement (ie. {0}-{1}-{2} will be replaced with reportdate)
![Capture.PNG](https://images.zenhubusercontent.com/5c10af0f8770e240cb444b7c/154d962e-4ba6-4856-975d-00b951274738)

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.