AbsaOSS / AbsaOSS/enceladus

Error Enhancement

Open
#74 1 comment 0 reactions 0 assignees View on GitHub
Conformance feature priority: undecided request under discussion
Dominant language
Scala
Stars
33
Forks
16
PR merge metrics
No merged PRs in 30d

Description

WHAT: We need an easier way to identify exactly which record has conformance errors especially in the case of nested arrays.

Please can we look at adding an extra element (identifier) to the errCol output as follows:
errCol: array (nullable = true)
element: struct (containsNull = true)
errType: string (nullable = true)
errCode: string (nullable = true)
errMsg: string (nullable = true)
errCol: string (nullable = true)
rawValues: array (nullable = true)
element: string (containsNull = true)
mappings: array (nullable = true)
element: struct (containsNull = true)
mappingTableColumn: string (nullable = true)
mappedDatasetColumn: string (nullable = true)
identifier: string (nullable = true)
This identifier element would be populated with a recordID or any other attribute on the record as defined when inputting the rule.

WHY: This will help us find exactly which record is breaking more easily. It will also assist in finding exactly which nested element broke in cases where conformance was done on an element in a nested array.

EXAMPLE: Say for example conformance was done on the data with the following schema:
txnId: string (nullable = true)
legs: struct (nullable = true)
leg: array (nullable = true)
element: struct (containsNull = true)
legId: string (nullable = true)
currency: string (nullable = true)

In this example there could be many leg arrays on one record so when inputting the conformance rule, we would want legId to populate the identifier portion of the errCol so it will be easy to find which leg is breaking.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.