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.