2020/12/22 - AWS Glue - 2 updated api methods
Changes Update glue client to latest version
{'EvaluationMetrics': {'FindMatchesMetrics': {'ColumnImportances': [{'ColumnName': 'string', 'Importance': 'double'}]}}}
Gets an AWS 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 AWS Glue. You can retrieve their metadata by calling GetMLTransform.
See also: AWS API Documentation
Request Syntax
client.get_ml_transform( TransformId='string' )
string
[REQUIRED]
The unique identifier of the transform, generated at the time that the transform was created.
dict
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' }, ], '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', '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 AWS Glue table definitions used by the transform.
(dict) --
The database and table in the AWS Glue Data Catalog that is used for input or output data.
DatabaseName (string) --
A database name in the AWS Glue Data Catalog.
TableName (string) --
A table name in the AWS Glue Data Catalog.
CatalogId (string) --
A unique identifier for the AWS Glue Data Catalog.
ConnectionName (string) --
The name of the connection to the AWS Glue Data Catalog.
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 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.
MaxCapacity (float) --
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.
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 AWS 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.
{'Transforms': {'EvaluationMetrics': {'FindMatchesMetrics': {'ColumnImportances': [{'ColumnName': 'string', 'Importance': 'double'}]}}}}
Gets a sortable, filterable list of existing AWS Glue machine learning transforms. 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 AWS Glue, and you can retrieve their metadata by calling GetMLTransforms.
See also: AWS API Documentation
Request Syntax
client.get_ml_transforms( NextToken='string', MaxResults=123, Filter={ 'Name': 'string', 'TransformType': 'FIND_MATCHES', 'Status': 'NOT_READY'|'READY'|'DELETING', 'GlueVersion': 'string', 'CreatedBefore': datetime(2015, 1, 1), 'CreatedAfter': datetime(2015, 1, 1), 'LastModifiedBefore': datetime(2015, 1, 1), 'LastModifiedAfter': datetime(2015, 1, 1), 'Schema': [ { 'Name': 'string', 'DataType': 'string' }, ] }, Sort={ 'Column': 'NAME'|'TRANSFORM_TYPE'|'STATUS'|'CREATED'|'LAST_MODIFIED', 'SortDirection': 'DESCENDING'|'ASCENDING' } )
string
A paginated token to offset the results.
integer
The maximum number of results to return.
dict
The filter transformation criteria.
Name (string) --
A unique transform name that is used to filter the machine learning transforms.
TransformType (string) --
The type of machine learning transform that is used to filter the machine learning transforms.
Status (string) --
Filters the list of machine learning transforms by the last known status of the transforms (to indicate whether a transform can be used or not). One of "NOT_READY", "READY", or "DELETING".
GlueVersion (string) --
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.
CreatedBefore (datetime) --
The time and date before which the transforms were created.
CreatedAfter (datetime) --
The time and date after which the transforms were created.
LastModifiedBefore (datetime) --
Filter on transforms last modified before this date.
LastModifiedAfter (datetime) --
Filter on transforms last modified after this date.
Schema (list) --
Filters on datasets with a specific schema. The Map<Column, Type> object is an array of key-value pairs representing the schema this transform accepts, where Column is the name of a column, and Type is the type of the data such as an integer or string. 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.
dict
The sorting criteria.
Column (string) -- [REQUIRED]
The column to be used in the sorting criteria that are associated with the machine learning transform.
SortDirection (string) -- [REQUIRED]
The sort direction to be used in the sorting criteria that are associated with the machine learning transform.
dict
Response Syntax
{ 'Transforms': [ { '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' }, ], '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', 'NumberOfWorkers': 123, 'Timeout': 123, 'MaxRetries': 123, 'TransformEncryption': { 'MlUserDataEncryption': { 'MlUserDataEncryptionMode': 'DISABLED'|'SSE-KMS', 'KmsKeyId': 'string' }, 'TaskRunSecurityConfigurationName': 'string' } }, ], 'NextToken': 'string' }
Response Structure
(dict) --
Transforms (list) --
A list of machine learning transforms.
(dict) --
A structure for a machine learning transform.
TransformId (string) --
The unique transform ID that is generated for the machine learning transform. The ID is guaranteed to be unique and does not change.
Name (string) --
A user-defined name for the machine learning transform. Names are not guaranteed unique and can be changed at any time.
Description (string) --
A user-defined, long-form description text for the machine learning transform. Descriptions are not guaranteed to be unique and can be changed at any time.
Status (string) --
The current status of the machine learning transform.
CreatedOn (datetime) --
A timestamp. The time and date that this machine learning transform was created.
LastModifiedOn (datetime) --
A timestamp. The last point in time when this machine learning transform was modified.
InputRecordTables (list) --
A list of AWS Glue table definitions used by the transform.
(dict) --
The database and table in the AWS Glue Data Catalog that is used for input or output data.
DatabaseName (string) --
A database name in the AWS Glue Data Catalog.
TableName (string) --
A table name in the AWS Glue Data Catalog.
CatalogId (string) --
A unique identifier for the AWS Glue Data Catalog.
ConnectionName (string) --
The name of the connection to the AWS Glue Data Catalog.
Parameters (dict) --
A TransformParameters object. You can use parameters to tune (customize) the behavior of the machine learning transform by specifying what data it learns from and your preference on various tradeoffs (such as precious vs. recall, or accuracy vs. cost).
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) --
An EvaluationMetrics object. Evaluation metrics provide an estimate of the quality of your machine learning transform.
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) --
A count identifier for the labeling files generated by AWS Glue for this transform. As you create a better transform, you can iteratively download, label, and upload the labeling file.
Schema (list) --
A map of key-value pairs representing the columns and data types that this transform can run against. 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. 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.
GlueVersion (string) --
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.
MaxCapacity (float) --
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 with NumberOfWorkers and WorkerType.
If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.
If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.
If WorkerType is set, then NumberOfWorkers is required (and vice versa).
MaxCapacity and NumberOfWorkers must both be at least 1.
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 a task of this transform 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 with NumberOfWorkers and WorkerType.
If either NumberOfWorkers or WorkerType is set, then MaxCapacity cannot be set.
If MaxCapacity is set then neither NumberOfWorkers or WorkerType can be set.
If WorkerType is set, then NumberOfWorkers is required (and vice versa).
MaxCapacity and NumberOfWorkers must both be at least 1.
NumberOfWorkers (integer) --
The number of workers of a defined workerType that are allocated when a task of the transform runs.
If WorkerType is set, then NumberOfWorkers is required (and vice versa).
Timeout (integer) --
The timeout in minutes of the machine learning transform.
MaxRetries (integer) --
The maximum number of times to retry after an MLTaskRun of the machine learning transform 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 AWS 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.
NextToken (string) --
A pagination token, if more results are available.