EMR Serverless Setup
Use this skill when datus emr-serverless is installed but has no configured
environment.
Config structure
Profiles live under agent.plugins.emr-serverless.<profile> in the config file
named by the ## Plugins section of the system prompt:
agent:
plugins:
emr-serverless:
prod:
default: true
region: us-east-1
application_id: 00abc123 # optional default application
execution_role_arn: arn:aws:iam::123456789012:role/emr-serverless-exec # optional default
# credentials — omit to use the standard AWS chain, otherwise any of:
profile: my-aws-profile
role_arn: arn:aws:iam::123456789012:role/datus-emr
# access_key_id / secret_access_key — use ${VAR} refs
Steps
- Ask for
region, and optionally a defaultapplication_idandexecution_role_arn(the role the Spark job assumes to read/write data). - The calling principal needs
emr-serverless:GetApplication,ListApplications,StartApplication,StopApplication,StartJobRun,GetJobRun,ListJobRuns,CancelJobRun,GetDashboardForJobRun, andiam:PassRolefor the execution role. - Write the profile into the config file named in the
## Pluginspreamble; mark the first profiledefault: true. - Verify with
datus emr-serverless applications list.
Troubleshooting
no application id/no execution role— pass them as args, or setapplication_id/execution_role_arnin the profile.- Job stuck in
SCHEDULED— the application may be stopped; runapplications start <app-id>.