AWS Glue

2023/08/24 - AWS Glue - 3 updated api methods

Changes  Added API attributes that help in the monitoring of sessions.

CreateSession (updated) Link ¶
Changes (response)
{'Session': {'CompletedOn': 'timestamp',
             'DPUSeconds': 'double',
             'ExecutionTime': 'double',
             'IdleTimeout': 'integer',
             'NumberOfWorkers': 'integer',
             'WorkerType': 'Standard | G.1X | G.2X | G.025X | G.4X | G.8X | '
                           'Z.2X'}}

Creates a new session.

See also: AWS API Documentation

Request Syntax

client.create_session(
    Id='string',
    Description='string',
    Role='string',
    Command={
        'Name': 'string',
        'PythonVersion': 'string'
    },
    Timeout=123,
    IdleTimeout=123,
    DefaultArguments={
        'string': 'string'
    },
    Connections={
        'Connections': [
            'string',
        ]
    },
    MaxCapacity=123.0,
    NumberOfWorkers=123,
    WorkerType='Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X',
    SecurityConfiguration='string',
    GlueVersion='string',
    Tags={
        'string': 'string'
    },
    RequestOrigin='string'
)
type Id

string

param Id

[REQUIRED]

The ID of the session request.

type Description

string

param Description

The description of the session.

type Role

string

param Role

[REQUIRED]

The IAM Role ARN

type Command

dict

param Command

[REQUIRED]

The SessionCommand that runs the job.

  • Name (string) --

    Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'.

  • PythonVersion (string) --

    Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

type Timeout

integer

param Timeout

The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes), the maximum session lifetime for this job type. Consult the documentation for other job types.

type IdleTimeout

integer

param IdleTimeout

The number of minutes when idle before session times out. Default for Spark ETL jobs is value of Timeout. Consult the documentation for other job types.

type DefaultArguments

dict

param DefaultArguments

A map array of key-value pairs. Max is 75 pairs.

  • (string) --

    • (string) --

type Connections

dict

param Connections

The number of connections to use for the session.

  • Connections (list) --

    A list of connections used by the job.

    • (string) --

type MaxCapacity

float

param MaxCapacity

The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

type NumberOfWorkers

integer

param NumberOfWorkers

The number of workers of a defined WorkerType to use for the session.

type WorkerType

string

param WorkerType

