CreateMLTransform
Creates an AWS Glue machine learning transform. This operation creates the transform and all the necessary parameters to train it.
Call this operation as the first step in the process of using a machine learning transform
(such as the FindMatches
transform) for deduplicating data. You can provide an
optional Description
, in addition to the parameters that you want to use for your
algorithm.
You must also specify certain parameters for the tasks that AWS Glue runs on your
behalf as part of learning from your data and creating a high-quality machine learning
transform. These parameters include Role
, and optionally,
AllocatedCapacity
, Timeout
, and MaxRetries
. For more
information, see Jobs.
Request Syntax
{
"Description": "string
",
"GlueVersion": "string
",
"InputRecordTables": [
{
"AdditionalOptions": {
"string
" : "string
"
},
"CatalogId": "string
",
"ConnectionName": "string
",
"DatabaseName": "string
",
"TableName": "string
"
}
],
"MaxCapacity": number
,
"MaxRetries": number
,
"Name": "string
",
"NumberOfWorkers": number
,
"Parameters": {
"FindMatchesParameters": {
"AccuracyCostTradeoff": number
,
"EnforceProvidedLabels": boolean
,
"PrecisionRecallTradeoff": number
,
"PrimaryKeyColumnName": "string
"
},
"TransformType": "string
"
},
"Role": "string
",
"Tags": {
"string
" : "string
"
},
"Timeout": number
,
"TransformEncryption": {
"MlUserDataEncryption": {
"KmsKeyId": "string
",
"MlUserDataEncryptionMode": "string
"
},
"TaskRunSecurityConfigurationName": "string
"
},
"WorkerType": "string
"
}
Request Parameters
For information about the parameters that are common to all actions, see Common Parameters.
The request accepts the following data in JSON format.
- Description
-
A description of the machine learning transform that is being defined. The default is an empty string.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 2048.
Pattern:
[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\r\n\t]*
Required: No
- GlueVersion
-
This value determines which version of AWS 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 AWS Glue Versions in the developer guide.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
^\w+\.\w+$
Required: No
- InputRecordTables
-
A list of AWS Glue table definitions used by the transform.
Type: Array of GlueTable objects
Array Members: Minimum number of 0 items. Maximum number of 10 items.
Required: Yes
- MaxCapacity
-
The number of AWS 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 AWS Glue pricing page
. MaxCapacity
is a mutually exclusive option withNumberOfWorkers
andWorkerType
.-
If either
NumberOfWorkers
orWorkerType
is set, thenMaxCapacity
cannot be set. -
If
MaxCapacity
is set then neitherNumberOfWorkers
orWorkerType
can be set. -
If
WorkerType
is set, thenNumberOfWorkers
is required (and vice versa). -
MaxCapacity
andNumberOfWorkers
must both be at least 1.
When the
WorkerType
field is set to a value other thanStandard
, theMaxCapacity
field is set automatically and becomes read-only.When the
WorkerType
field is set to a value other thanStandard
, theMaxCapacity
field is set automatically and becomes read-only.Type: Double
Required: No
-
- MaxRetries
-
The maximum number of times to retry a task for this transform after a task run fails.
Type: Integer
Required: No
- Name
-
The unique name that you give the transform when you create it.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
Required: Yes
- NumberOfWorkers
-
The number of workers of a defined
workerType
that are allocated when this task runs.If
WorkerType
is set, thenNumberOfWorkers
is required (and vice versa).Type: Integer
Required: No
- Parameters
-
The algorithmic parameters that are specific to the transform type used. Conditionally dependent on the transform type.
Type: TransformParameters object
Required: Yes
- Role
-
The name or Amazon Resource Name (ARN) of the IAM role with the required permissions. The required permissions include both AWS Glue service role permissions to AWS Glue resources, and Amazon S3 permissions required by the transform.
-
This role needs AWS Glue service role permissions to allow access to resources in AWS Glue. See Attach a Policy to IAM Users That Access AWS Glue.
-
This role needs permission to your Amazon Simple Storage Service (Amazon S3) sources, targets, temporary directory, scripts, and any libraries used by the task run for this transform.
Type: String
Required: Yes
-
- Tags
-
The tags to use with this machine learning transform. You may use tags to limit access to the machine learning transform. For more information about tags in AWS Glue, see AWS Tags in AWS Glue in the developer guide.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Required: No
- Timeout
-
The timeout of the 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).Type: Integer
Valid Range: Minimum value of 1.
Required: No
- TransformEncryption
-
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.
Type: TransformEncryption object
Required: No
- WorkerType
-
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.
MaxCapacity
is a mutually exclusive option withNumberOfWorkers
andWorkerType
.-
If either
NumberOfWorkers
orWorkerType
is set, thenMaxCapacity
cannot be set. -
If
MaxCapacity
is set then neitherNumberOfWorkers
orWorkerType
can be set. -
If
WorkerType
is set, thenNumberOfWorkers
is required (and vice versa). -
MaxCapacity
andNumberOfWorkers
must both be at least 1.
Type: String
Valid Values:
Standard | G.1X | G.2X | G.025X | G.4X | G.8X | Z.2X
Required: No
-
Response Syntax
{
"TransformId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- TransformId
-
A unique identifier that is generated for the transform.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 255.
Pattern:
[\u0020-\uD7FF\uE000-\uFFFD\uD800\uDC00-\uDBFF\uDFFF\t]*
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
Access to a resource was denied.
HTTP Status Code: 400
- AlreadyExistsException
-
A resource to be created or added already exists.
HTTP Status Code: 400
- IdempotentParameterMismatchException
-
The same unique identifier was associated with two different records.
HTTP Status Code: 400
- InternalServiceException
-
An internal service error occurred.
HTTP Status Code: 500
- InvalidInputException
-
The input provided was not valid.
HTTP Status Code: 400
- OperationTimeoutException
-
The operation timed out.
HTTP Status Code: 400
- ResourceNumberLimitExceededException
-
A resource numerical limit was exceeded.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: