Ejemplos de Amazon EMR con el SDK para SAP ABAP - AWS Ejemplos de código de SDK

Hay más ejemplos de AWS SDK disponibles en el GitHub repositorio de ejemplos de AWS Doc SDK.

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplos de Amazon EMR con el SDK para SAP ABAP

Los siguientes ejemplos de código muestran cómo realizar acciones e implementar escenarios comunes mediante el uso del AWS SDK para SAP ABAP con Amazon EMR.

Las acciones son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

Acciones

En el siguiente ejemplo de código, se muestra cómo utilizar AddJobFlowSteps.

SDK para SAP ABAP
nota

Hay más información. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. " Build args list for Spark submit DATA lt_args TYPE /aws1/cl_emrxmlstringlist_w=>tt_xmlstringlist. APPEND NEW /aws1/cl_emrxmlstringlist_w( 'spark-submit' ) TO lt_args. APPEND NEW /aws1/cl_emrxmlstringlist_w( '--deploy-mode' ) TO lt_args. APPEND NEW /aws1/cl_emrxmlstringlist_w( 'cluster' ) TO lt_args. APPEND NEW /aws1/cl_emrxmlstringlist_w( iv_script_uri ) TO lt_args. APPEND LINES OF it_script_args TO lt_args. " Create step configuration DATA(lo_hadoop_jar_step) = NEW /aws1/cl_emrhadoopjarstepcfg( iv_jar = 'command-runner.jar' it_args = lt_args ). DATA(lo_step_config) = NEW /aws1/cl_emrstepconfig( iv_name = iv_name iv_actiononfailure = 'CONTINUE' io_hadoopjarstep = lo_hadoop_jar_step ). DATA lt_steps TYPE /aws1/cl_emrstepconfig=>tt_stepconfiglist. APPEND lo_step_config TO lt_steps. DATA(lo_result) = lo_emr->addjobflowsteps( iv_jobflowid = iv_cluster_id it_steps = lt_steps ). " Get first step ID DATA(lt_step_ids) = lo_result->get_stepids( ). READ TABLE lt_step_ids INDEX 1 INTO DATA(lo_step_id_obj). IF sy-subrc = 0. ov_step_id = lo_step_id_obj->get_value( ). MESSAGE |Step added with ID { ov_step_id }| TYPE 'I'. ENDIF. CATCH /aws1/cx_emrinternalservererr INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte AddJobFlowStepsla referencia sobre la API ABAP del AWS SDK para SAP.

En el siguiente ejemplo de código, se muestra cómo utilizar DescribeCluster.

SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. oo_result = lo_emr->describecluster( iv_clusterid = iv_cluster_id ). DATA(lo_cluster) = oo_result->get_cluster( ). DATA(lv_cluster_name) = lo_cluster->get_name( ). MESSAGE |Retrieved cluster information for { lv_cluster_name }| TYPE 'I'. CATCH /aws1/cx_emrinternalserverex INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. CATCH /aws1/cx_emrinvalidrequestex INTO DATA(lo_invalid_error). lv_error = lo_invalid_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte DescribeClusterla referencia sobre la API ABAP del AWS SDK para SAP.

En el siguiente ejemplo de código, se muestra cómo utilizar DescribeStep.

SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. oo_result = lo_emr->describestep( iv_clusterid = iv_cluster_id iv_stepid = iv_step_id ). DATA(lo_step) = oo_result->get_step( ). DATA(lv_step_name) = lo_step->get_name( ). MESSAGE |Retrieved step information for { lv_step_name }| TYPE 'I'. CATCH /aws1/cx_emrinternalserverex INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. CATCH /aws1/cx_emrinvalidrequestex INTO DATA(lo_invalid_error). lv_error = lo_invalid_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte DescribeStepla referencia sobre la API ABAP del AWS SDK para SAP.

En el siguiente ejemplo de código, se muestra cómo utilizar ListSteps.

SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. oo_result = lo_emr->liststeps( iv_clusterid = iv_cluster_id ). DATA(lt_steps) = oo_result->get_steps( ). DATA(lv_step_count) = lines( lt_steps ). MESSAGE |Retrieved { lv_step_count } steps for cluster| TYPE 'I'. CATCH /aws1/cx_emrinternalserverex INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. CATCH /aws1/cx_emrinvalidrequestex INTO DATA(lo_invalid_error). lv_error = lo_invalid_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte ListStepsla referencia sobre la API ABAP del AWS SDK para SAP.

En el siguiente ejemplo de código, se muestra cómo utilizar RunJobFlow.

SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. " Create instances configuration DATA(lo_instances) = NEW /aws1/cl_emrjobflowinstsconfig( iv_masterinstancetype = 'm5.xlarge' iv_slaveinstancetype = 'm5.xlarge' iv_instancecount = 3 iv_keepjobflowalivewhennos00 = iv_keep_alive iv_emrmanagedmastersecgroup = iv_primary_sec_grp iv_emrmanagedslavesecgroup = iv_secondary_sec_grp ). DATA(lo_result) = lo_emr->runjobflow( iv_name = iv_name iv_loguri = iv_log_uri iv_releaselabel = 'emr-5.30.1' io_instances = lo_instances it_steps = it_steps it_applications = it_applications iv_jobflowrole = iv_job_flow_role iv_servicerole = iv_service_role iv_ebsrootvolumesize = 10 iv_visibletoallusers = abap_true ). ov_cluster_id = lo_result->get_jobflowid( ). MESSAGE 'EMR cluster created successfully.' TYPE 'I'. CATCH /aws1/cx_emrinternalservererr INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. CATCH /aws1/cx_emrclientexc INTO DATA(lo_client_error). lv_error = lo_client_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte RunJobFlowla referencia sobre la API ABAP del AWS SDK para SAP.

En el siguiente ejemplo de código, se muestra cómo utilizar TerminateJobFlows.

SDK para SAP ABAP
nota

Hay más información al respecto. GitHub Busque el ejemplo completo y aprenda a configurar y ejecutar en el Repositorio de ejemplos de código de AWS.

TRY. DATA lt_cluster_ids TYPE /aws1/cl_emrxmlstringlist_w=>tt_xmlstringlist. APPEND NEW /aws1/cl_emrxmlstringlist_w( iv_cluster_id ) TO lt_cluster_ids. lo_emr->terminatejobflows( it_jobflowids = lt_cluster_ids ). MESSAGE 'EMR cluster terminated successfully.' TYPE 'I'. CATCH /aws1/cx_emrinternalservererr INTO DATA(lo_internal_error). DATA(lv_error) = lo_internal_error->if_message~get_text( ). MESSAGE lv_error TYPE 'E'. ENDTRY.
  • Para obtener más información sobre la API, consulte TerminateJobFlowsla referencia sobre la API ABAP del AWS SDK para SAP.