AbsaOSS / AbsaOSS/enceladus

Mapping Table LATEST Overrider

未关闭
#167 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
Conformance Menas priority: undecided request under discussion
主要语言
Scala
星标
33
派生
16
PR 合并指标
30 天内没有已合并 PR

描述

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

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。