Updates an existing machine learning transform. Call this operation to tune the algorithm parameters to achieve better results.

After calling this operation, you can call the StartMLEvaluationTaskRun operation to assess how well your new parameters achieved your goals (such as improving the quality of your machine learning transform, or making it more cost-effective).

See also: AWS API Documentation

Request Syntax

response = client.update_ml_transform(
        'TransformType': 'FIND_MATCHES',
        'FindMatchesParameters': {
            'PrimaryKeyColumnName': 'string',
            'PrecisionRecallTradeoff': 123.0,
            'AccuracyCostTradeoff': 123.0,
            'EnforceProvidedLabels': True|False
  • TransformId (string) --


    A unique identifier that was generated when the transform was created.

  • Name (string) -- The unique name that you gave the transform when you created it.
  • Description (string) -- A description of the transform. The default is an empty string.
  • Parameters (dict) --

    The configuration parameters that are specific to the transform type (algorithm) used. Conditionally dependent on the transform type.

    • TransformType (string) -- [REQUIRED]

      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.

  • 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.
Return type



Response Syntax

    'TransformId': 'string'

Response Structure

  • (dict) --

    • TransformId (string) --

      The unique identifier for the transform that was updated.


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