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 摘要。