AWS Glue

2024/08/07 - AWS Glue - 6 new 6 updated api methods

Changes  Introducing AWS Glue Data Quality anomaly detection, a new functionality that uses ML-based solutions to detect data anomalies users have not explicitly defined rules for.

GetDataQualityModelResult (new) Link ¶

Retrieve a statistic's predictions for a given Profile ID.

See also: AWS API Documentation

Request Syntax

client.get_data_quality_model_result(
    StatisticId='string',
    ProfileId='string'
)
type StatisticId

string

param StatisticId

[REQUIRED]

The Statistic ID.

type ProfileId

string

param ProfileId

[REQUIRED]

The Profile ID.

rtype

dict

returns

Response Syntax

{
    'CompletedOn': datetime(2015, 1, 1),
    'Model': [
        {
            'LowerBound': 123.0,
            'UpperBound': 123.0,
            'PredictedValue': 123.0,
            'ActualValue': 123.0,
            'Date': datetime(2015, 1, 1),
            'InclusionAnnotation': 'INCLUDE'|'EXCLUDE'
        },
    ]
}

Response Structure

  • (dict) --

    • CompletedOn (datetime) --

      The timestamp when the data quality model training completed.

    • Model (list) --

      A list of StatisticModelResult

      • (dict) --

        The statistic model result.

        • LowerBound (float) --

          The lower bound.

        • UpperBound (float) --

          The upper bound.

        • PredictedValue (float) --

          The predicted value.

        • ActualValue (float) --

          The actual value.

        • Date (datetime) --

          The date.

        • InclusionAnnotation (string) --

          The inclusion annotation.

BatchPutDataQualityStatisticAnnotation (new) Link ¶

Annotate datapoints over time for a specific data quality statistic.

See also: AWS API Documentation

Request Syntax

client.batch_put_data_quality_statistic_annotation(
    InclusionAnnotations=[
        {
            'ProfileId': 'string',
            'StatisticId': 'string',
            'InclusionAnnotation': 'INCLUDE'|'EXCLUDE'
        },
    ],
    ClientToken='string'
)
type InclusionAnnotations

list

param InclusionAnnotations

[REQUIRED]

A list of DatapointInclusionAnnotation 's.

  • (dict) --

    An Inclusion Annotation.

    • ProfileId (string) --

      The ID of the data quality profile the statistic belongs to.

    • StatisticId (string) --

      The Statistic ID.

    • InclusionAnnotation (string) --

      The inclusion annotation value to apply to the statistic.

type ClientToken

string

param ClientToken

Client Token.

rtype

dict

returns

Response Syntax

