AbsaOSS / AbsaOSS/enceladus

Mapping Table LATEST Overrider

Aberta
#167 1 comentário 0 reações 0 responsáveis Ver no GitHub
Conformance Menas priority: undecided request under discussion
Linguagem predominante
Scala
Estrelas
33
Forks
16
Métricas de merge de PRs
Nenhum PR com merge em 30d

Descrição

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

Guia de contribuição

Abrir o guia de contribuição

Avaliação

Esta issue ainda não foi avaliada.

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.