get_ml_transform

Glue.Client.get_ml_transform(**kwargs)

Gets an Glue machine learning transform artifact and all its corresponding metadata. Machine learning transforms are a special type of transform that use machine learning to learn the details of the transformation to be performed by learning from examples provided by humans. These transformations are then saved by Glue. You can retrieve their metadata by calling GetMLTransform .

See also: AWS API Documentation

Request Syntax

response = client.get_ml_transform(
    TransformId='string'
)
Parameters
TransformId (string) --

[REQUIRED]

The unique identifier of the transform, generated at the time that the transform was created.

Return type
dict
Returns
Response Syntax
{
    'TransformId': 'string',
    'Name': 'string',
    'Description': 'string',
    'Status': 'NOT_READY'|'READY'|'DELETING',
    'CreatedOn': datetime(2015, 1, 1),
    'LastModifiedOn': datetime(2015, 1, 1),
    'InputRecordTables': [
        {
            'DatabaseName': 'string',
            'TableName': 'string',
            'CatalogId': 'string',
            'ConnectionName': 'string',
            'AdditionalOptions': {
                'string': 'string'
            }
        },
    ],
    'Parameters': {
        'TransformType': 'FIND_MATCHES',
        'FindMatchesParameters': {
            'PrimaryKeyColumnName': 'string',
            'PrecisionRecallTradeoff': 123.0,
            'AccuracyCostTradeoff': 123.0,
            'EnforceProvidedLabels': True|False
        }
    },
    'EvaluationMetrics': {
        'TransformType': 'FIND_MATCHES',
        'FindMatchesMetrics': {
            'AreaUnderPRCurve': 123.0,
            'Precision': 123.0,
            'Recall': 123.0,
            'F1': 123.0,
            'ConfusionMatrix': {
                'NumTruePositives': 123,
                'NumFalsePositives': 123,
                'NumTrueNegatives': 123,
                'NumFalseNegatives': 123
            },
            'ColumnImportances': [
                {
                    'ColumnName': 'string',
                    'Importance': 123.0
                },
            ]
        }
    },
    'LabelCount': 123,
    'Schema': [
        {
            'Name': 'string',
            'DataType': 'string'
        },
    ],
    'Role': 'string',
    'GlueVersion': 'string',
    'MaxCapacity': 123.0,
    'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X',
    'NumberOfWorkers': 123,
    'Timeout': 123,
    'MaxRetries': 123,
    'TransformEncryption': {
        'MlUserDataEncryption': {
            'MlUserDataEncryptionMode': 'DISABLED'|'SSE-KMS',
            'KmsKeyId': 'string'
        },
        'TaskRunSecurityConfigurationName': 'string'
    }
}