{
    'FailedInclusionAnnotations': [
        {
            'ProfileId': 'string',
            'StatisticId': 'string',
            'FailureReason': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • FailedInclusionAnnotations (list) --

      A list of AnnotationError 's.

      • (dict) --

        A failed annotation.

        • ProfileId (string) --

          The Profile ID for the failed annotation.

        • StatisticId (string) --

          The Statistic ID for the failed annotation.

        • FailureReason (string) --

          The reason why the annotation failed.

ListDataQualityStatistics (new) Link ¶

Retrieves a list of data quality statistics.

See also: AWS API Documentation

Request Syntax

client.list_data_quality_statistics(
    StatisticId='string',
    ProfileId='string',
    TimestampFilter={
        'RecordedBefore': datetime(2015, 1, 1),
        'RecordedAfter': datetime(2015, 1, 1)
    },
    MaxResults=123,
    NextToken='string'
)
type StatisticId

string

param StatisticId

The Statistic ID.

type ProfileId

string

param ProfileId

The Profile ID.

type TimestampFilter

dict

param TimestampFilter

A timestamp filter.

  • RecordedBefore (datetime) --

    The timestamp before which statistics should be included in the results.

  • RecordedAfter (datetime) --

    The timestamp after which statistics should be included in the results.

type MaxResults

integer

param MaxResults

The maximum number of results to return in this request.

type NextToken

string

param NextToken

A pagination token to request the next page of results.

rtype

dict

returns

Response Syntax

{
    'Statistics': [
        {
            'StatisticId': 'string',
            'ProfileId': 'string',
            'RunIdentifier': {
                'RunId': 'string',
                'JobRunId': 'string'
            },
            'StatisticName': 'string',
            'DoubleValue': 123.0,
            'EvaluationLevel': 'Dataset'|'Column'|'Multicolumn',
            'ColumnsReferenced': [
                'string',
            ],
            'ReferencedDatasets': [
                'string',
            ],
            'StatisticProperties': {
                'string': 'string'
            },
            'RecordedOn': datetime(2015, 1, 1),
            'InclusionAnnotation': {
                'Value': 'INCLUDE'|'EXCLUDE',
                'LastModifiedOn': datetime(2015, 1, 1)
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Statistics (list) --

      A StatisticSummaryList .

      • (dict) --

        Summary information about a statistic.

        • StatisticId (string) --

          The Statistic ID.

        • ProfileId (string) --

          The Profile ID.

        • RunIdentifier (dict) --

          The Run Identifier

          • RunId (string) --

            The Run ID.

          • JobRunId (string) --

            The Job Run ID.

        • StatisticName (string) --

          The name of the statistic.

        • DoubleValue (float) --

          The value of the statistic.

        • EvaluationLevel (string) --

          The evaluation level of the statistic. Possible values: Dataset , Column , Multicolumn .

        • ColumnsReferenced (list) --

          The list of columns referenced by the statistic.

          • (string) --

        • ReferencedDatasets (list) --

          The list of datasets referenced by the statistic.

          • (string) --

        • StatisticProperties (dict) --

          A StatisticPropertiesMap , which contains a NameString and DescriptionString

          • (string) --

            • (string) --

        • RecordedOn (datetime) --

          The timestamp when the statistic was recorded.

        • InclusionAnnotation (dict) --

          The inclusion annotation for the statistic.

          • Value (string) --

            The inclusion annotation value.

          • LastModifiedOn (datetime) --

            The timestamp when the inclusion annotation was last modified.

    • NextToken (string) --

      A pagination token to request the next page of results.

PutDataQualityProfileAnnotation (new) Link ¶

Annotate all datapoints for a Profile.

See also: AWS API Documentation

Request Syntax

client.put_data_quality_profile_annotation(
    ProfileId='string',
    InclusionAnnotation='INCLUDE'|'EXCLUDE'
)
type ProfileId

string

param ProfileId

[REQUIRED]

The ID of the data quality monitoring profile to annotate.

type InclusionAnnotation

string

param InclusionAnnotation

[REQUIRED]

The inclusion annotation value to apply to the profile.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

    Left blank.

GetDataQualityModel (new) Link ¶

Retrieve the training status of the model along with more information (CompletedOn, StartedOn, FailureReason).

See also: AWS API Documentation

Request Syntax

client.get_data_quality_model(
    StatisticId='string',
    ProfileId='string'
)
type StatisticId

string

param StatisticId

The Statistic ID.

type ProfileId

string

param ProfileId

[REQUIRED]

The Profile ID.

rtype

dict

returns

Response Syntax

{
    'Status': 'RUNNING'|'SUCCEEDED'|'FAILED',
    'StartedOn': datetime(2015, 1, 1),
    'CompletedOn': datetime(2015, 1, 1),
    'FailureReason': 'string'
}

Response Structure

  • (dict) --

    • Status (string) --

      The training status of the data quality model.

    • StartedOn (datetime) --

      The timestamp when the data quality model training started.

    • CompletedOn (datetime) --

      The timestamp when the data quality model training completed.

    • FailureReason (string) --

      The training failure reason.

ListDataQualityStatisticAnnotations (new) Link ¶

Retrieve annotations for a data quality statistic.

See also: AWS API Documentation

Request Syntax

client.list_data_quality_statistic_annotations(
    StatisticId='string',
    ProfileId='string',
    TimestampFilter={
        'RecordedBefore': datetime(2015, 1, 1),
        'RecordedAfter': datetime(2015, 1, 1)
    },
    MaxResults=123,
    NextToken='string'
)
type StatisticId

string

param StatisticId

The Statistic ID.

type ProfileId

string

param ProfileId

The Profile ID.

type TimestampFilter

dict

param TimestampFilter

A timestamp filter.

  • RecordedBefore (datetime) --

    The timestamp before which statistics should be included in the results.

  • RecordedAfter (datetime) --

    The timestamp after which statistics should be included in the results.

type MaxResults

integer

param MaxResults

The maximum number of results to return in this request.

type NextToken

string

param NextToken

A pagination token to retrieve the next set of results.

rtype

dict

returns

Response Syntax

{
    'Annotations': [
        {
            'ProfileId': 'string',
            'StatisticId': 'string',
            'StatisticRecordedOn': datetime(2015, 1, 1),
            'InclusionAnnotation': {
                'Value': 'INCLUDE'|'EXCLUDE',
                'LastModifiedOn': datetime(2015, 1, 1)
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Annotations (list) --

      A list of StatisticAnnotation applied to the Statistic

      • (dict) --

        A Statistic Annotation.

        • ProfileId (string) --

          The Profile ID.

        • StatisticId (string) --

          The Statistic ID.

        • StatisticRecordedOn (datetime) --

          The timestamp when the annotated statistic was recorded.

        • InclusionAnnotation (dict) --

          The inclusion annotation applied to the statistic.

          • Value (string) --

            The inclusion annotation value.

          • LastModifiedOn (datetime) --

            The timestamp when the inclusion annotation was last modified.

    • NextToken (string) --

      A pagination token to retrieve the next set of results.

BatchGetDataQualityResult (updated) Link ¶
Changes (response)
{'Results': {'Observations': {'MetricBasedObservation': {'StatisticId': 'string'}},
             'ProfileId': 'string',
             'RuleResults': {'EvaluatedRule': 'string'}}}

Retrieves a list of data quality results for the specified result IDs.

See also: AWS API Documentation

Request Syntax

client.batch_get_data_quality_result(
    ResultIds=[
        'string',
    ]
)
type ResultIds

list

param ResultIds

[REQUIRED]

A list of unique result IDs for the data quality results.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'Results': [
        {
            'ResultId': 'string',
            'ProfileId': 'string',
            'Score': 123.0,
            'DataSource': {
                'GlueTable': {
                    'DatabaseName': 'string',
                    'TableName': 'string',
                    'CatalogId': 'string',
                    'ConnectionName': 'string',
                    'AdditionalOptions': {
                        'string': 'string'
                    }
                }
            },
            'RulesetName': 'string',
            'EvaluationContext': 'string',
            'StartedOn': datetime(2015, 1, 1),
            'CompletedOn': datetime(2015, 1, 1),
            'JobName': 'string',
            'JobRunId': 'string',
            'RulesetEvaluationRunId': 'string',
            'RuleResults': [
                {
                    'Name': 'string',
                    'Description': 'string',
                    'EvaluationMessage': 'string',
                    'Result': 'PASS'|'FAIL'|'ERROR',
                    'EvaluatedMetrics': {
                        'string': 123.0
                    },
                    'EvaluatedRule': 'string'
                },
            ],
            'AnalyzerResults': [
                {
                    'Name': 'string',
                    'Description': 'string',
                    'EvaluationMessage': 'string',
                    'EvaluatedMetrics': {
                        'string': 123.0
                    }
                },
            ],
            'Observations': [
                {
                    'Description': 'string',
                    'MetricBasedObservation': {
                        'MetricName': 'string',
                        'StatisticId': 'string',
                        'MetricValues': {
                            'ActualValue': 123.0,
                            'ExpectedValue': 123.0,
                            'LowerLimit': 123.0,
                            'UpperLimit': 123.0
                        },
                        'NewRules': [
                            'string',
                        ]
                    }
                },
            ]
        },
    ],
    'ResultsNotFound': [
        'string',
    ]
}

Response Structure

  • (dict) --

    • Results (list) --

      A list of DataQualityResult objects representing the data quality results.

      • (dict) --

        Describes a data quality result.

        • ResultId (string) --

          A unique result ID for the data quality result.

        • ProfileId (string) --

          The Profile ID for the data quality result.

        • Score (float) --

          An aggregate data quality score. Represents the ratio of rules that passed to the total number of rules.

        • DataSource (dict) --

          The table associated with the data quality result, if any.

          • GlueTable (dict) --

            An Glue table.

            • DatabaseName (string) --

              A database name in the Glue Data Catalog.

            • TableName (string) --

              A table name in the Glue Data Catalog.

            • CatalogId (string) --

              A unique identifier for the Glue Data Catalog.

            • ConnectionName (string) --

              The name of the connection to the Glue Data Catalog.

            • AdditionalOptions (dict) --

              Additional options for the table. Currently there are two keys supported:

              • pushDownPredicate : to filter on partitions without having to list and read all the files in your dataset.

              • catalogPartitionPredicate : to use server-side partition pruning using partition indexes in the Glue Data Catalog.

              • (string) --

                • (string) --

        • RulesetName (string) --

          The name of the ruleset associated with the data quality result.

        • EvaluationContext (string) --

          In the context of a job in Glue Studio, each node in the canvas is typically assigned some sort of name and data quality nodes will have names. In the case of multiple nodes, the evaluationContext can differentiate the nodes.

        • StartedOn (datetime) --

          The date and time when this data quality run started.

        • CompletedOn (datetime) --

          The date and time when this data quality run completed.

        • JobName (string) --

          The job name associated with the data quality result, if any.

        • JobRunId (string) --

          The job run ID associated with the data quality result, if any.

        • RulesetEvaluationRunId (string) --

          The unique run ID for the ruleset evaluation for this data quality result.

        • RuleResults (list) --

          A list of DataQualityRuleResult objects representing the results for each rule.

          • (dict) --

            Describes the result of the evaluation of a data quality rule.

            • Name (string) --

              The name of the data quality rule.

            • Description (string) --

              A description of the data quality rule.

            • EvaluationMessage (string) --

              An evaluation message.

            • Result (string) --

              A pass or fail status for the rule.

            • EvaluatedMetrics (dict) --

              A map of metrics associated with the evaluation of the rule.

              • (string) --

                • (float) --

            • EvaluatedRule (string) --

              The evaluated rule.

        • AnalyzerResults (list) --

          A list of DataQualityAnalyzerResult objects representing the results for each analyzer.

          • (dict) --

            Describes the result of the evaluation of a data quality analyzer.

            • Name (string) --

              The name of the data quality analyzer.

            • Description (string) --

              A description of the data quality analyzer.

            • EvaluationMessage (string) --

              An evaluation message.

            • EvaluatedMetrics (dict) --

              A map of metrics associated with the evaluation of the analyzer.

              • (string) --

                • (float) --

        • Observations (list) --

          A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

          • (dict) --

            Describes the observation generated after evaluating the rules and analyzers.

            • Description (string) --

              A description of the data quality observation.

            • MetricBasedObservation (dict) --

              An object of type MetricBasedObservation representing the observation that is based on evaluated data quality metrics.

              • MetricName (string) --

                The name of the data quality metric used for generating the observation.

              • StatisticId (string) --

                The Statistic ID.

              • MetricValues (dict) --

                An object of type DataQualityMetricValues representing the analysis of the data quality metric value.

                • ActualValue (float) --

                  The actual value of the data quality metric.

                • ExpectedValue (float) --

                  The expected value of the data quality metric according to the analysis of historical data.

                • LowerLimit (float) --

                  The lower limit of the data quality metric value according to the analysis of historical data.

                • UpperLimit (float) --

                  The upper limit of the data quality metric value according to the analysis of historical data.

              • NewRules (list) --

                A list of new data quality rules generated as part of the observation based on the data quality metric value.

                • (string) --

    • ResultsNotFound (list) --

      A list of result IDs for which results were not found.

      • (string) --

CreateDataQualityRuleset (updated) Link ¶
Changes (request)
{'DataQualitySecurityConfiguration': 'string'}

Creates a data quality ruleset with DQDL rules applied to a specified Glue table.

You create the ruleset using the Data Quality Definition Language (DQDL). For more information, see the Glue developer guide.

See also: AWS API Documentation

Request Syntax

client.create_data_quality_ruleset(
    Name='string',
    Description='string',
    Ruleset='string',
    Tags={
        'string': 'string'
    },
    TargetTable={
        'TableName': 'string',
        'DatabaseName': 'string',
        'CatalogId': 'string'
    },
    DataQualitySecurityConfiguration='string',
    ClientToken='string'
)
type Name

string

param Name

[REQUIRED]

A unique name for the data quality ruleset.

type Description

string

param Description

A description of the data quality ruleset.

type Ruleset

string

param Ruleset

[REQUIRED]

A Data Quality Definition Language (DQDL) ruleset. For more information, see the Glue developer guide.

type Tags

dict

param Tags

A list of tags applied to the data quality ruleset.

  • (string) --

    • (string) --

type TargetTable

dict

param TargetTable

A target table associated with the data quality ruleset.

  • TableName (string) -- [REQUIRED]

    The name of the Glue table.

  • DatabaseName (string) -- [REQUIRED]

    The name of the database where the Glue table exists.

  • CatalogId (string) --

    The catalog id where the Glue table exists.

type DataQualitySecurityConfiguration

string

param DataQualitySecurityConfiguration

The name of the security configuration created with the data quality encryption option.

type ClientToken

string

param ClientToken

Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

rtype

dict

returns

Response Syntax

{
    'Name': 'string'
}

Response Structure

  • (dict) --

    • Name (string) --

      A unique name for the data quality ruleset.

GetDataQualityResult (updated) Link ¶
Changes (response)
{'Observations': {'MetricBasedObservation': {'StatisticId': 'string'}},
 'ProfileId': 'string',
 'RuleResults': {'EvaluatedRule': 'string'}}

Retrieves the result of a data quality rule evaluation.

See also: AWS API Documentation

Request Syntax

client.get_data_quality_result(
    ResultId='string'
)
type ResultId

string

param ResultId

[REQUIRED]

A unique result ID for the data quality result.

rtype

dict

returns

Response Syntax

{
    'ResultId': 'string',
    'ProfileId': 'string',
    'Score': 123.0,
    'DataSource': {
        'GlueTable': {
            'DatabaseName': 'string',
            'TableName': 'string',
            'CatalogId': 'string',
            'ConnectionName': 'string',
            'AdditionalOptions': {
                'string': 'string'
            }
        }
    },
    'RulesetName': 'string',
    'EvaluationContext': 'string',
    'StartedOn': datetime(2015, 1, 1),
    'CompletedOn': datetime(2015, 1, 1),
    'JobName': 'string',
    'JobRunId': 'string',
    'RulesetEvaluationRunId': 'string',
    'RuleResults': [
        {
            'Name': 'string',
            'Description': 'string',
            'EvaluationMessage': 'string',
            'Result': 'PASS'|'FAIL'|'ERROR',
            'EvaluatedMetrics': {
                'string': 123.0
            },
            'EvaluatedRule': 'string'
        },
    ],
    'AnalyzerResults': [
        {
            'Name': 'string',
            'Description': 'string',
            'EvaluationMessage': 'string',
            'EvaluatedMetrics': {
                'string': 123.0
            }
        },
    ],
    'Observations': [
        {
            'Description': 'string',
            'MetricBasedObservation': {
                'MetricName': 'string',
                'StatisticId': 'string',
                'MetricValues': {
                    'ActualValue': 123.0,
                    'ExpectedValue': 123.0,
                    'LowerLimit': 123.0,
                    'UpperLimit': 123.0
                },
                'NewRules': [
                    'string',
                ]
            }
        },
    ]
}

Response Structure

  • (dict) --

    • ResultId (string) --

      A unique result ID for the data quality result.

    • ProfileId (string) --

      The Profile ID for the data quality result.

    • Score (float) --

      An aggregate data quality score. Represents the ratio of rules that passed to the total number of rules.

    • DataSource (dict) --

      The table associated with the data quality result, if any.

      • GlueTable (dict) --

        An Glue table.

        • DatabaseName (string) --

          A database name in the Glue Data Catalog.

        • TableName (string) --

          A table name in the Glue Data Catalog.

        • CatalogId (string) --

          A unique identifier for the Glue Data Catalog.

        • ConnectionName (string) --

          The name of the connection to the Glue Data Catalog.

        • AdditionalOptions (dict) --

          Additional options for the table. Currently there are two keys supported:

          • pushDownPredicate : to filter on partitions without having to list and read all the files in your dataset.

          • catalogPartitionPredicate : to use server-side partition pruning using partition indexes in the Glue Data Catalog.

          • (string) --

            • (string) --

    • RulesetName (string) --

      The name of the ruleset associated with the data quality result.

    • EvaluationContext (string) --

      In the context of a job in Glue Studio, each node in the canvas is typically assigned some sort of name and data quality nodes will have names. In the case of multiple nodes, the evaluationContext can differentiate the nodes.

    • StartedOn (datetime) --

      The date and time when the run for this data quality result started.

    • CompletedOn (datetime) --

      The date and time when the run for this data quality result was completed.

    • JobName (string) --

      The job name associated with the data quality result, if any.

    • JobRunId (string) --

      The job run ID associated with the data quality result, if any.

    • RulesetEvaluationRunId (string) --

      The unique run ID associated with the ruleset evaluation.

    • RuleResults (list) --

      A list of DataQualityRuleResult objects representing the results for each rule.

      • (dict) --

        Describes the result of the evaluation of a data quality rule.

        • Name (string) --

          The name of the data quality rule.

        • Description (string) --

          A description of the data quality rule.

        • EvaluationMessage (string) --

          An evaluation message.

        • Result (string) --

          A pass or fail status for the rule.

        • EvaluatedMetrics (dict) --

          A map of metrics associated with the evaluation of the rule.

          • (string) --

            • (float) --

        • EvaluatedRule (string) --

          The evaluated rule.

    • AnalyzerResults (list) --

      A list of DataQualityAnalyzerResult objects representing the results for each analyzer.

      • (dict) --

        Describes the result of the evaluation of a data quality analyzer.

        • Name (string) --

          The name of the data quality analyzer.

        • Description (string) --

          A description of the data quality analyzer.

        • EvaluationMessage (string) --

          An evaluation message.

        • EvaluatedMetrics (dict) --

          A map of metrics associated with the evaluation of the analyzer.

          • (string) --

            • (float) --

    • Observations (list) --

      A list of DataQualityObservation objects representing the observations generated after evaluating the rules and analyzers.

      • (dict) --

        Describes the observation generated after evaluating the rules and analyzers.

        • Description (string) --

          A description of the data quality observation.

        • MetricBasedObservation (dict) --

          An object of type MetricBasedObservation representing the observation that is based on evaluated data quality metrics.

          • MetricName (string) --

            The name of the data quality metric used for generating the observation.

          • StatisticId (string) --

            The Statistic ID.

          • MetricValues (dict) --

            An object of type DataQualityMetricValues representing the analysis of the data quality metric value.

            • ActualValue (float) --

              The actual value of the data quality metric.

            • ExpectedValue (float) --

              The expected value of the data quality metric according to the analysis of historical data.

            • LowerLimit (float) --

              The lower limit of the data quality metric value according to the analysis of historical data.

            • UpperLimit (float) --

              The upper limit of the data quality metric value according to the analysis of historical data.

          • NewRules (list) --

            A list of new data quality rules generated as part of the observation based on the data quality metric value.

            • (string) --

GetDataQualityRuleRecommendationRun (updated) Link ¶
Changes (response)
{'DataQualitySecurityConfiguration': 'string'}

Gets the specified recommendation run that was used to generate rules.

See also: AWS API Documentation

Request Syntax

client.get_data_quality_rule_recommendation_run(
    RunId='string'
)
type RunId

string

param RunId

[REQUIRED]

The unique run identifier associated with this run.

rtype

dict

returns

Response Syntax

{
    'RunId': 'string',
    'DataSource': {
        'GlueTable': {
            'DatabaseName': 'string',
            'TableName': 'string',
            'CatalogId': 'string',
            'ConnectionName': 'string',
            'AdditionalOptions': {
                'string': 'string'
            }
        }
    },
    'Role': 'string',
    'NumberOfWorkers': 123,
    'Timeout': 123,
    'Status': 'STARTING'|'RUNNING'|'STOPPING'|'STOPPED'|'SUCCEEDED'|'FAILED'|'TIMEOUT',
    'ErrorString': 'string',
    'StartedOn': datetime(2015, 1, 1),
    'LastModifiedOn': datetime(2015, 1, 1),
    'CompletedOn': datetime(2015, 1, 1),
    'ExecutionTime': 123,
    'RecommendedRuleset': 'string',
    'CreatedRulesetName': 'string',
    'DataQualitySecurityConfiguration': 'string'
}

Response Structure

  • (dict) --

    • RunId (string) --

      The unique run identifier associated with this run.

    • DataSource (dict) --

      The data source (an Glue table) associated with this run.

      • GlueTable (dict) --

        An Glue table.

        • DatabaseName (string) --

          A database name in the Glue Data Catalog.

        • TableName (string) --

          A table name in the Glue Data Catalog.

        • CatalogId (string) --

          A unique identifier for the Glue Data Catalog.

        • ConnectionName (string) --

          The name of the connection to the Glue Data Catalog.

        • AdditionalOptions (dict) --

          Additional options for the table. Currently there are two keys supported:

          • pushDownPredicate : to filter on partitions without having to list and read all the files in your dataset.

          • catalogPartitionPredicate : to use server-side partition pruning using partition indexes in the Glue Data Catalog.

          • (string) --

            • (string) --

    • Role (string) --

      An IAM role supplied to encrypt the results of the run.

    • NumberOfWorkers (integer) --

      The number of G.1X workers to be used in the run. The default is 5.

    • Timeout (integer) --

      The timeout for a run in minutes. This is the maximum time that a run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

    • Status (string) --

      The status for this run.

    • ErrorString (string) --

      The error strings that are associated with the run.

    • StartedOn (datetime) --

      The date and time when this run started.

    • LastModifiedOn (datetime) --

      A timestamp. The last point in time when this data quality rule recommendation run was modified.

    • CompletedOn (datetime) --

      The date and time when this run was completed.

    • ExecutionTime (integer) --

      The amount of time (in seconds) that the run consumed resources.

    • RecommendedRuleset (string) --

      When a start rule recommendation run completes, it creates a recommended ruleset (a set of rules). This member has those rules in Data Quality Definition Language (DQDL) format.

    • CreatedRulesetName (string) --

      The name of the ruleset that was created by the run.

    • DataQualitySecurityConfiguration (string) --

      The name of the security configuration created with the data quality encryption option.

GetDataQualityRuleset (updated) Link ¶
Changes (response)
{'DataQualitySecurityConfiguration': 'string'}

Returns an existing ruleset by identifier or name.

See also: AWS API Documentation

Request Syntax

client.get_data_quality_ruleset(
    Name='string'
)
type Name

string

param Name

[REQUIRED]

The name of the ruleset.

rtype

dict

returns

Response Syntax

{
    'Name': 'string',
    'Description': 'string',
    'Ruleset': 'string',
    'TargetTable': {
        'TableName': 'string',
        'DatabaseName': 'string',
        'CatalogId': 'string'
    },
    'CreatedOn': datetime(2015, 1, 1),
    'LastModifiedOn': datetime(2015, 1, 1),
    'RecommendationRunId': 'string',
    'DataQualitySecurityConfiguration': 'string'
}

Response Structure

  • (dict) --

    • Name (string) --

      The name of the ruleset.

    • Description (string) --

      A description of the ruleset.

    • Ruleset (string) --

      A Data Quality Definition Language (DQDL) ruleset. For more information, see the Glue developer guide.

    • TargetTable (dict) --

      The name and database name of the target table.

      • TableName (string) --

        The name of the Glue table.

      • DatabaseName (string) --

        The name of the database where the Glue table exists.

      • CatalogId (string) --

        The catalog id where the Glue table exists.

    • CreatedOn (datetime) --

      A timestamp. The time and date that this data quality ruleset was created.

    • LastModifiedOn (datetime) --

      A timestamp. The last point in time when this data quality ruleset was modified.

    • RecommendationRunId (string) --

      When a ruleset was created from a recommendation run, this run ID is generated to link the two together.

    • DataQualitySecurityConfiguration (string) --

      The name of the security configuration created with the data quality encryption option.

StartDataQualityRuleRecommendationRun (updated) Link ¶
Changes (request)
{'DataQualitySecurityConfiguration': 'string'}

Starts a recommendation run that is used to generate rules when you don't know what rules to write. Glue Data Quality analyzes the data and comes up with recommendations for a potential ruleset. You can then triage the ruleset and modify the generated ruleset to your liking.

Recommendation runs are automatically deleted after 90 days.

See also: AWS API Documentation

Request Syntax

client.start_data_quality_rule_recommendation_run(
    DataSource={
        'GlueTable': {
            'DatabaseName': 'string',
            'TableName': 'string',
            'CatalogId': 'string',
            'ConnectionName': 'string',
            'AdditionalOptions': {
                'string': 'string'
            }
        }
    },
    Role='string',
    NumberOfWorkers=123,
    Timeout=123,
    CreatedRulesetName='string',
    DataQualitySecurityConfiguration='string',
    ClientToken='string'
)
type DataSource

dict

param DataSource

[REQUIRED]

The data source (Glue table) associated with this run.

  • GlueTable (dict) -- [REQUIRED]

    An Glue table.

    • DatabaseName (string) -- [REQUIRED]

      A database name in the Glue Data Catalog.

    • TableName (string) -- [REQUIRED]

      A table name in the Glue Data Catalog.

    • CatalogId (string) --

      A unique identifier for the Glue Data Catalog.

    • ConnectionName (string) --

      The name of the connection to the Glue Data Catalog.

    • AdditionalOptions (dict) --

      Additional options for the table. Currently there are two keys supported:

      • pushDownPredicate : to filter on partitions without having to list and read all the files in your dataset.

      • catalogPartitionPredicate : to use server-side partition pruning using partition indexes in the Glue Data Catalog.

      • (string) --

        • (string) --

type Role

string

param Role

[REQUIRED]

An IAM role supplied to encrypt the results of the run.

type NumberOfWorkers

integer

param NumberOfWorkers

The number of G.1X workers to be used in the run. The default is 5.

type Timeout

integer

param Timeout

The timeout for a run in minutes. This is the maximum time that a run can consume resources before it is terminated and enters TIMEOUT status. The default is 2,880 minutes (48 hours).

type CreatedRulesetName

string

param CreatedRulesetName

A name for the ruleset.

type DataQualitySecurityConfiguration

string

param DataQualitySecurityConfiguration

The name of the security configuration created with the data quality encryption option.

type ClientToken

string

param ClientToken

Used for idempotency and is recommended to be set to a random ID (such as a UUID) to avoid creating or starting multiple instances of the same resource.

rtype

dict

returns

Response Syntax

{
    'RunId': 'string'
}

Response Structure

  • (dict) --

    • RunId (string) --

      The unique run identifier associated with this run.