Install
openclaw skills install aws-emr-skillsAWS EMR interaction skill for managing EMR Serverless, EMR on EC2, and EMR on EKS. Submit and manage Spark, Hive, and PySpark jobs across all three EMR deployment modes. Use this skill when the user mentions EMR, Spark, Hive, Serverless, big data jobs, submit job, query job status, get job logs, cancel job, EMR cluster, EMR step, virtual cluster, EKS, or similar keywords.
openclaw skills install aws-emr-skillsA Python skill for interacting with AWS EMR across three deployment modes: EMR Serverless, EMR on EC2, and EMR on EKS. Submit Spark and Hive jobs, manage clusters and applications, monitor job status, and retrieve logs.
Invoke this skill when the user mentions:
"Submit a Spark job on EMR"
"List EMR Serverless applications"
"Add a step to my EMR cluster"
"Get EMR job logs"
"Check EMR job status"
"Cancel running EMR job"
"List EMR clusters"
"Create an EMR on EKS virtual cluster"
"Submit PySpark to EMR Serverless"
"Get step logs from EMR cluster"
Any request involving EMR Serverless applications/jobs, EMR on EC2 clusters/steps, or EMR on EKS virtual clusters/job runs.
Python 3.8+ with boto3>=1.26.0:
pip install boto3>=1.26.0
AWS credentials via boto3 default chain (env vars, config files, IAM roles).
Environment variables (all optional, validated at point of use):
export AWS_REGION="us-east-1"
# EMR Serverless
export EMR_SERVERLESS_APP_ID="00abcdef12345678"
export EMR_SERVERLESS_EXEC_ROLE_ARN="arn:aws:iam::123456789:role/emr-role"
export EMR_SERVERLESS_S3_LOG_URI="s3://my-bucket/emr-logs/"
# EMR on EC2
export EMR_CLUSTER_ID="j-XXXXXXXXXXXXX"
# EMR on EKS
export EMR_EKS_VIRTUAL_CLUSTER_ID="abc123def456"
export EMR_EKS_EXEC_ROLE_ARN="arn:aws:iam::123456789:role/emr-eks-role"
Fully managed serverless Spark/Hive execution. No infrastructure to manage.
scripts/on_serverless/emr_serverless_cli.py — 14 @tool functionsreferences/emr_serverless/application_guide.md — Application lifecyclereferences/emr_serverless/job_guide.md — Job submission, results, logsTraditional EMR clusters on EC2 instances. Submit work as Steps.
scripts/on_ec2/emr_on_ec2_cli.py — 10 @tool functionsreferences/emr_on_ec2/cluster_guide.md — Cluster lifecyclereferences/emr_on_ec2/step_guide.md — Step submission, logsSpark workloads on Amazon EKS via the emr-containers API.
scripts/on_eks/emr_on_eks_cli.py — 10 @tool functionsreferences/emr_on_eks/virtual_cluster_guide.md — Virtual cluster lifecyclereferences/emr_on_eks/job_run_guide.md — Job submission, logs| Script | Description |
|---|---|
scripts/on_serverless/emr_serverless_cli.py | EMR Serverless @tool functions (14 tools) |
scripts/on_ec2/emr_on_ec2_cli.py | EMR on EC2 @tool functions (10 tools) |
scripts/on_eks/emr_on_eks_cli.py | EMR on EKS @tool functions (10 tools) |
scripts/config/emr_config.py | Unified configuration management |
scripts/client/boto_client.py | boto3 client factory |
| Document | Description |
|---|---|
references/emr_serverless/application_guide.md | EMR Serverless application management guide |
references/emr_serverless/job_guide.md | EMR Serverless job submission and management guide |
references/emr_on_ec2/cluster_guide.md | EMR on EC2 cluster management guide |
references/emr_on_ec2/step_guide.md | EMR on EC2 step submission and management guide |
references/emr_on_eks/virtual_cluster_guide.md | EMR on EKS virtual cluster management guide |
references/emr_on_eks/job_run_guide.md | EMR on EKS job run management guide |
./tmp folder.sys.path.append(${emr_skill_root})This skill connects to:
emr-serverless.{region}.amazonaws.com)elasticmapreduce.{region}.amazonaws.com)emr-containers.{region}.amazonaws.com)s3.{region}.amazonaws.com) — for log and result retrieval