Response Structure

  • (dict) --
    • TransformId (string) --

      The unique identifier of the transform, generated at the time that the transform was created.

    • Name (string) --

      The unique name given to the transform when it was created.

    • Description (string) --

      A description of the transform.

    • Status (string) --

      The last known status of the transform (to indicate whether it can be used or not). One of "NOT_READY", "READY", or "DELETING".

    • CreatedOn (datetime) --

      The date and time when the transform was created.

    • LastModifiedOn (datetime) --

      The date and time when the transform was last modified.

    • InputRecordTables (list) --

      A list of Glue table definitions used by the transform.

      • (dict) --

        The database and table in the Glue Data Catalog that is used for input or output data.

        • 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) --
    • Parameters (dict) --

      The configuration parameters that are specific to the algorithm used.

      • TransformType (string) --

        The type of machine learning transform.

        For information about the types of machine learning transforms, see Creating Machine Learning Transforms.

      • FindMatchesParameters (dict) --

        The parameters for the find matches algorithm.

        • PrimaryKeyColumnName (string) --

          The name of a column that uniquely identifies rows in the source table. Used to help identify matching records.

        • PrecisionRecallTradeoff (float) --

          The value selected when tuning your transform for a balance between precision and recall. A value of 0.5 means no preference; a value of 1.0 means a bias purely for precision, and a value of 0.0 means a bias for recall. Because this is a tradeoff, choosing values close to 1.0 means very low recall, and choosing values close to 0.0 results in very low precision.

          The precision metric indicates how often your model is correct when it predicts a match.

          The recall metric indicates that for an actual match, how often your model predicts the match.

        • AccuracyCostTradeoff (float) --

          The value that is selected when tuning your transform for a balance between accuracy and cost. A value of 0.5 means that the system balances accuracy and cost concerns. A value of 1.0 means a bias purely for accuracy, which typically results in a higher cost, sometimes substantially higher. A value of 0.0 means a bias purely for cost, which results in a less accurate FindMatches transform, sometimes with unacceptable accuracy.

          Accuracy measures how well the transform finds true positives and true negatives. Increasing accuracy requires more machine resources and cost. But it also results in increased recall.

          Cost measures how many compute resources, and thus money, are consumed to run the transform.

        • EnforceProvidedLabels (boolean) --

          The value to switch on or off to force the output to match the provided labels from users. If the value is True , the find matches transform forces the output to match the provided labels. The results override the normal conflation results. If the value is False , the find matches transform does not ensure all the labels provided are respected, and the results rely on the trained model.

          Note that setting this value to true may increase the conflation execution time.

    • EvaluationMetrics (dict) --

      The latest evaluation metrics.

      • TransformType (string) --

        The type of machine learning transform.

      • FindMatchesMetrics (dict) --

        The evaluation metrics for the find matches algorithm.

        • AreaUnderPRCurve (float) --

          The area under the precision/recall curve (AUPRC) is a single number measuring the overall quality of the transform, that is independent of the choice made for precision vs. recall. Higher values indicate that you have a more attractive precision vs. recall tradeoff.

          For more information, see Precision and recall in Wikipedia.

        • Precision (float) --

          The precision metric indicates when often your transform is correct when it predicts a match. Specifically, it measures how well the transform finds true positives from the total true positives possible.

          For more information, see Precision and recall in Wikipedia.

        • Recall (float) --

          The recall metric indicates that for an actual match, how often your transform predicts the match. Specifically, it measures how well the transform finds true positives from the total records in the source data.

          For more information, see Precision and recall in Wikipedia.

        • F1 (float) --

          The maximum F1 metric indicates the transform's accuracy between 0 and 1, where 1 is the best accuracy.

          For more information, see F1 score in Wikipedia.

        • ConfusionMatrix (dict) --

          The confusion matrix shows you what your transform is predicting accurately and what types of errors it is making.

          For more information, see Confusion matrix in Wikipedia.

          • NumTruePositives (integer) --

            The number of matches in the data that the transform correctly found, in the confusion matrix for your transform.

          • NumFalsePositives (integer) --

            The number of nonmatches in the data that the transform incorrectly classified as a match, in the confusion matrix for your transform.

          • NumTrueNegatives (integer) --

            The number of nonmatches in the data that the transform correctly rejected, in the confusion matrix for your transform.

          • NumFalseNegatives (integer) --

            The number of matches in the data that the transform didn't find, in the confusion matrix for your transform.

        • ColumnImportances (list) --

          A list of ColumnImportance structures containing column importance metrics, sorted in order of descending importance.

          • (dict) --

            A structure containing the column name and column importance score for a column.

            Column importance helps you understand how columns contribute to your model, by identifying which columns in your records are more important than others.

            • ColumnName (string) --

              The name of a column.

            • Importance (float) --

              The column importance score for the column, as a decimal.

    • LabelCount (integer) --

      The number of labels available for this transform.

    • Schema (list) --

      The Map<Column, Type> object that represents the schema that this transform accepts. Has an upper bound of 100 columns.

      • (dict) --

        A key-value pair representing a column and data type that this transform can run against. The Schema parameter of the MLTransform may contain up to 100 of these structures.

        • Name (string) --

          The name of the column.

        • DataType (string) --

          The type of data in the column.

    • Role (string) --

      The name or Amazon Resource Name (ARN) of the IAM role with the required permissions.

    • GlueVersion (string) --

      This value determines which version of Glue this machine learning transform is compatible with. Glue 1.0 is recommended for most customers. If the value is not set, the Glue compatibility defaults to Glue 0.9. For more information, see Glue Versions in the developer guide.

    • MaxCapacity (float) --

      The number of Glue data processing units (DPUs) that are allocated to task runs for this transform. You can allocate from 2 to 100 DPUs; the default is 10. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB of memory. For more information, see the Glue pricing page.

      When the WorkerType field is set to a value other than Standard , the MaxCapacity field is set automatically and becomes read-only.

    • WorkerType (string) --

      The type of predefined worker that is allocated when this task runs. Accepts a value of Standard, G.1X, or G.2X.

      • For the Standard worker type, each worker provides 4 vCPU, 16 GB of memory and a 50GB disk, and 2 executors per worker.
      • For the G.1X worker type, each worker provides 4 vCPU, 16 GB of memory and a 64GB disk, and 1 executor per worker.
      • For the G.2X worker type, each worker provides 8 vCPU, 32 GB of memory and a 128GB disk, and 1 executor per worker.
    • NumberOfWorkers (integer) --

      The number of workers of a defined workerType that are allocated when this task runs.

    • Timeout (integer) --

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

    • MaxRetries (integer) --

      The maximum number of times to retry a task for this transform after a task run fails.

    • TransformEncryption (dict) --

      The encryption-at-rest settings of the transform that apply to accessing user data. Machine learning transforms can access user data encrypted in Amazon S3 using KMS.

      • MlUserDataEncryption (dict) --

        An MLUserDataEncryption object containing the encryption mode and customer-provided KMS key ID.

        • MlUserDataEncryptionMode (string) --

          The encryption mode applied to user data. Valid values are:

          • DISABLED: encryption is disabled
          • SSEKMS: use of server-side encryption with Key Management Service (SSE-KMS) for user data stored in Amazon S3.
        • KmsKeyId (string) --

          The ID for the customer-provided KMS key.

      • TaskRunSecurityConfigurationName (string) --

        The name of the security configuration.

Exceptions

  • Glue.Client.exceptions.EntityNotFoundException
  • Glue.Client.exceptions.InvalidInputException
  • Glue.Client.exceptions.OperationTimeoutException
  • Glue.Client.exceptions.InternalServiceException