AbsaOSS / AbsaOSS/enceladus

Mapping Table LATEST Overrider

Aperta
#167 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
Conformance Menas priority: undecided request under discussion
Lingua principale
Scala
Stelle
33
Fork
16
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

### 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)

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.