Skip to content

Commit b18e5aa

Browse files
author
awstools
committed
feat(client-glue): AWS Glue Data Quality now provides aggregated metrics in evaluation results when publishAggregatedMetrics with row-level results are enabled. These metrics include summary statistics showing total counts of processed, passed, and failed rows and rules in a single view.
1 parent b57c4ac commit b18e5aa

File tree

9 files changed

+300
-98
lines changed

9 files changed

+300
-98
lines changed

clients/client-glue/src/commands/BatchGetDataQualityResultCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,9 @@ export interface BatchGetDataQualityResultCommandOutput extends BatchGetDataQual
8080
* // "<keys>": Number("double"),
8181
* // },
8282
* // EvaluatedRule: "STRING_VALUE",
83+
* // RuleMetrics: { // RuleMetricsMap
84+
* // "<keys>": Number("double"),
85+
* // },
8386
* // },
8487
* // ],
8588
* // AnalyzerResults: [ // DataQualityAnalyzerResults
@@ -110,6 +113,14 @@ export interface BatchGetDataQualityResultCommandOutput extends BatchGetDataQual
110113
* // },
111114
* // },
112115
* // ],
116+
* // AggregatedMetrics: { // DataQualityAggregatedMetrics
117+
* // TotalRowsProcessed: Number("double"),
118+
* // TotalRowsPassed: Number("double"),
119+
* // TotalRowsFailed: Number("double"),
120+
* // TotalRulesProcessed: Number("double"),
121+
* // TotalRulesPassed: Number("double"),
122+
* // TotalRulesFailed: Number("double"),
123+
* // },
113124
* // },
114125
* // ],
115126
* // ResultsNotFound: [ // DataQualityResultIds

