Comandi di esempio per eseguire Notebook EMR a livello di programmazione - Amazon EMR

Comandi di esempio per eseguire Notebook EMR a livello di programmazione

Nota

I Notebook Amazon EMR sono disponibili come Workspace EMR Studio nella nuova console. Nella vecchia console puoi ancora utilizzare i notebook esistenti, ma non crearne di nuovi. Il pulsante Crea workspace nella nuova console sostituisce questa funzionalità. Per accedere ai Workspace o crearne di nuovi, gli utenti di Notebook EMR necessitano di ulteriori autorizzazioni per i ruoli IAM. Per ulteriori informazioni, consulta I Notebook Amazon EMR sono Workspace Amazon EMR Studio nella nuova console e Novità della console.

Panoramica

È possibile eseguire notebook EMR con API di esecuzione da uno script o dalla riga di comando. Quando avvii, arresti, elenchi e descrivi le esecuzioni di notebook EMR all'esterno della console AWS, puoi controllare a livello di programmazione un notebook EMR. Puoi trasmettere diversi valori di parametro a un notebook con una cella di notebook parametrizzata. Questa opzione elimina la necessità di creare una copia del notebook per ogni nuovo set di valori di parametro. Per ulteriori informazioni, consulta le operazioni dell'API di Amazon EMR.

Puoi pianificare o eseguire in batch le esecuzioni di notebook EMR con Eventi Amazon CloudWatch e AWS Lambda. Per ulteriori informazioni, consulta Uso di AWS Lambda con Eventi Amazon CloudWatch.

Autorizzazioni di ruolo per l'esecuzione a livello di programmazione

Per utilizzare l'esecuzione a livello di programmazione con Notebook EMR, è necessario configurare le autorizzazioni utente con le policy seguenti:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowExecutionActions", "Effect": "Allow", "Action": [ "elasticmapreduce:StartNotebookExecution", "elasticmapreduce:DescribeNotebookExecution", "elasticmapreduce:ListNotebookExecutions" ], "Resource": "*" }, { "Sid": "AllowPassingServiceRole", "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "arn:aws:iam::account-id:role/EMR_Notebooks_DefaultRole" } ] }

Quando esegui Notebook EMR a livello di programmazione su un cluster Notebook EMR, devi aggiungere queste autorizzazioni supplementari:

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowRetrievingManagedEndpointCredentials", "Effect": "Allow", "Action": [ "emr-containers:GetManagedEndpointSessionCredentials" ], "Resource": [ "arn:aws:emr-containers:region:account-id:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id" ], "Condition": { "StringEquals": { "emr-containers:ExecutionRoleArn": [ "arn:aws:iam::account-id:role/emr-on-eks-execution-role" ] } } }, { "Sid": "AllowDescribingManagedEndpoint", "Effect": "Allow", "Action": [ "emr-containers:DescribeManagedEndpoint" ], "Resource": [ "arn:aws:emr-containers:region:account-id:/virtualclusters/virtual-cluster-id/endpoints/managed-endpoint-id" ] } ] }

Limitazioni relative all'esecuzione a livello di programmazione

  • Sono supportate un massimo di 100 esecuzioni simultanee per Regione AWS per ogni account.

  • Un'esecuzione viene terminata se dura più di 30 giorni.

  • L'esecuzione programmatica dei notebook non è supportata con le applicazioni interattive di Amazon EMR serverless.

Esempi di esecuzione di notebook EMR a livello di programmazione

In questa sezione vengono forniti diversi esempi di esecuzione di notebook EMR a livello di programmazione con la AWS CLI, l'SDK Boto3 (Python) e Ruby:

Puoi anche eseguire notebook parametrizzati nell'ambito dei flussi di lavoro pianificati con uno strumento di orchestrazione come Apache Airflow o Amazon Managed Workflows per Apache Airflow (MWAA). Per ulteriori informazioni, consulta Orchestrazione dei processi di analisi su Notebook EMR con MWAA nel blog AWS Big Data.