Skip to content

Commit b535daf

Browse files
vsinghal85Vaibhav Singhal
andauthored
Add data quality field in GaaSJobObservabilityEventSchema (#4114)
* Add data quality field in GaaSJobObservabilityEventSchema --------- Co-authored-by: Vaibhav Singhal <vaibsing@vaibsing-mn7618.linkedin.biz>
1 parent 4cfa2f7 commit b535daf

File tree

3 files changed

+19
-1
lines changed

3 files changed

+19
-1
lines changed

gobblin-core/src/main/java/org/apache/gobblin/qualitychecker/task/TaskLevelPolicyChecker.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,16 @@
2929
* in a PolicyCheckResults object
3030
*/
3131
public class TaskLevelPolicyChecker {
32+
/**
33+
* An enumeration for possible statuses for Data quality checks,
34+
* its values will be PASSED, FAILED, in case if data quality check
35+
* evaluation is not performed for Job, it will be NOT_EVALUATED
36+
*/
37+
public enum DataQualityStatus {
38+
PASSED,
39+
FAILED,
40+
NOT_EVALUATED
41+
}
3242
private final List<TaskLevelPolicy> list;
3343
private static final Logger LOG = LoggerFactory.getLogger(TaskLevelPolicyChecker.class);
3444

gobblin-metrics-libs/gobblin-metrics-base/src/main/avro/GaaSJobObservabilityEvent.avsc

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -258,6 +258,12 @@
258258
"name": "successfullyCommitted",
259259
"type": "boolean",
260260
"doc": "Whether the dataset was successfully committed by Gobblin and fully successful, versus when users configure partial failures or non-atomic writes"
261+
},
262+
{
263+
"name": "dataQualityStatus",
264+
"type": ["null","string"],
265+
"doc": "Whether the dataset passed the overall data quality check",
266+
"default": null
261267
}
262268
]
263269
}

gobblin-runtime/src/main/java/org/apache/gobblin/runtime/DatasetTaskSummary.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import lombok.Setter;
2626

2727
import org.apache.gobblin.metrics.DatasetMetric;
28+
import org.apache.gobblin.qualitychecker.task.TaskLevelPolicyChecker;
2829

2930

3031
/**
@@ -45,6 +46,7 @@ public class DatasetTaskSummary {
4546
* Convert a {@link DatasetTaskSummary} to a {@link DatasetMetric}.
4647
*/
4748
public static DatasetMetric toDatasetMetric(DatasetTaskSummary datasetTaskSummary) {
48-
return new DatasetMetric(datasetTaskSummary.getDatasetUrn(), datasetTaskSummary.getBytesWritten(), datasetTaskSummary.getRecordsWritten(), datasetTaskSummary.isSuccessfullyCommitted());
49+
return new DatasetMetric(datasetTaskSummary.getDatasetUrn(), datasetTaskSummary.getBytesWritten(), datasetTaskSummary.getRecordsWritten(), datasetTaskSummary.isSuccessfullyCommitted(),
50+
TaskLevelPolicyChecker.DataQualityStatus.NOT_EVALUATED.name());
4951
}
5052
}

0 commit comments

Comments
 (0)