clients/client-glue/src/commands/GetDataQualityResultCommand.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,9 @@ export interface GetDataQualityResultCommandOutput extends GetDataQualityResultR
7676
* // "<keys>": Number("double"),
7777
* // },
7878
* // EvaluatedRule: "STRING_VALUE",
79+
* // RuleMetrics: { // RuleMetricsMap
80+
* // "<keys>": Number("double"),
81+
* // },
7982
* // },
8083
* // ],
8184
* // AnalyzerResults: [ // DataQualityAnalyzerResults
@@ -106,6 +109,14 @@ export interface GetDataQualityResultCommandOutput extends GetDataQualityResultR
106109
* // },
107110
* // },
108111
* // ],
112+
* // AggregatedMetrics: { // DataQualityAggregatedMetrics
113+
* // TotalRowsProcessed: Number("double"),
114+
* // TotalRowsPassed: Number("double"),
115+
* // TotalRowsFailed: Number("double"),
116+
* // TotalRulesProcessed: Number("double"),
117+
* // TotalRulesPassed: Number("double"),
118+
* // TotalRulesFailed: Number("double"),
119+
* // },
109120
* // };
110121
*
111122
* ```

clients/client-glue/src/commands/ResetJobBookmarkCommand.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types";
66

77
import { commonParams } from "../endpoint/EndpointParameters";
88
import { GlueClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../GlueClient";
9-
import { ResetJobBookmarkRequest, ResetJobBookmarkResponse } from "../models/models_2";
9+
import { ResetJobBookmarkRequest } from "../models/models_2";
10+
import { ResetJobBookmarkResponse } from "../models/models_3";
1011
import { de_ResetJobBookmarkCommand, se_ResetJobBookmarkCommand } from "../protocols/Aws_json1_1";
1112

1213
/**

clients/client-glue/src/models/models_0.ts

Lines changed: 55 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -2786,6 +2786,48 @@ export interface BatchGetDataQualityResultRequest {
27862786
ResultIds: string[] | undefined;
27872787
}
27882788

2789+
/**
2790+
* <p>A summary of metrics showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results.</p>
2791+
* @public
2792+
*/
2793+
export interface DataQualityAggregatedMetrics {
2794+
/**
2795+
* <p>The total number of rows that were processed during the data quality evaluation.</p>
2796+
* @public
2797+
*/
2798+
TotalRowsProcessed?: number | undefined;
2799+
2800+
/**
2801+
* <p>The total number of rows that passed all applicable data quality rules.</p>
2802+
* @public
2803+
*/
2804+
TotalRowsPassed?: number | undefined;
2805+
2806+
/**
2807+
* <p>The total number of rows that failed one or more data quality rules.</p>
2808+
* @public
2809+
*/
2810+
TotalRowsFailed?: number | undefined;
2811+
2812+
/**
2813+
* <p>The total number of data quality rules that were evaluated.</p>
2814+
* @public
2815+
*/
2816+
TotalRulesProcessed?: number | undefined;
2817+
2818+
/**
2819+
* <p>The total number of data quality rules that passed their evaluation criteria.</p>
2820+
* @public
2821+
*/
2822+
TotalRulesPassed?: number | undefined;
2823+
2824+
/**
2825+
* <p>The total number of data quality rules that failed their evaluation criteria.</p>
2826+
* @public
2827+
*/
2828+
TotalRulesFailed?: number | undefined;
2829+
}
2830+
27892831
/**
27902832
* <p>Describes the result of the evaluation of a data quality analyzer.</p>
27912833
* @public
@@ -3008,6 +3050,12 @@ export interface DataQualityRuleResult {
30083050
* @public
30093051
*/
30103052
EvaluatedRule?: string | undefined;
3053+
3054+
/**
3055+
* <p>A map containing metrics associated with the evaluation of the rule based on row-level results. </p>
3056+
* @public
3057+
*/
3058+
RuleMetrics?: Record<string, number> | undefined;
30113059
}
30123060

30133061
/**
@@ -3098,6 +3146,12 @@ export interface DataQualityResult {
30983146
* @public
30993147
*/
31003148
Observations?: DataQualityObservation[] | undefined;
3149+
3150+
/**
3151+
* <p> A summary of <code>DataQualityAggregatedMetrics</code> objects showing the total counts of processed rows and rules, including their pass/fail statistics based on row-level results. </p>
3152+
* @public
3153+
*/
3154+
AggregatedMetrics?: DataQualityAggregatedMetrics | undefined;
31013155
}
31023156

31033157
/**
@@ -9473,71 +9527,6 @@ export interface WorkflowRun {
94739527
StartingEventBatchCondition?: StartingEventBatchCondition | undefined;
94749528
}
94759529

9476-
/**
9477-
* <p>A workflow is a collection of multiple dependent Glue
9478-
* jobs and crawlers that are run to complete a complex ETL task. A
9479-
* workflow manages the execution and monitoring of all its jobs and crawlers.</p>
9480-
* @public
9481-
*/
9482-
export interface Workflow {
9483-
/**
9484-
* <p>The name of the workflow.</p>
9485-
* @public
9486-
*/
9487-
Name?: string | undefined;
9488-
9489-
/**
9490-
* <p>A description of the workflow.</p>
9491-
* @public
9492-
*/
9493-
Description?: string | undefined;
9494-
9495-
/**
9496-
* <p>A collection of properties to be used as part of each execution of the workflow.
9497-
* The run properties are made available to each job in the workflow. A job can modify
9498-
* the properties for the next jobs in the flow.</p>
9499-
* @public
9500-
*/
9501-
DefaultRunProperties?: Record<string, string> | undefined;
9502-
9503-
/**
9504-
* <p>The date and time when the workflow was created.</p>
9505-
* @public
9506-
*/
9507-
CreatedOn?: Date | undefined;
9508-
9509-
/**
9510-
* <p>The date and time when the workflow was last modified.</p>
9511-
* @public
9512-
*/
9513-
LastModifiedOn?: Date | undefined;
9514-
9515-
/**
9516-
* <p>The information about the last execution of the workflow.</p>
9517-
* @public
9518-
*/
9519-
LastRun?: WorkflowRun | undefined;
9520-
9521-
/**
9522-
* <p>The graph representing all the Glue components that belong to the workflow as nodes and directed
9523-
* connections between them as edges.</p>
9524-
* @public
9525-
*/
9526-
Graph?: WorkflowGraph | undefined;
9527-
9528-
/**
9529-
* <p>You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.</p>
9530-
* @public
9531-
*/
9532-
MaxConcurrentRuns?: number | undefined;
9533-
9534-
/**
9535-
* <p>This structure indicates the details of the blueprint that this particular workflow is created from.</p>
9536-
* @public
9537-
*/
9538-
BlueprintDetails?: BlueprintDetails | undefined;
9539-
}
9540-
95419530
/**
95429531
* @internal
95439532
*/
@@ -9617,6 +9606,7 @@ export const DataQualityRuleResultFilterSensitiveLog = (obj: DataQualityRuleResu
96179606
...(obj.EvaluationMessage && { EvaluationMessage: SENSITIVE_STRING }),
96189607
...(obj.EvaluatedMetrics && { EvaluatedMetrics: SENSITIVE_STRING }),
96199608
...(obj.EvaluatedRule && { EvaluatedRule: SENSITIVE_STRING }),
9609+
...(obj.RuleMetrics && { RuleMetrics: SENSITIVE_STRING }),
96209610
});
96219611

96229612
/**

clients/client-glue/src/models/models_1.ts

Lines changed: 69 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import {
1212
AuthenticationConfigurationInputFilterSensitiveLog,
1313
AuthenticationType,
1414
Blueprint,
15+
BlueprintDetails,
1516
Column,
1617
ConnectionsList,
1718
CrawlerTargets,
@@ -33,9 +34,75 @@ import {
3334
TableOptimizerType,
3435
TriggerType,
3536
WorkerType,
36-
Workflow,
37+
WorkflowGraph,
38+
WorkflowRun,
3739
} from "./models_0";
3840

41+
/**
42+
* <p>A workflow is a collection of multiple dependent Glue
43+
* jobs and crawlers that are run to complete a complex ETL task. A
44+
* workflow manages the execution and monitoring of all its jobs and crawlers.</p>
45+
* @public
46+
*/
47+
export interface Workflow {
48+
/**
49+
* <p>The name of the workflow.</p>
50+
* @public
51+
*/
52+
Name?: string | undefined;
53+
54+
/**
55+
* <p>A description of the workflow.</p>
56+
* @public
57+
*/
58+
Description?: string | undefined;
59+
60+
/**
61+
* <p>A collection of properties to be used as part of each execution of the workflow.
62+
* The run properties are made available to each job in the workflow. A job can modify
63+
* the properties for the next jobs in the flow.</p>
64+
* @public
65+
*/
66+
DefaultRunProperties?: Record<string, string> | undefined;
67+
68+
/**
69+
* <p>The date and time when the workflow was created.</p>
70+
* @public
71+
*/
72+
CreatedOn?: Date | undefined;
73+
74+
/**
75+
* <p>The date and time when the workflow was last modified.</p>
76+
* @public
77+
*/
78+
LastModifiedOn?: Date | undefined;
79+
80+
/**
81+
* <p>The information about the last execution of the workflow.</p>
82+
* @public
83+
*/
84+
LastRun?: WorkflowRun | undefined;
85+
86+
/**
87+
* <p>The graph representing all the Glue components that belong to the workflow as nodes and directed
88+
* connections between them as edges.</p>
89+
* @public
90+
*/
91+
Graph?: WorkflowGraph | undefined;
92+
93+
/**
94+
* <p>You can use this parameter to prevent unwanted multiple updates to data, to control costs, or in some cases, to prevent exceeding the maximum number of concurrent runs of any of the component jobs. If you leave this parameter blank, there is no limit to the number of concurrent workflow runs.</p>
95+
* @public
96+
*/
97+
MaxConcurrentRuns?: number | undefined;
98+
99+
/**
100+
* <p>This structure indicates the details of the blueprint that this particular workflow is created from.</p>
101+
* @public
102+
*/
103+
BlueprintDetails?: BlueprintDetails | undefined;
104+
}
105+
39106
/**
40107
* @public
41108
*/
@@ -1847,6 +1914,7 @@ export interface DataQualityTargetTable {
18471914
}
18481915

18491916
/**
1917+
* <p>A request to create a data quality ruleset.</p>
18501918
* @public
18511919
*/
18521920
export interface CreateDataQualityRulesetRequest {
@@ -7892,23 +7960,6 @@ export const ComputationType = {
78927960
*/
78937961
export type ComputationType = (typeof ComputationType)[keyof typeof ComputationType];
78947962

7895-
/**
7896-
* @public
7897-
* @enum
7898-
*/
7899-
export const ColumnStatisticsState = {
7900-
FAILED: "FAILED",
7901-
RUNNING: "RUNNING",
7902-
STARTING: "STARTING",
7903-
STOPPED: "STOPPED",
7904-
SUCCEEDED: "SUCCEEDED",
7905-
} as const;
7906-
7907-
/**
7908-
* @public
7909-
*/
7910-
export type ColumnStatisticsState = (typeof ColumnStatisticsState)[keyof typeof ColumnStatisticsState];
7911-
79127963
/**
79137964
* @internal
79147965
*/

0 commit comments

Comments
 (0)