The type of predefined worker that is allocated when a job runs. Accepts a value of G.1X, G.2X, G.4X, or G.8X for Spark jobs. Accepts the value Z.2X for Ray notebooks.

  • For the G.1X worker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 84GB disk (approximately 34GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

  • For the G.2X worker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 128GB disk (approximately 77GB free), and provides 1 executor per worker. We recommend this worker type for workloads such as data transforms, joins, and queries, to offers a scalable and cost effective way to run most jobs.

  • For the G.4X worker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk (approximately 235GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs in the following Amazon Web Services Regions: US East (Ohio), US East (N. Virginia), US West (Oregon), Asia Pacific (Singapore), Asia Pacific (Sydney), Asia Pacific (Tokyo), Canada (Central), Europe (Frankfurt), Europe (Ireland), and Europe (Stockholm).

  • For the G.8X worker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk (approximately 487GB free), and provides 1 executor per worker. We recommend this worker type for jobs whose workloads contain your most demanding transforms, aggregations, joins, and queries. This worker type is available only for Glue version 3.0 or later Spark ETL jobs, in the same Amazon Web Services Regions as supported for the G.4X worker type.

  • For the Z.2X worker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk (approximately 120GB free), and provides up to 8 Ray workers based on the autoscaler.

type SecurityConfiguration

string

param SecurityConfiguration

The name of the SecurityConfiguration structure to be used with the session

type GlueVersion

string

param GlueVersion

The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.

type Tags

dict

param Tags

The map of key value pairs (tags) belonging to the session.

  • (string) --

    • (string) --

type RequestOrigin

string

param RequestOrigin

The origin of the request.

rtype

dict

returns

Response Syntax

{
    'Session': {
        'Id': 'string',
        'CreatedOn': datetime(2015, 1, 1),
        'Status': 'PROVISIONING'|'READY'|'FAILED'|'TIMEOUT'|'STOPPING'|'STOPPED',
        'ErrorMessage': 'string',
        'Description': 'string',
        'Role': 'string',
        'Command': {
            'Name': 'string',
            'PythonVersion': 'string'
        },
        'DefaultArguments': {
            'string': 'string'
        },
        'Connections': {
            'Connections': [
                'string',
            ]
        },
        'Progress': 123.0,
        'MaxCapacity': 123.0,
        'SecurityConfiguration': 'string',
        'GlueVersion': 'string',
        'NumberOfWorkers': 123,
        'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X',
        'CompletedOn': datetime(2015, 1, 1),
        'ExecutionTime': 123.0,
        'DPUSeconds': 123.0,
        'IdleTimeout': 123
    }
}

Response Structure

  • (dict) --

    • Session (dict) --

      Returns the session object in the response.

      • Id (string) --

        The ID of the session.

      • CreatedOn (datetime) --

        The time and date when the session was created.

      • Status (string) --

        The session status.

      • ErrorMessage (string) --

        The error message displayed during the session.

      • Description (string) --

        The description of the session.

      • Role (string) --

        The name or Amazon Resource Name (ARN) of the IAM role associated with the Session.

      • Command (dict) --

        The command object.See SessionCommand.

        • Name (string) --

          Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'.

        • PythonVersion (string) --

          Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

      • DefaultArguments (dict) --

        A map array of key-value pairs. Max is 75 pairs.

        • (string) --

          • (string) --

      • Connections (dict) --

        The number of connections used for the session.

        • Connections (list) --

          A list of connections used by the job.

          • (string) --

      • Progress (float) --

        The code execution progress of the session.

      • MaxCapacity (float) --

        The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

      • SecurityConfiguration (string) --

        The name of the SecurityConfiguration structure to be used with the session.

      • GlueVersion (string) --

        The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.

      • NumberOfWorkers (integer) --

        The number of workers of a defined WorkerType to use for the session.

      • WorkerType (string) --

        The type of predefined worker that is allocated when a session runs. Accepts a value of G.1X , G.2X , G.4X , or G.8X for Spark sessions. Accepts the value Z.2X for Ray sessions.

      • CompletedOn (datetime) --

        The date and time that this session is completed.

      • ExecutionTime (float) --

        The total time the session ran for.

      • DPUSeconds (float) --

        The DPUs consumed by the session (formula: ExecutionTime * MaxCapacity).

      • IdleTimeout (integer) --

        The number of minutes when idle before the session times out.

GetSession (updated) Link ¶
Changes (response)
{'Session': {'CompletedOn': 'timestamp',
             'DPUSeconds': 'double',
             'ExecutionTime': 'double',
             'IdleTimeout': 'integer',
             'NumberOfWorkers': 'integer',
             'WorkerType': 'Standard | G.1X | G.2X | G.025X | G.4X | G.8X | '
                           'Z.2X'}}

Retrieves the session.

See also: AWS API Documentation

Request Syntax

client.get_session(
    Id='string',
    RequestOrigin='string'
)
type Id

string

param Id

[REQUIRED]

The ID of the session.

type RequestOrigin

string

param RequestOrigin

The origin of the request.

rtype

dict

returns

Response Syntax

{
    'Session': {
        'Id': 'string',
        'CreatedOn': datetime(2015, 1, 1),
        'Status': 'PROVISIONING'|'READY'|'FAILED'|'TIMEOUT'|'STOPPING'|'STOPPED',
        'ErrorMessage': 'string',
        'Description': 'string',
        'Role': 'string',
        'Command': {
            'Name': 'string',
            'PythonVersion': 'string'
        },
        'DefaultArguments': {
            'string': 'string'
        },
        'Connections': {
            'Connections': [
                'string',
            ]
        },
        'Progress': 123.0,
        'MaxCapacity': 123.0,
        'SecurityConfiguration': 'string',
        'GlueVersion': 'string',
        'NumberOfWorkers': 123,
        'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X',
        'CompletedOn': datetime(2015, 1, 1),
        'ExecutionTime': 123.0,
        'DPUSeconds': 123.0,
        'IdleTimeout': 123
    }
}

Response Structure

  • (dict) --

    • Session (dict) --

      The session object is returned in the response.

      • Id (string) --

        The ID of the session.

      • CreatedOn (datetime) --

        The time and date when the session was created.

      • Status (string) --

        The session status.

      • ErrorMessage (string) --

        The error message displayed during the session.

      • Description (string) --

        The description of the session.

      • Role (string) --

        The name or Amazon Resource Name (ARN) of the IAM role associated with the Session.

      • Command (dict) --

        The command object.See SessionCommand.

        • Name (string) --

          Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'.

        • PythonVersion (string) --

          Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

      • DefaultArguments (dict) --

        A map array of key-value pairs. Max is 75 pairs.

        • (string) --

          • (string) --

      • Connections (dict) --

        The number of connections used for the session.

        • Connections (list) --

          A list of connections used by the job.

          • (string) --

      • Progress (float) --

        The code execution progress of the session.

      • MaxCapacity (float) --

        The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

      • SecurityConfiguration (string) --

        The name of the SecurityConfiguration structure to be used with the session.

      • GlueVersion (string) --

        The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.

      • NumberOfWorkers (integer) --

        The number of workers of a defined WorkerType to use for the session.

      • WorkerType (string) --

        The type of predefined worker that is allocated when a session runs. Accepts a value of G.1X , G.2X , G.4X , or G.8X for Spark sessions. Accepts the value Z.2X for Ray sessions.

      • CompletedOn (datetime) --

        The date and time that this session is completed.

      • ExecutionTime (float) --

        The total time the session ran for.

      • DPUSeconds (float) --

        The DPUs consumed by the session (formula: ExecutionTime * MaxCapacity).

      • IdleTimeout (integer) --

        The number of minutes when idle before the session times out.

ListSessions (updated) Link ¶
Changes (response)
{'Sessions': {'CompletedOn': 'timestamp',
              'DPUSeconds': 'double',
              'ExecutionTime': 'double',
              'IdleTimeout': 'integer',
              'NumberOfWorkers': 'integer',
              'WorkerType': 'Standard | G.1X | G.2X | G.025X | G.4X | G.8X | '
                            'Z.2X'}}

Retrieve a list of sessions.

See also: AWS API Documentation

Request Syntax

client.list_sessions(
    NextToken='string',
    MaxResults=123,
    Tags={
        'string': 'string'
    },
    RequestOrigin='string'
)
type NextToken

string

param NextToken

The token for the next set of results, or null if there are no more result.

type MaxResults

integer

param MaxResults

The maximum number of results.

type Tags

dict

param Tags

Tags belonging to the session.

  • (string) --

    • (string) --

type RequestOrigin

string

param RequestOrigin

The origin of the request.

rtype

dict

returns

Response Syntax

{
    'Ids': [
        'string',
    ],
    'Sessions': [
        {
            'Id': 'string',
            'CreatedOn': datetime(2015, 1, 1),
            'Status': 'PROVISIONING'|'READY'|'FAILED'|'TIMEOUT'|'STOPPING'|'STOPPED',
            'ErrorMessage': 'string',
            'Description': 'string',
            'Role': 'string',
            'Command': {
                'Name': 'string',
                'PythonVersion': 'string'
            },
            'DefaultArguments': {
                'string': 'string'
            },
            'Connections': {
                'Connections': [
                    'string',
                ]
            },
            'Progress': 123.0,
            'MaxCapacity': 123.0,
            'SecurityConfiguration': 'string',
            'GlueVersion': 'string',
            'NumberOfWorkers': 123,
            'WorkerType': 'Standard'|'G.1X'|'G.2X'|'G.025X'|'G.4X'|'G.8X'|'Z.2X',
            'CompletedOn': datetime(2015, 1, 1),
            'ExecutionTime': 123.0,
            'DPUSeconds': 123.0,
            'IdleTimeout': 123
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Ids (list) --

      Returns the ID of the session.

      • (string) --

    • Sessions (list) --

      Returns the session object.

      • (dict) --

        The period in which a remote Spark runtime environment is running.

        • Id (string) --

          The ID of the session.

        • CreatedOn (datetime) --

          The time and date when the session was created.

        • Status (string) --

          The session status.

        • ErrorMessage (string) --

          The error message displayed during the session.

        • Description (string) --

          The description of the session.

        • Role (string) --

          The name or Amazon Resource Name (ARN) of the IAM role associated with the Session.

        • Command (dict) --

          The command object.See SessionCommand.

          • Name (string) --

            Specifies the name of the SessionCommand. Can be 'glueetl' or 'gluestreaming'.

          • PythonVersion (string) --

            Specifies the Python version. The Python version indicates the version supported for jobs of type Spark.

        • DefaultArguments (dict) --

          A map array of key-value pairs. Max is 75 pairs.

          • (string) --

            • (string) --

        • Connections (dict) --

          The number of connections used for the session.

          • Connections (list) --

            A list of connections used by the job.

            • (string) --

        • Progress (float) --

          The code execution progress of the session.

        • MaxCapacity (float) --

          The number of Glue data processing units (DPUs) that can be allocated when the job runs. A DPU is a relative measure of processing power that consists of 4 vCPUs of compute capacity and 16 GB memory.

        • SecurityConfiguration (string) --

          The name of the SecurityConfiguration structure to be used with the session.

        • GlueVersion (string) --

          The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.

        • NumberOfWorkers (integer) --

          The number of workers of a defined WorkerType to use for the session.

        • WorkerType (string) --

          The type of predefined worker that is allocated when a session runs. Accepts a value of G.1X , G.2X , G.4X , or G.8X for Spark sessions. Accepts the value Z.2X for Ray sessions.

        • CompletedOn (datetime) --

          The date and time that this session is completed.

        • ExecutionTime (float) --

          The total time the session ran for.

        • DPUSeconds (float) --

          The DPUs consumed by the session (formula: ExecutionTime * MaxCapacity).

        • IdleTimeout (integer) --

          The number of minutes when idle before the session times out.

    • NextToken (string) --

      The token for the next set of results, or null if there are no more result.