/AWS1/IF_GLU=>CREATESESSION()¶
About CreateSession¶
Creates a new session.
Method Signature¶
METHODS /AWS1/IF_GLU~CREATESESSION
IMPORTING
!IV_ID TYPE /AWS1/GLUNAMESTRING OPTIONAL
!IV_DESCRIPTION TYPE /AWS1/GLUDESCRIPTIONSTRING OPTIONAL
!IV_ROLE TYPE /AWS1/GLUORCHESTRATIONROLEARN OPTIONAL
!IO_COMMAND TYPE REF TO /AWS1/CL_GLUSESSIONCOMMAND OPTIONAL
!IV_TIMEOUT TYPE /AWS1/GLUTIMEOUT OPTIONAL
!IV_IDLETIMEOUT TYPE /AWS1/GLUTIMEOUT OPTIONAL
!IT_DEFAULTARGUMENTS TYPE /AWS1/CL_GLUORCHESTRATIONARG00=>TT_ORCHESTRATIONARGUMENTSMAP OPTIONAL
!IO_CONNECTIONS TYPE REF TO /AWS1/CL_GLUCONNECTIONSLIST OPTIONAL
!IV_MAXCAPACITY TYPE /AWS1/RT_DOUBLE_AS_STRING OPTIONAL
!IV_NUMBEROFWORKERS TYPE /AWS1/GLUNULLABLEINTEGER OPTIONAL
!IV_WORKERTYPE TYPE /AWS1/GLUWORKERTYPE OPTIONAL
!IV_SECURITYCONFIGURATION TYPE /AWS1/GLUNAMESTRING OPTIONAL
!IV_GLUEVERSION TYPE /AWS1/GLUGLUEVERSIONSTRING OPTIONAL
!IT_TAGS TYPE /AWS1/CL_GLUTAGSMAP_W=>TT_TAGSMAP OPTIONAL
!IV_REQUESTORIGIN TYPE /AWS1/GLUORCHESTRATIONNAMESTR OPTIONAL
RETURNING
VALUE(OO_OUTPUT) TYPE REF TO /aws1/cl_glucreatesessionrsp
RAISING
/AWS1/CX_GLUACCESSDENIEDEX
/AWS1/CX_GLUALREADYEXISTSEX
/AWS1/CX_GLUIDEMPOTENTPRMMIS00
/AWS1/CX_GLUINTERNALSERVICEEX
/AWS1/CX_GLUINVALIDINPUTEX
/AWS1/CX_GLUOPERATIONTIMEOUTEX
/AWS1/CX_GLURESRCNUMLMTEXCDEX
/AWS1/CX_GLUVALIDATIONEX
/AWS1/CX_GLUCLIENTEXC
/AWS1/CX_GLUSERVEREXC
/AWS1/CX_RT_TECHNICAL_GENERIC
/AWS1/CX_RT_SERVICE_GENERIC.
IMPORTING¶
Required arguments:¶
iv_id TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING¶
The ID of the session request.
iv_role TYPE /AWS1/GLUORCHESTRATIONROLEARN /AWS1/GLUORCHESTRATIONROLEARN¶
The IAM Role ARN
io_command TYPE REF TO /AWS1/CL_GLUSESSIONCOMMAND /AWS1/CL_GLUSESSIONCOMMAND¶
The
SessionCommandthat runs the job.
Optional arguments:¶
iv_description TYPE /AWS1/GLUDESCRIPTIONSTRING /AWS1/GLUDESCRIPTIONSTRING¶
The description of the session.
iv_timeout TYPE /AWS1/GLUTIMEOUT /AWS1/GLUTIMEOUT¶
The number of minutes before session times out. Default for Spark ETL jobs is 48 hours (2880 minutes). Consult the documentation for other job types.
iv_idletimeout TYPE /AWS1/GLUTIMEOUT /AWS1/GLUTIMEOUT¶
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.
it_defaultarguments TYPE /AWS1/CL_GLUORCHESTRATIONARG00=>TT_ORCHESTRATIONARGUMENTSMAP TT_ORCHESTRATIONARGUMENTSMAP¶
A map array of key-value pairs. Max is 75 pairs.
io_connections TYPE REF TO /AWS1/CL_GLUCONNECTIONSLIST /AWS1/CL_GLUCONNECTIONSLIST¶
The number of connections to use for the session.
iv_maxcapacity TYPE /AWS1/RT_DOUBLE_AS_STRING /AWS1/RT_DOUBLE_AS_STRING¶
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.
iv_numberofworkers TYPE /AWS1/GLUNULLABLEINTEGER /AWS1/GLUNULLABLEINTEGER¶
The number of workers of a defined
WorkerTypeto use for the session.
iv_workertype TYPE /AWS1/GLUWORKERTYPE /AWS1/GLUWORKERTYPE¶
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.1Xworker type, each worker maps to 1 DPU (4 vCPUs, 16 GB of memory) with 94GB disk, 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.2Xworker type, each worker maps to 2 DPU (8 vCPUs, 32 GB of memory) with 138GB disk, 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.4Xworker type, each worker maps to 4 DPU (16 vCPUs, 64 GB of memory) with 256GB disk, 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.8Xworker type, each worker maps to 8 DPU (32 vCPUs, 128 GB of memory) with 512GB disk, 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 theG.4Xworker type.For the
Z.2Xworker type, each worker maps to 2 M-DPU (8vCPUs, 64 GB of memory) with 128 GB disk, and provides up to 8 Ray workers based on the autoscaler.
iv_securityconfiguration TYPE /AWS1/GLUNAMESTRING /AWS1/GLUNAMESTRING¶
The name of the SecurityConfiguration structure to be used with the session
iv_glueversion TYPE /AWS1/GLUGLUEVERSIONSTRING /AWS1/GLUGLUEVERSIONSTRING¶
The Glue version determines the versions of Apache Spark and Python that Glue supports. The GlueVersion must be greater than 2.0.
it_tags TYPE /AWS1/CL_GLUTAGSMAP_W=>TT_TAGSMAP TT_TAGSMAP¶
The map of key value pairs (tags) belonging to the session.
iv_requestorigin TYPE /AWS1/GLUORCHESTRATIONNAMESTR /AWS1/GLUORCHESTRATIONNAMESTR¶
The origin of the request.
RETURNING¶
oo_output TYPE REF TO /aws1/cl_glucreatesessionrsp /AWS1/CL_GLUCREATESESSIONRSP¶
Domain /AWS1/RT_ACCOUNT_ID Primitive Type NUMC
Examples¶
Syntax Example¶
This is an example of the syntax for calling the method. It includes every possible argument and initializes every possible value. The data provided is not necessarily semantically accurate (for example the value "string" may be provided for something that is intended to be an instance ID, or in some cases two arguments may be mutually exclusive). The syntax shows the ABAP syntax for creating the various data structures.
DATA(lo_result) = lo_client->createsession(
io_command = new /aws1/cl_glusessioncommand(
iv_name = |string|
iv_pythonversion = |string|
)
io_connections = new /aws1/cl_gluconnectionslist(
it_connections = VALUE /aws1/cl_gluconnstringlist_w=>tt_connectionstringlist(
( new /aws1/cl_gluconnstringlist_w( |string| ) )
)
)
it_defaultarguments = VALUE /aws1/cl_gluorchestrationarg00=>tt_orchestrationargumentsmap(
(
VALUE /aws1/cl_gluorchestrationarg00=>ts_orchestrationargum00_maprow(
value = new /aws1/cl_gluorchestrationarg00( |string| )
key = |string|
)
)
)
it_tags = VALUE /aws1/cl_glutagsmap_w=>tt_tagsmap(
(
VALUE /aws1/cl_glutagsmap_w=>ts_tagsmap_maprow(
value = new /aws1/cl_glutagsmap_w( |string| )
key = |string|
)
)
)
iv_description = |string|
iv_glueversion = |string|
iv_id = |string|
iv_idletimeout = 123
iv_maxcapacity = |0.1|
iv_numberofworkers = 123
iv_requestorigin = |string|
iv_role = |string|
iv_securityconfiguration = |string|
iv_timeout = 123
iv_workertype = |string|
).
This is an example of reading all possible response values
lo_result = lo_result.
IF lo_result IS NOT INITIAL.
lo_session = lo_result->get_session( ).
IF lo_session IS NOT INITIAL.
lv_namestring = lo_session->get_id( ).
lv_timestampvalue = lo_session->get_createdon( ).
lv_sessionstatus = lo_session->get_status( ).
lv_descriptionstring = lo_session->get_errormessage( ).
lv_descriptionstring = lo_session->get_description( ).
lv_orchestrationrolearn = lo_session->get_role( ).
lo_sessioncommand = lo_session->get_command( ).
IF lo_sessioncommand IS NOT INITIAL.
lv_namestring = lo_sessioncommand->get_name( ).
lv_pythonversionstring = lo_sessioncommand->get_pythonversion( ).
ENDIF.
LOOP AT lo_session->get_defaultarguments( ) into ls_row.
lv_key = ls_row-key.
lo_value = ls_row-value.
IF lo_value IS NOT INITIAL.
lv_orchestrationargumentsv = lo_value->get_value( ).
ENDIF.
ENDLOOP.
lo_connectionslist = lo_session->get_connections( ).
IF lo_connectionslist IS NOT INITIAL.
LOOP AT lo_connectionslist->get_connections( ) into lo_row_1.
lo_row_2 = lo_row_1.
IF lo_row_2 IS NOT INITIAL.
lv_connectionstring = lo_row_2->get_value( ).
ENDIF.
ENDLOOP.
ENDIF.
lv_doublevalue = lo_session->get_progress( ).
lv_nullabledouble = lo_session->get_maxcapacity( ).
lv_namestring = lo_session->get_securityconfiguration( ).
lv_glueversionstring = lo_session->get_glueversion( ).
lv_nullableinteger = lo_session->get_numberofworkers( ).
lv_workertype = lo_session->get_workertype( ).
lv_timestampvalue = lo_session->get_completedon( ).
lv_nullabledouble = lo_session->get_executiontime( ).
lv_nullabledouble = lo_session->get_dpuseconds( ).
lv_idletimeout = lo_session->get_idletimeout( ).
lv_namestring = lo_session->get_profilename( ).
ENDIF.
ENDIF.