

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Preparazione dei dati con Amazon EMR
<a name="studio-notebooks-emr-cluster"></a>

**Importante**  
Amazon SageMaker Studio e Amazon SageMaker Studio Classic sono due degli ambienti di apprendimento automatico che puoi utilizzare per interagire con l' SageMaker intelligenza artificiale.  
Se il tuo dominio è stato creato dopo il 30 novembre 2023, Studio è la tua esperienza predefinita.  
Se il tuo dominio è stato creato prima del 30 novembre 2023, Amazon SageMaker Studio Classic è la tua esperienza predefinita. Per utilizzare Studio se Amazon SageMaker Studio Classic è la tua esperienza predefinita, consulta[Migrazione da Amazon SageMaker Studio Classic](studio-updated-migrate.md).  
Quando esegui la migrazione da Amazon SageMaker Studio Classic ad Amazon SageMaker Studio, non si verifica alcuna perdita nella disponibilità delle funzionalità. Studio Classic esiste anche come applicazione all'interno di Amazon SageMaker Studio per aiutarti a eseguire i flussi di lavoro di machine learning esistenti.

Amazon SageMaker Studio e Studio Classic sono dotati di integrazione integrata con [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html). [https://aws.amazon.com/emr/features/spark](https://aws.amazon.com/emr/features/spark) Con un solo clic, possono accedere all’interfaccia utente di Spark per monitorare lo stato e le metriche dei processi Spark senza lasciare il notebook.

Gli amministratori possono creare [modelli CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) che definiscono i cluster Amazon EMR. Possono quindi rendere disponibili questi modelli di cluster in [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/userguide/end-user-console.html), dove possono essere avviati dagli utenti di Studio e Studio Classic. I Data Scientist possono quindi scegliere un modello predefinito per allocare autonomamente un cluster Amazon EMR direttamente dal proprio ambiente Studio. Gli amministratori possono definire ulteriormente i parametri dei modelli per consentire agli utenti di definire vari aspetti del cluster entro valori predefiniti. Ad esempio, gli utenti potrebbero voler specificare il numero di nodi core o selezionare il tipo di istanza di un nodo da un menu a discesa.

Utilizzando CloudFormation, gli amministratori possono controllare la configurazione organizzativa, di sicurezza e di rete dei cluster Amazon EMR. I Data Scientist e gli ingegneri dei dati possono quindi personalizzare tali modelli per i loro carichi di lavoro al fine di creare cluster Amazon EMR on demand direttamente da Studio e Studio Classic, senza dover ricorrere a configurazioni complesse. Gli utenti possono anche terminare i cluster Amazon EMR dopo l’utilizzo.
+ **Se sei un amministratore**:

  Assicurati di aver abilitato la comunicazione tra Studio o Studio Classic e i cluster Amazon EMR. Per ulteriori istruzioni, consulta la sezione [Configurazione dell’accesso di rete per il cluster Amazon EMR](studio-notebooks-emr-networking.md). Una volta abilitata questa comunicazione, puoi:
  + [Configurazione dei CloudFormation modelli Amazon EMR nel Service Catalog](studio-notebooks-set-up-emr-templates.md)
  + [Configurazione della visualizzazione dei cluster Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md)
+ **Se sei un Data Scientist o un ingegnere dei dati**, puoi:
  + [Avvio di un cluster Amazon EMR da Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md)
  + [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md)
  + [Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic](connect-emr-clusters.md)
  + [Terminazione di un cluster Amazon EMR da Studio o Studio Classic](terminate-emr-clusters.md)
  + [Accesso all’interfaccia utente di Spark da Studio o Studio Classic](studio-notebooks-access-spark-ui.md)

**Topics**
+ [Guida rapida: crea un dominio sandbox SageMaker AI per avviare i cluster Amazon EMR in Studio](studio-notebooks-emr-cluster-quickstart.md)
+ [Guida per l’amministratore](studio-emr-admin-guide.md)
+ [Guida per l'utente](studio-emr-user-guide.md)
+ [Blog e whitepaper](studio-notebooks-emr-resources.md)
+ [Risoluzione dei problemi](studio-notebooks-emr-troubleshooting.md)

# Guida rapida: crea un dominio sandbox SageMaker AI per avviare i cluster Amazon EMR in Studio
<a name="studio-notebooks-emr-cluster-quickstart"></a>

Questa sezione illustra la configurazione rapida di un ambiente di test completo in Amazon SageMaker Studio. Creerai un nuovo dominio Studio che consentirà agli utenti di avviare nuovi cluster Amazon EMR direttamente da Studio. Nella procedura è riportato un notebook di esempio che puoi connettere a un cluster Amazon EMR per iniziare a eseguire i carichi di lavoro Spark. Utilizzando questo notebook, creerai un Retrieval Augmented Generation System (RAG) utilizzando il database vettoriale e di elaborazione distribuita Amazon EMR Spark. OpenSearch 

**Nota**  
Per iniziare, accedi alla console di AWS gestione utilizzando un account utente AWS Identity and Access Management (IAM) con autorizzazioni di amministratore. Per informazioni su come registrare un account AWS e creare un utente con accesso amministrativo, consulta [Prerequisiti completi per Amazon SageMaker AI](gs-set-up.md).

**Per configurare l’ambiente di test Studio e iniziare a eseguire i processi Spark:**
+ [Fase 1: creare un dominio SageMaker AI per lanciare i cluster Amazon EMR in Studio](#studio-notebooks-emr-cluster-quickstart-setup)
+ [Fase 2. Avvia un nuovo cluster Amazon EMR dall’interfaccia utente di Studio](#studio-notebooks-emr-cluster-quickstart-launch)
+ [Fase 3: Connect un JupyterLab notebook al cluster Amazon EMR](#studio-notebooks-emr-cluster-quickstart-connect)
+ [Fase 4: Pulisci lo stack CloudFormation](#studio-notebooks-emr-cluster-quickstart-clean-stack)

## Fase 1: creare un dominio SageMaker AI per lanciare i cluster Amazon EMR in Studio
<a name="studio-notebooks-emr-cluster-quickstart-setup"></a>

Nei passaggi seguenti, applichi uno CloudFormation stack per creare automaticamente un nuovo dominio AI. SageMaker Lo stack crea anche un profilo utente e configura l’ambiente e le autorizzazioni necessari. Il dominio SageMaker AI è configurato per consentirti di avviare direttamente i cluster Amazon EMR da Studio. Per questo esempio, i cluster Amazon EMR vengono creati nello stesso AWS account di SageMaker AI senza autenticazione. [Puoi trovare CloudFormation stack aggiuntivi che supportano vari metodi di autenticazione come Kerberos nel repository getting\$1started.](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub 

**Nota**  
SageMaker L'intelligenza artificiale consente 5 domini Studio per account e per impostazione predefinita. AWS Regione AWS Prima di creare lo stack, verifica che l’account non abbia più di 4 domini nella tua Regione.

**Segui questi passaggi per configurare un dominio SageMaker AI per l'avvio di cluster Amazon EMR da Studio.**

1. Scarica il file raw di questo [CloudFormation modello dal repository](https://github.com/aws-samples/sagemaker-studio-foundation-models/blob/main/workshop-artifacts/cfn/workshop-cfn.yaml). `sagemaker-studio-emr` GitHub

1. [Vai alla CloudFormation console: https://console.aws.amazon.com /cloudformation](https://console.aws.amazon.com/cloudformation/)

1. Scegli **Crea stack** e seleziona **Con nuove risorse (standard)** dal menu a discesa.

1. Nella **Fase 1**:

   1. Nella sezione **Prepara modello**, seleziona **Scegli un modello esistente**.

   1. Nella sezione **Specify template**(Specifica il modello) scegliere **Upload a template file** (Carica un file modello).

   1. **Carica il CloudFormation modello scaricato e scegli Avanti.**

1. Nel **passaggio 2**, inserisci un **nome per lo stack**, **SageMakerDomainName**quindi scegli **Avanti**.

1. Nella **Fase 3**, mantieni tutti i valori predefiniti e scegli **Avanti**.

1. Nella **Fase 4**, seleziona la casella per confermare la creazione della risorsa e scegli **Crea stack**. Questo crea un dominio Studio nel tuo account e nella tua Regione.

## Fase 2. Avvia un nuovo cluster Amazon EMR dall’interfaccia utente di Studio
<a name="studio-notebooks-emr-cluster-quickstart-launch"></a>

Nelle fasi seguenti, creerai un nuovo cluster Amazon EMR dall’interfaccia utente di Studio.

1. Vai alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)e scegli **Domini nel menu** a sinistra.

1. Fai clic sul tuo nome di dominio **Generative AIDomain** per aprire la pagina dei **dettagli del dominio**.

1. Avvia Studio dal profilo utente `genai-user`.

1. Nel riquadro di navigazione a sinistra, vai su **Dati**, quindi scegli **Cluster Amazon EMR**.

1. Nella pagina dei cluster Amazon EMR, scegli **Crea**. **Seleziona il modello **SageMaker Studio Domain No Auth EMR** creato dallo CloudFormation stack, quindi scegli Avanti.**

1. Immetti un nome per il nuovo cluster Amazon EMR. Aggiorna facoltativamente altri parametri come il tipo di istanza dei nodi core e principali, il timeout di inattività o il numero di nodi core.

1. Scegli **Crea risorsa** per avviare il nuovo cluster Amazon EMR. 

   Dopo aver creato il cluster Amazon EMR, osservane lo stato nella pagina **Cluster EMR**. Quando lo stato cambia in `Running/Waiting`, il cluster Amazon EMR è pronto per essere utilizzato in Studio.

## Fase 3: Connect un JupyterLab notebook al cluster Amazon EMR
<a name="studio-notebooks-emr-cluster-quickstart-connect"></a>

Nei passaggi seguenti, connetti un notebook JupyterLab al tuo cluster Amazon EMR in esecuzione. Per questo esempio, importi un notebook che ti consente di creare un sistema Retrieval Augmented Generation (RAG) utilizzando l'elaborazione distribuita e il database vettoriale di Amazon EMR Spark. OpenSearch 

1. 

**Avvia JupyterLab**

   Da Studio, avvia l' JupyterLab applicazione.

1. 

**Crea uno spazio privato**

   Se non hai creato uno spazio per l' JupyterLab applicazione, scegli **Crea uno JupyterLab spazio**. Inserisci un nome per lo spazio e mantieni l’impostazione **Privato**. Lascia i valori predefiniti in tutte le altre impostazioni, quindi seleziona **Crea spazio**. 

   Altrimenti, esegui il tuo JupyterLab spazio per avviare un' JupyterLabapplicazione.

1. 

**Implementa i tuoi modelli di LLM e di embedding per l’inferenza**
   + Nel menu in alto, scegli **File**, **Nuovo** e **Terminale**.
   + Utilizza il comando seguente nel terminale.

     ```
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb
     mkdir AWSGuides
     cd AWSGuides
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf
     ```

     Il comando recupera il notebook `Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb` nella cartella locale e scarica tre file PDF in una cartella locale `AWSGuides`.
   + Apri `lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb`, mantieni il kernel `Python 3 (ipykernel)` ed esegui ogni cella.
**avvertimento**  
Nella sezione **Contratto di licenza di Llama 2**, assicurati di accettare l’EULA di Llama2 prima di continuare.  
Il notebook implementa due modelli, `Llama 2` e `all-MiniLM-L6-v2 Models`, in `ml.g5.2xlarge` per l’inferenza.

     L’implementazione dei modelli e la creazione degli endpoint possono richiedere un po’ di tempo.

1. 

**Apri il tuo notebook principale**

   In JupyterLab, apri il tuo terminale ed esegui il seguente comando.

   ```
   cd ..
   wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb
   ```

   Dovresti vedere il `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb` taccuino aggiuntivo nel pannello sinistro di JupyterLab.

1. 

**Scegli un kernel `PySpark`**

   Apri il notebook `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb` e assicurati di utilizzare il kernel `SparkMagic PySpark`. Puoi cambiare il kernel in alto a destra nel notebook. Scegli il nome del kernel corrente per aprire una finestra modale di selezione del kernel, quindi scegli `SparkMagic PySpark`.

1. 

**Connetti il notebook al cluster**

   1. Scegli **Cluster** in alto a destra nel notebook. Si apre una finestra modale che elenca tutti i cluster in esecuzione a cui hai accesso. 

   1. Seleziona il tuo cluster, quindi scegli **Connetti**. Si apre una nuova finestra modale di selezione del tipo di credenziale.

   1. Scegli **Nessuna credenziale**, quindi **Connetti**.  
![\[Modale che mostra una selezione di credenziali JupyterLab Amazon EMR per notebook.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-credential-selection.png)

   1. Una cella del notebook viene compilata ed eseguita automaticamente. La cella del notebook carica l’estensione `sagemaker_studio_analytics_extension.magics`, che fornisce funzionalità per la connessione al cluster Amazon EMR. Quindi utilizza il comando magic `%sm_analytics` per avviare la connessione al cluster Amazon EMR e all’applicazione Spark.
**Nota**  
Verifica che il tipo di autenticazione della stringa di connessione al cluster Amazon EMR sia impostato su `None`. Questa informazione è rappresentata dal valore `--auth-type None` nell’esempio seguente. Puoi modificare il campo, se necessario.  

      ```
      %load_ext sagemaker_studio_analytics_extension.magics
      %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
      ```

   1. Una volta stabilita correttamente la connessione, il messaggio di output della cella di connessione dovrebbe mostrare i dettagli di `SparkSession`, tra cui l’ID del cluster, l’ID dell’applicazione `YARN` e un link all’interfaccia utente di Spark per il monitoraggio dei processi Spark.

Puoi iniziare a utilizzare il notebook `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb`. Questo notebook di esempio esegue PySpark carichi di lavoro distribuiti per la creazione di un sistema RAG utilizzando e. LangChain OpenSearch

## Fase 4: Pulisci lo stack CloudFormation
<a name="studio-notebooks-emr-cluster-quickstart-clean-stack"></a>

Al termine, assicurati di terminare i due endpoint ed eliminare lo stack CloudFormation per evitare addebiti continuativi. L’eliminazione dello stack rimuove tutte le risorse allocate dallo stack.

**Per eliminare lo CloudFormation stack quando hai finito**

1. [Vai alla CloudFormation console: https://console.aws.amazon.com /cloudformation](https://console.aws.amazon.com/cloudformation/)

1. Seleziona lo stack che intendi eliminare. Puoi effettuare una ricerca di base al nome o individuarlo nell’elenco degli stack.

1. Fai clic sul pulsante **Elimina** per completare l’eliminazione dello stack, quindi fai di nuovo clic su **Elimina** per confermare l’eliminazione di tutte le risorse create dallo stack.

   Attendi il completamento del processo di eliminazione dello stack. Questa operazione può richiedere alcuni minuti. CloudFormation pulisce automaticamente tutte le risorse definite nel modello dello stack.

1. Verifica che tutte le risorse create dallo stack siano state eliminate. Ad esempio, verifica la presenza di eventuali cluster Amazon EMR rimanenti.

**Per rimuovere gli endpoint API per un modello**

1. Vai alla console SageMaker AI:. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. Nel riquadro di navigazione di sinistra, apri **Inferenza** e scegli **Endpoint**.

1. Seleziona l’endpoint `hf-allminil6v2-embedding-ep`, quindi scegli **Elimina** nell’elenco a discesa **Azioni**. Ripeti il passaggio per l’endpoint `meta-llama2-7b-chat-tg-ep`.

# Guida per l’amministratore
<a name="studio-emr-admin-guide"></a>

Questa sezione fornisce i prerequisiti e le istruzioni di rete per consentire la comunicazione tra Studio o Studio Classic e i cluster Amazon EMR. Copre diversi scenari di implementazione: quando Studio e Amazon EMR vengono forniti all'interno di Amazon privati VPCs senza accesso pubblico a Internet e quando devono comunicare su Internet.

Illustra come gli amministratori possono utilizzare i modelli AWS Service Catalog per rendere disponibili i CloudFormation modelli a Studio, permettendo ai data scientist di scoprire e fornire autonomamente i cluster Amazon EMR direttamente da Studio. Questa procedura comporta la creazione di un portfolio Catalogo dei servizi, la concessione delle autorizzazioni necessarie, il riferimento ai modelli di Amazon EMR e la definizione dei relativi parametri per abilitare le personalizzazioni durante la creazione del cluster.

Infine, fornisce indicazioni sulla configurazione della rilevabilità dei cluster Amazon EMR esistenti in esecuzione da Studio e Studio Classic, coprendo scenari di accesso con account singolo e multi-account insieme alle autorizzazioni IAM necessarie.

**Topics**
+ [Configurazione dei CloudFormation modelli Amazon EMR nel Service Catalog](studio-notebooks-set-up-emr-templates.md)
+ [Configurazione della visualizzazione dei cluster Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md)
+ [Configurazione dei ruoli di runtime IAM per l’accesso al cluster Amazon EMR in Studio](studio-notebooks-emr-cluster-rbac.md)
+ [Policy di riferimento](studio-set-up-emr-permissions-reference.md)

# Configurazione dei CloudFormation modelli Amazon EMR nel Service Catalog
<a name="studio-notebooks-set-up-emr-templates"></a>

[Questo argomento presuppone che gli amministratori conoscano i [portafogli e i prodotti inclusi AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html), oltre ad Amazon EMR. [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

Per semplificare la creazione di cluster Amazon EMR da Studio, gli amministratori possono registrare un [ CloudFormation modello Amazon EMR](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html) come prodotto in un portafoglio. [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) Per rendere il modello disponibile ai data scientist, devono associare il portfolio al ruolo di esecuzione dell' SageMaker IA utilizzato in Studio o Studio Classic. Infine, per consentire agli utenti di rilevare i modelli, allocare i cluster e connettersi ai cluster Amazon EMR da Studio o Studio Classic, gli amministratori devono impostare le autorizzazioni di accesso appropriate.

I CloudFormation modelli Amazon EMR possono consentire agli utenti finali di personalizzare vari aspetti del cluster. Ad esempio, gli amministratori possono definire un elenco di tipi di istanze consentiti tra cui gli utenti possono scegliere durante la creazione del cluster.

Le seguenti istruzioni utilizzano end-to-end [CloudFormation gli stack](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) per configurare un dominio Studio o Studio Classic, un profilo utente, un portafoglio Service Catalog e popolare un modello di lancio di Amazon EMR. I passaggi seguenti evidenziano le impostazioni specifiche che gli amministratori devono applicare nel proprio end-to-end stack per consentire a Studio o Studio Classic di accedere ai prodotti Service Catalog e fornire i cluster Amazon EMR.

**Nota**  
Il GitHub repository [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) contiene end-to-end CloudFormation stack di esempio che distribuiscono i ruoli IAM necessari, il networking, il dominio, il profilo SageMaker utente, il portafoglio Service Catalog e aggiungono un modello di lancio Amazon EMR. CloudFormation I modelli offrono diverse opzioni di autenticazione tra Studio o Studio Classic e il cluster Amazon EMR. In questi modelli di esempio, lo CloudFormation stack principale passa i parametri SageMaker AI VPC, gruppo di sicurezza e sottorete al modello di cluster Amazon EMR.  
L'archivio [sagemaker-studio-emr/cloudformation/emr\$1servicecatalog\$1templates](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/emr_servicecatalog_templates) contiene diversi modelli di avvio di Amazon EMR di esempio, incluse opzioni per distribuzioni con account singolo e tra account. CloudFormation   
Per informazioni sui metodi di autenticazione che puoi utilizzare per connetterti a un cluster Amazon EMR, consulta [Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic](connect-emr-clusters.md).

Per consentire ai data scientist di scoprire i CloudFormation modelli di Amazon EMR e il provisioning dei cluster da Studio o Studio Classic, segui questi passaggi.

## Fase 0: verifica la rete e prepara lo stack CloudFormation
<a name="studio-set-up-emr-prereq"></a>

Prima di iniziare:
+ Assicurati di aver esaminato i requisiti di rete e sicurezza in [Configurazione dell’accesso di rete per il cluster Amazon EMR](studio-notebooks-emr-networking.md).
+ È necessario disporre di uno end-to-end CloudFormation stack esistente che supporti il metodo di autenticazione desiderato. Puoi trovare esempi di tali CloudFormation modelli nel repository [sagemaker-studio-emr GitHub aws-samples/](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started). I passaggi seguenti evidenziano le configurazioni specifiche del tuo end-to-end stack per consentire l'uso dei modelli Amazon EMR all'interno di Studio o Studio Classic. 

## Fase 1: Associa il tuo portafoglio Service Catalog all' SageMaker IA
<a name="studio-set-up-emr-service-catalog-portfolio"></a>

**Nel tuo portafoglio Service Catalog**, associa l'ID del tuo portafoglio al ruolo di esecuzione SageMaker AI che accede al tuo cluster.

Per farlo, aggiungi la sezione seguente (qui in formato YAML) al tuo stack. Ciò garantisce al ruolo di esecuzione SageMaker AI l'accesso al portafoglio Service Catalog specificato contenente prodotti come i modelli Amazon EMR. Consente ai ruoli assunti dall' SageMaker intelligenza artificiale di lanciare tali prodotti.

 Sostituisci *SageMakerExecutionRole.Arn* e *SageMakerStudioEMRProductPortfolio.ID* con i loro valori effettivi.

```
SageMakerStudioEMRProductPortfolioPrincipalAssociation:
    Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation
    Properties:
      PrincipalARN: SageMakerExecutionRole.Arn
      PortfolioId: SageMakerStudioEMRProductPortfolio.ID
      PrincipalType: IAM
```

Per dettagli sul set di autorizzazioni IAM richiesto, consulta la sezione sulle [autorizzazioni](#studio-emr-permissions).

## Fase 2. Fai riferimento a un modello Amazon EMR in un prodotto del Catalogo dei servizi
<a name="studio-set-up-emr-service-catalog-product"></a>

**In un prodotto del Catalogo dei servizi del tuo portfolio**, fai riferimento a una risorsa del modello Amazon EMR e assicurane la visibilità in Studio o Studio Classic. 

Per farlo, fai riferimento alla risorsa del modello Amazon EMR nella definizione del prodotto del Catalogo dei servizi e aggiungi la chiave di tag `"sagemaker:studio-visibility:emr"` impostata sul valore `"true"` (vedi l’esempio in formato YAML).

Nella definizione del prodotto Service Catalog, il CloudFormation modello del cluster viene referenziato tramite URL. Il tag aggiuntivo impostato su true garantisce la visibilità dei modelli Amazon EMR in Studio o Studio Classic. 

**Nota**  
Il modello Amazon EMR a cui fa riferimento l’URL fornito nell’esempio non richiede alcun requisito di autenticazione al momento dell’avvio. Questa opzione viene fornita per scopi dimostrativi e di apprendimento. Non è consigliata in un ambiente di produzione.

```
SMStudioEMRNoAuthProduct:
    Type: AWS::ServiceCatalog::CloudFormationProduct
    Properties:
      Owner: AWS
      Name: SageMaker Studio Domain No Auth EMR
      ProvisioningArtifactParameters:
        - Name: SageMaker Studio Domain No Auth EMR
          Description: Provisions a SageMaker domain and No Auth EMR Cluster
          Info:
            LoadTemplateFromURL: Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
      Tags:
        - Key: "sagemaker:studio-visibility:emr"
          Value: "true"
```

## Fase 3: parametrizzazione del modello Amazon EMR CloudFormation
<a name="studio-set-up-emr-cfn-template"></a>

**Il CloudFormation modello utilizzato per definire il cluster Amazon EMR all'interno del prodotto Service Catalog** consente agli amministratori di specificare parametri configurabili. Gli amministratori possono definire i valori `Default` e gli intervalli `AllowedValues` per questi parametri all’interno della sezione `Parameters` del modello. Durante il processo di avvio del cluster, i Data Scientist possono fornire input personalizzati o selezionare determinate opzioni predefinite per personalizzare alcuni aspetti del cluster Amazon EMR.

L'esempio seguente illustra parametri di input aggiuntivi che gli amministratori possono impostare durante la creazione di un modello Amazon EMR.

```
"Parameters": {
    "EmrClusterName": {
      "Type": "String",
      "Description": "EMR cluster Name."
    },
    "MasterInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR master node.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge"
      ]
    },
    "CoreInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR core nodes.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge",
        "m3.medium",
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge"
      ]
    },
    "CoreInstanceCount": {
      "Type": "String",
      "Description": "Number of core instances in the EMR cluster.",
      "Default": "2",
      "AllowedValues": [
        "2",
        "5",
        "10"
      ]
    },
    "EmrReleaseVersion": {
      "Type": "String",
      "Description": "The release version of EMR to launch.",
      "Default": "emr-5.33.1",
      "AllowedValues": [
        "emr-5.33.1",
        "emr-6.4.0"
      ]
    }
  }
```

Dopo che gli amministratori hanno reso disponibili i modelli Amazon CloudFormation EMR all'interno di Studio, i data scientist possono utilizzarli per il provisioning autonomo dei cluster Amazon EMR. La sezione `Parameters` definita nel modello fornisce campi di input nel modulo di creazione del cluster all’interno di Studio o Studio Classic. Per ogni parametro, i Data Scientist possono inserire un valore personalizzato nella casella di input o selezionare una delle opzioni predefinite elencate in un menu a discesa, che corrisponde al valore `AllowedValues` specificato nel modello.

L'illustrazione seguente mostra il modulo dinamico assemblato da un modello CloudFormation Amazon EMR per creare un cluster Amazon EMR in Studio o Studio Classic.

![\[Illustrazione di un modulo dinamico assemblato da un modello CloudFormation Amazon EMR per creare un cluster Amazon EMR da Studio o Studio Classic.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)


Visita [Avvio di un cluster Amazon EMR da Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md) per scoprire come avviare un cluster da Studio o Studio Classic utilizzando questi modelli Amazon EMR.

## Fase 4. Configura le autorizzazioni per abilitare la pubblicazione e l’avvio di cluster Amazon EMR da Studio
<a name="studio-emr-permissions"></a>

Infine, collega le autorizzazioni IAM richieste per consentire la visualizzazione dei cluster Amazon EMR esistenti in esecuzione e il provisioning automatico di nuovi cluster da Studio o Studio Classic.

Il ruolo a cui è necessario aggiungere tali autorizzazioni varia a seconda che Studio o Studio Classic e Amazon EMR siano implementati nello stesso account (scegli *Account singolo*) o in account diversi (scegli *Multi-account*).

**Importante**  
Puoi scoprire e connetterti ai cluster Amazon EMR solo per JupyterLab le applicazioni Studio Classic lanciate da spazi privati. Assicurati che i cluster Amazon EMR si trovino nella stessa AWS regione del tuo ambiente Studio.

### Account singolo
<a name="studio-set-up-emr-permissions-singleaccount"></a>

Se i tuoi cluster Amazon EMR e Studio o Studio Classic sono distribuiti nello stesso AWS account, collega le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede al tuo cluster.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Ripeti la fase **Crea policy inline** per aggiungere un’altra policy che conceda al ruolo di esecuzione le autorizzazioni necessarie per allocare nuovi cluster Amazon EMR utilizzando i modelli CloudFormation . Per i dettagli sul documento relativo alla policy, consulta *Create Amazon EMRclusters policies* in[Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster Amazon EMR e Studio si trovano nello stesso account](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

### Multi-account
<a name="studio-set-up-emr-permissions-crossaccount"></a>

Prima di iniziare, recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Se i tuoi cluster Amazon EMR e Studio o Studio Classic sono distribuiti in AWS account separati, configuri le autorizzazioni su entrambi gli account.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

#### Sull’account del cluster Amazon EMR
<a name="studio-set-up-emr-permissions-crossaccount-emraccount"></a>

Segui questa procedura per creare i ruoli e le policy necessari sull’account su cui è implementato Amazon EMR, noto anche come *account che concede l’attendibilità*:

1. **Fase 1.** Recupera l’ARN del [ruolo di servizio del tuo cluster Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Per informazioni su come trovare l’ARN del ruolo di servizio di un cluster, consulta [Configurazione dei ruoli di servizio IAM per le autorizzazioni di Amazon EMR per i servizi e le risorse AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Fase 2**. Crea un ruolo IAM personalizzato denominato `AssumableRole` con la seguente configurazione:
   + Autorizzazioni: concedi le autorizzazioni necessarie a `AssumableRole` per consentire l’accesso alle risorse Amazon EMR. Questo ruolo è noto anche come *ruolo di accesso* in scenari che prevedono l’accesso multi-account.
   + Relazione di attendibilità: configura la policy di attendibilità per `AssumableRole` per consentire l’assunzione del ruolo di esecuzione (`SageMakerExecutionRole` nel diagramma multi-account) dall’account Studio che richiede l’accesso.

   Assumendo il ruolo, Studio o Studio Classic può ottenere l’accesso temporaneo alle autorizzazioni necessarie in Amazon EMR.

   Per istruzioni dettagliate su come crearne uno nuovo `AssumableRole` nel tuo AWS account Amazon EMR, segui questi passaggi:

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Nel riquadro di navigazione a sinistra, scegli **Policy**, quindi scegli **Crea policy**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Nel riquadro di navigazione a sinistra, scegli **Ruoli**, quindi **Crea ruolo**.

   1. Nella pagina **Crea ruolo**, scegli **Policy di attendibilità personalizzata** come entità attendibile.

   1. Incolla il documento JSON seguente nella sezione **Policy di attendibilità personalizzata**, quindi scegli **Avanti**.

------
#### [ For users of Studio and JupyterLab ]

      Sostituiscilo `studio-account` con l'ID dell'account Studio e `AmazonSageMaker-ExecutionRole` con il ruolo di esecuzione utilizzato dal tuo JupyterLab spazio.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------
#### [ For users of Studio Classic ]

      Sostituisci `studio-account` con l’ID dell’account Studio Classic.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:root"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------

   1. Nella pagina **Aggiungi autorizzazioni**, aggiungi l’autorizzazione appena creata, quindi scegli **Avanti**.

   1. Nella pagina **Verifica**, inserisci un nome per il ruolo, ad esempio `AssumableRole` e una descrizione facoltativa.

   1. Verifica i dettagli del ruolo e scegli **Create role (Crea ruolo)**.

   Per ulteriori informazioni sulla creazione di un ruolo su un account AWS , consulta [Creazione di un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

#### Sull’account Studio
<a name="studio-set-up-emr-permissions-crossaccount-studioaccount"></a>

Sull'account in cui è distribuito Studio, noto anche come *account affidabile*, aggiorna il ruolo di esecuzione SageMaker AI che accede ai cluster con le autorizzazioni necessarie per accedere alle risorse dell'account affidabile.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi la policy inline che concede al ruolo le autorizzazioni per aggiornare i domini, i profili utente e gli spazi. Per dettagli sul documento di policy, consulta *Policy relativa alle azioni di aggiornamento dello spazio, del profilo utente e del dominio* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Ripeti la fase **Crea policy inline** per aggiungere un’altra policy che conceda al ruolo di esecuzione le autorizzazioni necessarie per assumere `AssumableRole` e quindi eseguire le azioni consentite dalla policy di accesso del ruolo. Sostituisci `emr-account` con l’ID dell’account Amazon EMR e `AssumableRole` con il nome del ruolo assumibile creato nell’account Amazon EMR.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowRoleAssumptionForCrossAccountDiscovery",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": [
                      "arn:aws:iam::111122223333:role/AssumableRole"
                  ]
              }
          ]
      }
      ```

------

   1. Ripeti la fase **Crea policy inline** per aggiungere un’altra policy che conceda al ruolo di esecuzione le autorizzazioni necessarie per allocare nuovi cluster Amazon EMR utilizzando i modelli CloudFormation . Per i dettagli sul documento relativo alla policy, consulta *Create Amazon EMRclusters policies* in[Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. (Facoltativo) Per consentire la visualizzazione dei cluster Amazon EMR implementati nello stesso account di Studio, aggiungi un’altra policy inline al tuo ruolo di esecuzione di Studio, come definito in *Visualizzazione delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). 

1. **Fase 3**: Associa il/i tuo/i ruolo/i assumere/i (ruolo di accesso) al tuo dominio o profilo utente. JupyterLab gli utenti di Studio possono utilizzare la console SageMaker AI o lo script fornito.

    Scegli la scheda che corrisponde al tuo caso d’uso.

------
#### [ Associate your assumable roles in JupyterLab using the SageMaker AI console ]

   Per associare i ruoli da assumere al profilo utente o al dominio utilizzando la console SageMaker AI:

   1. Vai alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Nel riquadro di navigazione a sinistra, scegli **dominio**, quindi seleziona il dominio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni.

   1. 
      + Per aggiungere i tuoi ruoli da assumere (ruolo di accesso) al tuo dominio: nella scheda **Configurazioni app** della pagina dei **dettagli del dominio**, vai alla sezione. **JupyterLab**
      + Per aggiungere i tuoi ruoli assumibili (ruolo di accesso) al tuo profilo utente: nella pagina dei **dettagli del dominio**, scegli la scheda **Profili utente, seleziona il profilo utente** che utilizza il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni. Nella scheda **Configurazioni dell'app**, vai alla sezione. **JupyterLab**

   1. Scegli **Modifica** e aggiungi il tuo ruolo assumibile (ruolo ARNs di accesso).

   1. Seleziona **Invia**.

------
#### [ Associate your assumable roles in JupyterLab using a Python script ]

    In un' JupyterLab applicazione avviata da uno spazio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni, esegui il seguente comando in un terminale. Sostituisci `domainID`, `user-profile-name`, `emr-accountID` e `AssumableRole` (`EMRServiceRole` per i [ruoli di runtime RBAC]()) con i valori corretti. Questo frammento di codice aggiorna le impostazioni del profilo utente per uno specifico profilo utente (uso`client.update_userprofile`) o impostazioni di dominio (uso`client.update_domain`) all'interno di un SageMaker dominio AI. In particolare, consente all' JupyterLab applicazione di assumere un ruolo IAM particolare (`AssumableRole`) per l'esecuzione di cluster Amazon EMR all'interno dell'account Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_userprofile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
               'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                                "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
           }
           
       }
   })
   resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------
#### [ For users of Studio Classic ]

   Fornisci l’ARN di `AssumableRole` al ruolo di esecuzione Studio Classic. L’ARN viene caricato dal server Jupyter all’avvio. Il ruolo di esecuzione utilizzato da Studio presuppone che questo ruolo multi-account rilevi e connetta i cluster Amazon EMR nell’*account che concede l’attendibilità*.

   Puoi specificare queste informazioni utilizzando gli script di configurazione del ciclo di vita (LCC). Puoi collegare lo script LCC al tuo dominio o a un profilo utente specifico. Lo script LCC che usi deve essere una configurazione. JupyterServer Per ulteriori informazioni su come creare uno script LCC, consulta [Utilizzo delle configurazioni del ciclo di vita con Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   Di seguito è riportato un esempio di script LCC. Per modificare lo script, sostituisci `AssumableRole` e `emr-account` con i rispettivi valori. Il limite al numero di account è cinque.

   ```
   # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account.
   
   #!/bin/bash
   
   set -eux
   
   FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
   FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
   FILE="$FILE_DIRECTORY/$FILE_NAME"
   
   mkdir -p $FILE_DIRECTORY
   
   cat > "$FILE" <<- "EOF"
   {
     emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole",
     emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole"
   }
   EOF
   ```

    Dopo l'esecuzione dell'LCC e la scrittura dei file, il server legge il file `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` e archivia l'ARN multi-account.

------

# Configurazione della visualizzazione dei cluster Amazon EMR
<a name="studio-notebooks-configure-discoverability-emr-cluster"></a>

Gli amministratori possono configurare le autorizzazioni per il ruolo di esecuzione di SageMaker Studio per concedere agli utenti la possibilità di visualizzare l'elenco dei cluster Amazon EMR a cui hanno accesso, permettendo loro di connettersi a questi cluster. *I cluster a cui desideri accedere possono essere distribuiti nello stesso AWS account di Studio (scegli Account *singolo) o in account separati (scegli Account* multiplo).* La pagina seguente descrive come concedere le autorizzazioni per la visualizzazione dei cluster Amazon EMR da Studio o Studio Classic.

**Importante**  
Puoi scoprire e connetterti ai cluster Amazon EMR solo per JupyterLab le applicazioni Studio Classic lanciate da spazi privati. Assicurati che i cluster Amazon EMR si trovino nella stessa AWS regione del tuo ambiente Studio.

Per consentire ai data scientist di scoprire e connettersi ad Amazon EMRclusters da Studio o Studio Classic, segui questi passaggi.

## Account singolo
<a name="studio-set-up-emr-permissions-singleaccount-list-clusters"></a>

Se i tuoi cluster Amazon EMR e Studio o Studio Classic sono distribuiti nello stesso AWS account, collega le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede al tuo cluster.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster Amazon EMR e Studio si trovano nello stesso account](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

## Multi-account
<a name="studio-set-up-emr-permissions-crossaccount-list-clusters"></a>

Prima di iniziare, recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Se i cluster Amazon EMR e Studio o Studio Classic sono implementati in account AWS separati, configura le autorizzazioni su entrambi gli account.

**Nota**  
Gli utenti della connettività RBAC (controllo degli accessi basato su ruoli) ai cluster Amazon EMR devono consultare anche [Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

**Sull’account del cluster Amazon EMR**

Segui questa procedura per creare i ruoli e le policy necessari sull’account su cui è implementato Amazon EMR, noto anche come *account che concede l’attendibilità*:

1. **Fase 1.** Recupera l’ARN del [ruolo di servizio del tuo cluster Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Per informazioni su come trovare l’ARN del ruolo di servizio di un cluster, consulta [Configurazione dei ruoli di servizio IAM per le autorizzazioni di Amazon EMR per i servizi e le risorse AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Fase 2**. Crea un ruolo IAM personalizzato denominato `AssumableRole` con la seguente configurazione:
   + Autorizzazioni: concedi le autorizzazioni necessarie a `AssumableRole` per consentire l’accesso alle risorse Amazon EMR. Questo ruolo è noto anche come *ruolo di accesso* in scenari che prevedono l’accesso multi-account.
   + Relazione di attendibilità: configura la policy di attendibilità per `AssumableRole` per consentire l’assunzione del ruolo di esecuzione (`SageMakerExecutionRole` nel diagramma multi-account) dall’account Studio che richiede l’accesso.

   Assumendo il ruolo, Studio o Studio Classic può ottenere l’accesso temporaneo alle autorizzazioni necessarie in Amazon EMR.

   Per istruzioni dettagliate su come crearne uno nuovo `AssumableRole` nel tuo AWS account Amazon EMR, segui questi passaggi:

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Nel riquadro di navigazione a sinistra, scegli **Policy**, quindi scegli **Crea policy**.

   1. Nella scheda **JSON**, aggiungi le autorizzazioni Amazon EMR che consentono l’accesso e le operazioni di Amazon EMR. Per dettagli sul documento di policy, consulta *Elenco delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Nel riquadro di navigazione a sinistra, scegli **Ruoli**, quindi **Crea ruolo**.

   1. Nella pagina **Crea ruolo**, scegli **Policy di attendibilità personalizzata** come entità attendibile.

   1. Incolla il documento JSON seguente nella sezione **Policy di attendibilità personalizzata**, quindi scegli **Avanti**.

------
#### [ For users of Studio and JupyterLab ]

      Sostituiscilo `studio-account` con l'ID dell'account Studio e `AmazonSageMaker-ExecutionRole` con il ruolo di esecuzione utilizzato dal tuo JupyterLab spazio.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------
#### [ For users of Studio Classic ]

      Sostituisci `studio-account` con l’ID dell’account Studio Classic.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:root"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------

   1. Nella pagina **Aggiungi autorizzazioni**, aggiungi l’autorizzazione appena creata, quindi scegli **Avanti**.

   1. Nella pagina **Verifica**, inserisci un nome per il ruolo, ad esempio `AssumableRole` e una descrizione facoltativa.

   1. Verifica i dettagli del ruolo e scegli **Create role (Crea ruolo)**.

   Per ulteriori informazioni sulla creazione di un ruolo su un AWS account, consulta [Creazione di un ruolo IAM (console)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

**Sull’account Studio**

Sull'account in cui è distribuito Studio, noto anche come *account affidabile*, aggiorna il ruolo di esecuzione SageMaker AI che accede ai cluster con le autorizzazioni necessarie per accedere alle risorse dell'account affidabile.

1. **Passaggio 1**: recupera l'ARN del ruolo di esecuzione SageMaker dell'IA utilizzato dal tuo spazio privato.

   Per informazioni sugli spazi e sui ruoli di esecuzione nell' SageMaker intelligenza artificiale, consulta. [Informazioni sulle autorizzazioni e sui ruoli di esecuzione dello spazio del dominio](execution-roles-and-spaces.md)

   Per ulteriori informazioni su come recuperare l'ARN del ruolo di esecuzione SageMaker dell'IA, vedere. [Acquisizione del ruolo di esecuzione](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Passaggio 2**: assegna le seguenti autorizzazioni al ruolo di esecuzione SageMaker AI che accede ai tuoi cluster Amazon EMR.

   1. Passare alla [IAM console](https://console.aws.amazon.com/iam) (Console IAM).

   1. Scegli **Ruoli**, quindi cerca il tuo ruolo di esecuzione per nome nel campo di **ricerca**. Il nome del ruolo è l’ultima parte dell’ARN, dopo l’ultima barra (/). 

   1. Segui il link per il tuo ruolo.

   1. Scegli **Aggiungi autorizzazioni**, quindi seleziona **Crea policy inline**.

   1. Nella scheda **JSON**, aggiungi la policy inline che concede al ruolo le autorizzazioni per aggiornare i domini, i profili utente e gli spazi. Per dettagli sul documento di policy, consulta *Policy relativa alle azioni di aggiornamento dello spazio, del profilo utente e del dominio* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). Sostituisci `region` e `accountID` con i relativi valori effettivi prima di copiare l’elenco delle istruzioni nella policy inline del tuo ruolo.

   1. Scegli **Avanti**, quindi assegna un **nome alla policy**.

   1. Scegli **Crea policy**.

   1. Ripeti la fase **Crea policy inline** per aggiungere un’altra policy che conceda al ruolo di esecuzione le autorizzazioni necessarie per assumere `AssumableRole` e quindi eseguire le azioni consentite dalla policy di accesso del ruolo. Sostituisci `emr-account` con l’ID dell’account Amazon EMR e `AssumableRole` con il nome del ruolo assumibile creato nell’account Amazon EMR.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowRoleAssumptionForCrossAccountDiscovery",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": [
                      "arn:aws:iam::111122223333:role/AssumableRole"
                  ]
              }
          ]
      }
      ```

------

   1. (Facoltativo) Per consentire la visualizzazione dei cluster Amazon EMR implementati nello stesso account di Studio, aggiungi un’altra policy inline al tuo ruolo di esecuzione di Studio, come definito in *Visualizzazione delle policy di Amazon EMR* in [Policy di riferimento](studio-set-up-emr-permissions-reference.md). 

1. **Passaggio 3**: associa i tuoi ruoli assumibili (ruolo di accesso) al tuo dominio o profilo utente. JupyterLabgli utenti di Studio possono utilizzare la console SageMaker AI o lo script fornito.

    Scegli la scheda che corrisponde al tuo caso d’uso.

------
#### [ Associate your assumable roles in JupyterLab using the SageMaker AI console ]

   Per associare i ruoli da assumere al profilo utente o al dominio utilizzando la console SageMaker AI:

   1. Vai alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Nel riquadro di navigazione a sinistra, scegli **dominio**, quindi seleziona il dominio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni.

   1. 
      + Per aggiungere i tuoi ruoli da assumere (ruolo di accesso) al tuo dominio: nella scheda **Configurazioni app** della pagina dei **dettagli del dominio**, vai alla sezione. **JupyterLab**
      + Per aggiungere i tuoi ruoli assumibili (ruolo di accesso) al tuo profilo utente: nella pagina dei **dettagli del dominio**, scegli la scheda **Profili utente, seleziona il profilo utente** che utilizza il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni. Nella scheda **Configurazioni dell'app**, vai alla sezione. **JupyterLab**

   1. Scegli **Modifica** e aggiungi il tuo ruolo assumibile (ruolo ARNs di accesso).

   1. Seleziona **Invia**.

------
#### [ Associate your assumable roles in JupyterLab using a Python script ]

    In un' JupyterLab applicazione avviata da uno spazio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni, esegui il seguente comando in un terminale. Sostituisci `domainID`, `user-profile-name`, `emr-accountID` e `AssumableRole` (`EMRServiceRole` per i [ruoli di runtime RBAC]()) con i valori corretti. Questo frammento di codice aggiorna le impostazioni del profilo utente per uno specifico profilo utente (uso`client.update_userprofile`) o impostazioni di dominio (uso`client.update_domain`) all'interno di un SageMaker dominio AI. In particolare, consente all' JupyterLabapplicazione di assumere un ruolo IAM particolare (`AssumableRole`) per l'esecuzione di cluster Amazon EMR all'interno dell'account Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_userprofile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
               'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                                "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
           }
           
       }
   })
   resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------
#### [ For users of Studio Classic ]

   Fornisci l’ARN di `AssumableRole` al ruolo di esecuzione Studio Classic. L’ARN viene caricato dal server Jupyter all’avvio. Il ruolo di esecuzione utilizzato da Studio presuppone che questo ruolo multi-account rilevi e connetta i cluster Amazon EMR nell’*account che concede l’attendibilità*.

   Puoi specificare queste informazioni utilizzando gli script di configurazione del ciclo di vita (LCC). Puoi collegare lo script LCC al tuo dominio o a un profilo utente specifico. Lo script LCC che usi deve essere una configurazione. JupyterServer Per ulteriori informazioni su come creare uno script LCC, consulta [Utilizzo delle configurazioni del ciclo di vita con Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   Di seguito è riportato un esempio di script LCC. Per modificare lo script, sostituisci `AssumableRole` e `emr-account` con i rispettivi valori. Il limite al numero di account è cinque.

   ```
   # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account.
   
   #!/bin/bash
   
   set -eux
   
   FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
   FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
   FILE="$FILE_DIRECTORY/$FILE_NAME"
   
   mkdir -p $FILE_DIRECTORY
   
   cat > "$FILE" <<- "EOF"
   {
     emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole",
     emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole"
   }
   EOF
   ```

    Dopo l'esecuzione dell'LCC e la scrittura dei file, il server legge il file `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` e archivia l'ARN multi-account.

------

Consulta [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md) per scoprire come rilevare e connetterti ai cluster Amazon EMR dai notebook Studio o Studio Classic.

# Configurazione dei ruoli di runtime IAM per l’accesso al cluster Amazon EMR in Studio
<a name="studio-notebooks-emr-cluster-rbac"></a>

Quando ti connetti a un cluster Amazon EMR dai notebook Studio o Studio Classic, puoi visualizzare un elenco di ruoli IAM, noti come ruoli di runtime, e selezionarne rapidamente uno. Successivamente, tutti i processi Apache Spark, Apache Hive o Presto creati dal notebook avranno accesso solo ai dati e alle risorse consentiti dalle policy collegate al ruolo di runtime. Inoltre, quando si accede ai dati dai data lake gestiti con AWS Lake Formation, è possibile imporre l'accesso a livello di tabella e colonna utilizzando le policy associate al ruolo di runtime.

Grazie a questa funzionalità, tu e i tuoi colleghi potete connettervi allo stesso cluster, utilizzando ciascuno un ruolo di runtime con autorizzazioni corrispondenti al livello individuale di accesso ai dati. Le sessioni sono inoltre isolate l'una dall'altra nel cluster condiviso. 

Per provare questa funzionalità con Studio Classic, consulta [Applica controlli granulari di accesso ai dati con AWS Lake Formation Amazon EMR di](https://aws.amazon.com/blogs/machine-learning/apply-fine-grained-data-access-controls-with-aws-lake-formation-and-amazon-emr-from-amazon-sagemaker-studio/) Amazon Studio Classic. SageMaker Questo post del blog ti aiuta a configurare un ambiente demo in cui provare a utilizzare ruoli di runtime preconfigurati per connetterti ai cluster Amazon EMR.

## Prerequisiti
<a name="studio-notebooks-emr-cluster-rbac-prereq"></a>

Prima di iniziare, assicurati di soddisfare i seguenti requisiti preliminari:
+ Usa Amazon EMR versione 6.9 o successiva.
+ **Per gli utenti di Studio Classic**: utilizza la JupyterLab versione 3 nella configurazione dell'applicazione del server Studio Classic Jupyter. Questa versione supporta la connessione di Studio Classic ai cluster Amazon EMR tramite ruoli di runtime.

  **Per gli utenti di Studio**: utilizzate una versione `1.10` con [immagine SageMaker di distribuzione](sagemaker-distribution.md) o superiore.
+ Consenti l’utilizzo dei ruoli di runtime nella configurazione di sicurezza del cluster. Per ulteriori informazioni, consulta [Ruoli di runtime per le fasi di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html).
+ Crea un notebook con uno qualsiasi dei kernel elencati in [Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels).
+ Assicurati di leggere le istruzioni contenute in [Configurare Studio per utilizzare i ruoli IAM in fase di esecuzione](#studio-notebooks-emr-cluster-iam) per configurare i ruoli di runtime.

## Scenari di connessione multi-account
<a name="studio-notebooks-emr-cluster-rbac-scen"></a>

L'autenticazione con ruolo di runtime supporta una varietà di scenari di connessione tra account quando i dati risiedono all'esterno dell'account Studio. L’immagine seguente mostra tre modi diversi per assegnare il cluster Amazon EMR, i dati e persino il ruolo di esecuzione di runtime Amazon EMR agli account Studio e dati: 

![\[Scenari tra account supportati dall'autenticazione dei ruoli IAM in fase di esecuzione.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/studio-emr-rbac-scenarios.png)


Nell’opzione 1, il cluster Amazon EMR e il ruolo di esecuzione di runtime di Amazon EMR si trovano in un account dati separato rispetto all’account Studio. Definisci una policy di autorizzazione separata del ruolo di accesso (anche noto come `Assumable role`) Amazon EMR che concede l’autorizzazione al tuo ruolo di esecuzione di Studio o Studio Classic per assumere il ruolo di accesso di Amazon EMR. Il ruolo di accesso di Amazon EMR chiama quindi l’API Amazon EMR `GetClusterSessionCredentials` per conto del tuo ruolo di esecuzione di Studio o Studio Classic, consentendoti di accedere al cluster.

Nell’opzione 2, il cluster Amazon EMR e il ruolo di esecuzione di runtime di Amazon EMR si trovano nel tuo account Studio. Il tuo ruolo di esecuzione di Studio è autorizzato a utilizzare l'API Amazon EMR `GetClusterSessionCredentials` per accedere al tuo cluster. Per accedere al bucket Amazon S3, concedi al ruolo di esecuzione di runtime di Amazon EMR le autorizzazioni di accesso al bucket Amazon S3 multi-account: concedi queste autorizzazioni nell’ambito della tua policy di bucket Amazon S3.

Nell’opzione 3, i cluster Amazon EMR si trovano nel tuo account Studio e il ruolo di esecuzione di runtime di Amazon EMR è nell’account dati. Il tuo ruolo di esecuzione di Studio o Studio Classic è autorizzato a utilizzare l’API Amazon EMR `GetClusterSessionCredentials` per accedere al cluster. Aggiungi il ruolo di esecuzione di runtime di Amazon EMR nel file JSON di configurazione del ruolo di esecuzione. Quindi puoi selezionare il ruolo nell'interfaccia utente quando scegli il cluster. Per informazioni dettagliate su come configurare il file JSON di configurazione del ruolo di esecuzione, consulta [Precaricamento dei ruoli di esecuzione in Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

## Configurare Studio per utilizzare i ruoli IAM in fase di esecuzione
<a name="studio-notebooks-emr-cluster-iam"></a>

Per stabilire l'autenticazione dei ruoli di runtime per i tuoi cluster Amazon EMR, configura le policy IAM, i miglioramenti della rete e dell'usabilità richiesti. La configurazione varia a seconda che tu debba gestire o meno ambienti multi-account, ad esempio nel caso in cui i cluster Amazon EMR, il ruolo di esecuzione di runtime di Amazon EMR o entrambi risiedano al di fuori del tuo account Studio. La sezione seguente illustra le policy da installare, la configurazione della rete per consentire il traffico multi-account e il file di configurazione locale da configurare per automatizzare la connessione Amazon EMR.

### Configura l'autenticazione del ruolo di runtime quando il cluster Amazon EMR e Studio si trovano nello stesso account
<a name="studio-notebooks-emr-cluster-iam-same"></a>

Se il cluster Amazon EMR risiede nel tuo account Studio, completa la procedura seguente per aggiungere le autorizzazioni necessarie alla policy di esecuzione di Studio:

1. Aggiungi la policy IAM richiesta per connetterti ai cluster Amazon EMR. Per informazioni dettagliate, vedi [Configurazione della visualizzazione dei cluster Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md).

1. Concedi l’autorizzazione per chiamare l’API Amazon EMR `GetClusterSessionCredentials` quando passi uno o più dei ruoli di esecuzione di runtime Amazon EMR consentiti specificati nella policy.

1. (Facoltativo) Concedi l'autorizzazione a passare ruoli IAM che seguono qualsiasi convenzione di denominazione definita dall'utente.

1. (Facoltativo) Concedi l'autorizzazione per accedere ai cluster Amazon EMR etichettati con stringhe specifiche definite dall'utente.

1. Precarica i ruoli IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al tuo cluster Amazon EMR. Per ulteriori informazioni su come precaricare i ruoli IAM, consulta [Precaricamento dei ruoli di esecuzione in Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

La policy seguente di esempio consente ai ruoli di esecuzione di runtime Amazon EMR appartenenti ai gruppi di modellazione e addestramento di chiamare `GetClusterSessionCredentials`. Inoltre, l'assicurato può accedere ai cluster Amazon EMR contrassegnati con le stringhe `modeling` o `training`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "elasticmapreduce:GetClusterSessionCredentials",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "elasticmapreduce:ExecutionRoleArn": [
                        "arn:aws:iam::111122223333:role/emr-execution-role-ml-modeling*",
                        "arn:aws:iam::111122223333:role/emr-execution-role-ml-training*"
			]},
		"StringLike":{
                    "elasticmapreduce:ResourceTag/group": [
                        "*modeling*",
                        "*training*"
                    ]
                }
            }
        }
    ]
}
```

------

### Configura l'autenticazione del ruolo di runtime quando il cluster e Studio si trovano in account diversi
<a name="studio-notebooks-emr-cluster-iam-diff"></a>

Se il tuo cluster Amazon EMR non è nel tuo account Studio, consenti al ruolo di esecuzione SageMaker AI di assumere il ruolo di accesso Amazon EMR tra account in modo da poterti connettere al cluster. Completa le fasi seguenti per eseguire la configurazione multi-account:

1. Crea la tua politica di autorizzazione del ruolo di esecuzione SageMaker AI in modo che il ruolo di esecuzione possa assumere il ruolo di accesso di Amazon EMR. Di seguito è riportato un esempio di policy:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowAssumeCrossAccountEMRAccessRole",
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": "arn:aws:iam::111122223333:role/emr-access-role-name"
           }
       ]
   }
   ```

------

1. Crea la policy di fiducia per specificare a IDs quali account Studio è affidato il ruolo di accesso di Amazon EMR. Di seguito è riportato un esempio di policy:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
           "Sid": "AllowCrossAccountSageMakerExecutionRoleToAssumeThisRole",
           "Effect": "Allow",
           "Principal": {
             "AWS": "arn:aws:iam::111122223333:role/studio_execution_role"
           },
           "Action": "sts:AssumeRole"
         }
       ]
   }
   ```

------

1. Crea la policy di autorizzazione del ruolo di accesso di Amazon EMR, che concede al ruolo di esecuzione di runtime di Amazon EMR le autorizzazioni necessarie per eseguire le attività previste sul cluster. Configura il ruolo di accesso di Amazon EMR per chiamare l’API `GetClusterSessionCredentials` con i ruoli di esecuzione di runtime di Amazon EMR specificati nella policy di autorizzazione del ruolo di accesso. Di seguito è riportato un esempio di policy:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCallingEmrGetClusterSessionCredentialsAPI",
               "Effect": "Allow",
               "Action": "elasticmapreduce:GetClusterSessionCredentials",
               "Resource": "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/cluster-id",
               "Condition": {
                   "StringLike": {
                       "elasticmapreduce:ExecutionRoleArn": [
                           "arn:aws:iam::111122223333:role/emr-execution-role-name"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Configura la rete tra account in modo che il traffico possa spostarsi avanti e indietro tra i tuoi account. Per una procedura guidata, consulta *Configurazione di [Configurazione dell’accesso di rete per il cluster Amazon EMR](studio-notebooks-emr-networking.md)*. Le fasi in questa sezione ti aiutano a completare le attività seguenti:

   1. Esegui il VPC in peering tra il tuo account Studio e il tuo account Amazon EMR per stabilire una connessione.

   1. Aggiungi manualmente i percorsi alle tabelle di routing delle sottoreti private in entrambi gli account. Questo consente la creazione e la connessione di cluster Amazon EMR dall’account Studio alla sottorete privata dell’account remoto.

   1. Configura il gruppo di sicurezza collegato al tuo dominio Studio per consentire il traffico in uscita e il gruppo di sicurezza del nodo primario Amazon EMR per consentire il traffico TCP in entrata dal gruppo di sicurezza dell'istanza Studio.

1. Precarica i ruoli di runtime IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al cluster Amazon EMR. Per ulteriori informazioni su come precaricare i ruoli IAM, consulta [Precaricamento dei ruoli di esecuzione in Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

### Configura l'accesso a Lake Formation
<a name="studio-notebooks-emr-cluster-iam-lf"></a>

Quando accedi ai dati dai data lake gestiti da AWS Lake Formation, puoi imporre l'accesso a livello di tabella e colonna utilizzando le policy associate al tuo ruolo di runtime. Per configurare l'autorizzazione per l'accesso a Lake Formation, consulta [Integrare Amazon EMR con AWS Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lake-formation.html).

### Precaricamento dei ruoli di esecuzione in Studio o Studio Classic
<a name="studio-notebooks-emr-cluster-iam-preload"></a>

Puoi precaricare i ruoli di runtime IAM in modo da poter selezionare il ruolo da utilizzare quando ti connetti al cluster Amazon EMR. Gli utenti di JupyterLab in Studio possono utilizzare la console SageMaker AI o lo script fornito.

------
#### [ Preload runtime roles in JupyterLab using the SageMaker AI console ]

Per associare i ruoli di runtime al profilo utente o al dominio utilizzando la console SageMaker AI:

1. Vai alla console SageMaker AI all'indirizzo [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Nel riquadro di navigazione a sinistra, scegli **dominio**, quindi seleziona il dominio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni.

1. 
   + Per aggiungere il runtime (e i ruoli di accesso per il caso d'uso tra più account) al dominio: nella scheda **Configurazioni app** della pagina dei **dettagli del dominio**, vai alla sezione. **JupyterLab**
   + Per aggiungere il runtime (e i ruoli di accesso per il caso d'uso tra più account) al tuo profilo utente: nella pagina dei **dettagli del dominio**, scegli la scheda **Profili utente**, seleziona il profilo utente che utilizza il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni. Nella scheda **Configurazioni dell'app**, vai alla sezione. **JupyterLab**

1. Scegli **Modifica** e aggiungi il tuo ruolo ARNs di accesso (ruolo assumibile) e i ruoli di esecuzione runtime EMR Serverless.

1. Seleziona **Invia**.

Alla successiva connessione a un server Amazon EMR, i ruoli di runtime dovrebbero apparire in un menu a discesa per la selezione.

------
#### [ Preload runtime roles in JupyterLab using a Python script ]

In un' JupyterLab applicazione avviata da uno spazio utilizzando il ruolo di esecuzione SageMaker AI di cui hai aggiornato le autorizzazioni, esegui il seguente comando in un terminale. Sostituisci `domainID`, `user-profile-name`, `emr-accountID` e `EMRServiceRole` con i valori corretti. Questo frammento di codice aggiorna le impostazioni di un profilo utente (`client.update_user_profile`) all'interno di un dominio SageMaker AI in un caso d'uso tra account. In particolare, imposta i ruoli di servizio per Amazon EMR. Consente inoltre all' JupyterLab applicazione di assumere un ruolo IAM particolare (`AssumableRole`o`AccessRole`) per l'esecuzione di Amazon EMR all'interno dell'account Amazon EMR.

In alternativa, utilizza `client.update_domain` per aggiornare le impostazioni del dominio se nel tuo spazio è impostato un ruolo di esecuzione a livello di dominio.

```
import botocore.session
import json
sess = botocore.session.get_session()
client = sess.create_client('sagemaker')

client.update_user_profile(
DomainId="domainID", 
UserProfileName="user-profile-name",
UserSettings={
    'JupyterLabAppSettings': {
        'EmrSettings': {
            'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
            'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                             "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
        }
        
    }
})
resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")

resp['CreationTime'] = str(resp['CreationTime'])
resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
print(json.dumps(resp, indent=2))
```

------
#### [ Preload runtime roles in Studio Classic ]

Fornisci l'ARN di `AccessRole` (`AssumableRole`) al tuo ruolo di esecuzione dell' SageMaker IA. L’ARN viene caricato dal server Jupyter all’avvio. Il ruolo di esecuzione utilizzato da Studio presuppone che questo ruolo multi-account rilevi e connetta i cluster Amazon EMR nell’*account che concede l’attendibilità*.

Puoi specificare queste informazioni utilizzando gli script di configurazione del ciclo di vita (LCC). Puoi collegare lo script LCC al tuo dominio o a un profilo utente specifico. Lo script LCC che utilizzate deve essere una JupyterServer configurazione. Per ulteriori informazioni su come creare uno script LCC, consulta [Utilizzo delle configurazioni del ciclo di vita con Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

Di seguito è riportato un esempio di script LCC. Per modificare lo script, sostituisci `AssumableRole` e `emr-account` con i rispettivi valori. Il limite al numero di account è cinque.

Il frammento seguente è un esempio di script bash LCC che puoi applicare se l’applicazione Studio Classic e il cluster si trovano nello stesso account:

```
#!/bin/bash

set -eux

FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE"
FILE_NAME="emr-configurations-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "emr-execution-role-arns":
    {
      "123456789012": [
          "arn:aws:iam::123456789012:role/emr-execution-role-1",
          "arn:aws:iam::123456789012:role/emr-execution-role-2"
      ]
    }
}
EOF
```

Se l’applicazione Studio Classic e i cluster si trovano in account diversi, specifica i ruoli di accesso Amazon EMR che possono utilizzare il cluster. *Nella seguente policy di esempio, *123456789012 è* l'ID dell'account del cluster Amazon EMR e *212121212121* e 434343434343 sono i ruoli di accesso Amazon EMR consentiti.* ARNs 

```
#!/bin/bash

set -eux

FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE"
FILE_NAME="emr-configurations-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "emr-execution-role-arns":
    {
      "123456789012": [
          "arn:aws:iam::212121212121:role/emr-execution-role-1",
          "arn:aws:iam::434343434343:role/emr-execution-role-2"
      ]
    }
}
EOF

# add your cross-account EMR access role
FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "123456789012": "arn:aws:iam::123456789012:role/cross-account-emr-access-role"
}
EOF
```

------

# Policy di riferimento
<a name="studio-set-up-emr-permissions-reference"></a>
+ **Elenca le policy di Amazon EMR**. Con questa policy puoi eseguire queste azioni:
  + `AllowPresignedUrl`consente URLs di generare dati prefirmati per accedere all'interfaccia utente di Spark dall'interno di Studio.
  + `AllowClusterDiscovery` e `AllowClusterDetailsDiscovery` consentono di elencare e descrivere i cluster Amazon EMR nella Regione e nell’account forniti.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AllowPresignedUrl",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:CreatePersistentAppUI",
                  "elasticmapreduce:DescribePersistentAppUI",
                  "elasticmapreduce:GetPersistentAppUIPresignedURL",
                  "elasticmapreduce:GetOnClusterAppUIPresignedURL"
              ],
              "Resource": [
                  "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/*"
              ]
          },
          {
              "Sid": "AllowClusterDetailsDiscovery",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:DescribeCluster",
                  "elasticmapreduce:ListInstances",
                  "elasticmapreduce:ListInstanceGroups",
                  "elasticmapreduce:DescribeSecurityConfiguration"
              ],
              "Resource": [
                  "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/*"
              ]
          },
          {
              "Sid": "AllowClusterDiscovery",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:ListClusters"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ **Crea policy dei cluster Amazon EMR**. Con questa policy puoi eseguire queste azioni:
  + `AllowEMRTemplateDiscovery` consente di cercare modelli Amazon EMR nel Catalogo dei servizi. Studio e Studio Classic la utilizzano per visualizzare i modelli disponibili.
  + `AllowSagemakerProjectManagement` consente la creazione di [Cos'è un progetto SageMaker AI?](sagemaker-projects-whatis.md). In Studio o Studio Classic, l'accesso a AWS Service Catalog è gestito tramite. [Cos'è un progetto SageMaker AI?](sagemaker-projects-whatis.md)

  La policy IAM definita nel file JSON fornito concede queste autorizzazioni. Sostituisci *region* e *accountID* con i valori effettivi della regione e dell'ID dell' AWS account prima di copiare l'elenco delle dichiarazioni nella politica in linea del tuo ruolo.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AllowEMRTemplateDiscovery",
              "Effect": "Allow",
              "Action": [
                  "servicecatalog:SearchProducts"
              ],
              "Resource": "*"
          },
          {
              "Sid": "AllowSagemakerProjectManagement",
              "Effect": "Allow",
              "Action": [
                  "sagemaker:CreateProject",
                  "sagemaker:DeleteProject"
              ],
              "Resource": "arn:aws:sagemaker:us-east-1:111122223333:project/*"
          }
      ]
  }
  ```

------
+ **Politica sulle azioni di aggiornamento del dominio, del profilo utente e dello spazio: la seguente politica concede le autorizzazioni** per aggiornare i domini SageMaker AI, i profili utente e gli spazi all'interno della regione e dell'account specificati. AWS 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "SageMakerUpdateResourcesPolicy",
              "Effect": "Allow",
              "Action": [
                  "sagemaker:UpdateDomain",
                  "sagemaker:UpdateUserprofile",
                  "sagemaker:UpdateSpace"
              ],
              "Resource": [
                  "arn:aws:sagemaker:us-east-1:111122223333:domain/*",
                  "arn:aws:sagemaker:us-east-1:111122223333:user-profile/*"
              ]
          }
      ]
  }
  ```

------

# Guida per l'utente
<a name="studio-emr-user-guide"></a>

Questa sezione illustra come Data Scientist e ingegneri dei dati possono avviare, rilevare, connettersi o terminare un cluster Amazon EMR da Studio o Studio Classic.

Prima che gli utenti possano elencare o avviare i cluster, gli amministratori devono configurare le impostazioni necessarie nell’ambiente Studio. Per informazioni su come gli amministratori possono configurare un ambiente Studio per consentire il provisioning automatico e la visualizzazione dei cluster Amazon EMR, consulta [Guida per l’amministratore](studio-emr-admin-guide.md).

**Topics**
+ [Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic](#studio-notebooks-emr-cluster-connect-kernels)
+ [Utilizza la tua immagine](#studio-notebooks-emr-byoi)
+ [Avvio di un cluster Amazon EMR da Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md)
+ [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md)
+ [Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic](connect-emr-clusters.md)
+ [Terminazione di un cluster Amazon EMR da Studio o Studio Classic](terminate-emr-clusters.md)
+ [Accesso all’interfaccia utente di Spark da Studio o Studio Classic](studio-notebooks-access-spark-ui.md)

## Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic
<a name="studio-notebooks-emr-cluster-connect-kernels"></a>

[Le immagini e i kernel seguenti vengono forniti con [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/)l' JupyterLab estensione che si connette a un cluster Spark (Amazon EMR) remoto tramite la [SparkMagic](https://github.com/jupyter-incubator/sparkmagic)libreria utilizzando Apache Livy.](https://livy.apache.org/)
+ **Per gli utenti di Studio:** SageMaker Distribution è un ambiente Docker per la scienza dei dati utilizzato come immagine predefinita delle istanze dei notebook. JupyterLab Tutte le versioni di [SageMaker AI Distribution sono preinstallate](https://github.com/aws/sagemaker-distribution)`sagemaker-studio-analytics-extension`.
+ **Per gli utenti di Studio Classic:** nelle immagini seguenti è preinstallato `sagemaker-studio-analytics-extension`.
  + DataScience — Kernel Python 3
  + DataScience 2.0 — Kernel Python 3
  + DataScience 3.0 — Kernel Python 3
  + SparkAnalytics 1.0 — SparkMagic e kernel PySpark 
  + SparkAnalytics 2.0 — SparkMagic e PySpark kernel
  + SparkMagic — SparkMagic e PySpark kernel
  + PyTorch 1.8 — Kernel Python 3
  + TensorFlow 2.6 — Kernel Python 3
  + TensorFlow 2.11 — Kernel Python 3

Per connetterti ai cluster Amazon EMR utilizzando un'altra immagine integrata o la tua immagine, segui le istruzioni riportate in [Utilizza la tua immagine](#studio-notebooks-emr-byoi).

## Utilizza la tua immagine
<a name="studio-notebooks-emr-byoi"></a>

Per portare la tua immagine in Studio o Studio Classic e consentire ai tuoi notebook di connettersi ai cluster Amazon EMR, installa la seguente estensione nel tuo kernel. [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/) Supporta il collegamento di notebook SageMaker Studio o Studio Classic ai cluster Spark (Amazon EMR) tramite la libreria. [SparkMagic](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-magics.html)

```
pip install sparkmagic
pip install sagemaker-studio-sparkmagic-lib
pip install sagemaker-studio-analytics-extension
```

Inoltre, per connetterti ad Amazon EMR con l'autenticazione di [Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html), è necessario installare il client kinit. Il comando per installare il client kinit può variare a seconda del sistema operativo. Per utilizzare un'immagine di Ubuntu (basata su Debian), usa il comando `apt-get install -y -qq krb5-user`.

[Per ulteriori informazioni su come portare la tua immagine in SageMaker Studio o Studio Classic, consulta Bring your own image. SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html)

# Avvio di un cluster Amazon EMR da Studio o Studio Classic
<a name="studio-notebooks-launch-emr-cluster-from-template"></a>

I data scientist e gli ingegneri dei dati possono effettuare il provisioning autonomo dei cluster Amazon EMR da Studio o Studio Classic CloudFormation utilizzando modelli configurati dai rispettivi amministratori. Prima che gli utenti possano avviare un cluster, gli amministratori devono configurare le impostazioni necessarie nell’ambiente Studio. Per informazioni su come gli amministratori possono configurare un ambiente Studio per consentire il provisioning automatico dei cluster Amazon EMR, consulta [Configurazione dei CloudFormation modelli Amazon EMR nel Service Catalog](studio-notebooks-set-up-emr-templates.md).

Per allocare un nuovo cluster Amazon EMR da Studio o Studio Classic:

1. Nel pannello a sinistra dell’interfaccia utente di Studio o Studio Classic, seleziona il nodo **Dati** nel menu di navigazione a sinistra. Vai a **Cluster Amazon EMR**. Si apre una pagina che elenca i cluster Amazon EMR a cui puoi accedere da Studio o Studio Classic.

1. Scegli il pulsante **Crea** nell’angolo in alto a destra. Si apre una nuova finestra modale che elenca i modelli di cluster disponibili.

1. Seleziona un modello di cluster scegliendo un nome di modello e selezionando **Avanti**.

1. Inserisci le informazioni del cluster, come il nome del cluster e qualsiasi parametro configurabile specifico impostato dall’amministratore, quindi seleziona **Crea cluster**. La creazione del cluster potrebbe richiedere un paio di minuti.  
![\[Modulo di creazione di un cluster Amazon EMR da Studio o Studio Classic.\]](http://docs.aws.amazon.com/it_it/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)

Una volta allocato il cluster, l’interfaccia utente di Studio o Studio Classic mostra il messaggio *Il cluster è stato creato correttamente*.

Per connettersi al proprio cluster, consulta [Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic](connect-emr-clusters.md)

# Elenco dei cluster Amazon EMR da Studio o Studio Classic
<a name="discover-emr-clusters"></a>

I Data Scientist e gli ingegneri dei dati possono rilevare e quindi connettersi ai cluster Amazon EMR da Studio. I cluster Amazon EMR possono trovarsi nello stesso AWS account di Studio o in un account diverso. AWS 

Prima che gli utenti possano elencare o connettersi ai cluster, gli amministratori devono configurare le impostazioni necessarie nell’ambiente Studio. Per informazioni su come gli amministratori possono configurare un ambiente Studio per consentire il rilevamento di cluster Amazon EMR in esecuzione, consulta [Guida per l’amministratore](studio-emr-admin-guide.md). Se il tuo amministratore ha [configurato il rilevamento dei cluster Amazon EMR in più account](studio-notebooks-configure-discoverability-emr-cluster.md), puoi visualizzare un elenco consolidato di cluster. L'elenco include i cluster dell' AWS account utilizzato da Studio e i cluster degli account remoti a cui è stato concesso l'accesso.

Per visualizzare l’elenco dei cluster Amazon EMR disponibili da Studio:

1. Nel menu di navigazione a sinistra dell’interfaccia utente di Studio, scorri verso il basso fino a **Cluster EMR**. Si apre una pagina che elenca i cluster Amazon EMR a cui puoi accedere.

   L’elenco mostra i cluster nelle seguenti fasi: **Bootstrap in corso**, **Avvio in corso**, **In esecuzione** e **In attesa**. Puoi limitare i cluster visualizzati in base al loro stato corrente utilizzando l’icona del filtro. 

1. Scegli uno specifico cluster **In esecuzione** a cui intendi connetterti, quindi fai riferimento a [Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic](connect-emr-clusters.md).

# Connect a un cluster Amazon EMR da SageMaker Studio o Studio Classic
<a name="connect-emr-clusters"></a>

I Data Scientist e gli ingegneri dei dati possono rilevare e quindi connettersi a un cluster Amazon EMR direttamente dall’interfaccia utente di Studio. Prima di iniziare, verifica di aver configurato le autorizzazioni necessarie come descritto nella sezione [Fase 4. Configura le autorizzazioni per abilitare la pubblicazione e l’avvio di cluster Amazon EMR da Studio](studio-notebooks-set-up-emr-templates.md#studio-emr-permissions). Queste autorizzazioni garantiscono a Studio la possibilità di creare, avviare, visualizzare, accedere e terminare i cluster.

Puoi connettere un cluster Amazon EMR a un nuovo JupyterLab notebook direttamente dall'interfaccia utente di Studio o scegliere di avviare la connessione in un notebook di un'applicazione in esecuzione. JupyterLab 

**Importante**  
Puoi scoprire e connetterti ai cluster Amazon EMR solo per JupyterLab le applicazioni Studio Classic lanciate da spazi privati. Assicurati che i cluster Amazon EMR si trovino nella stessa AWS regione del tuo ambiente Studio. Il tuo JupyterLab spazio deve utilizzare una versione dell'immagine SageMaker di distribuzione `1.10` o superiore.

## Connessione a un cluster Amazon EMR con l’interfaccia utente di Studio
<a name="connect-emr-clusters-ui-options"></a>

Per connetterti al cluster utilizzando l'interfaccia utente Studio o Studio Classic, puoi avviare una connessione dall'elenco dei cluster a cui si accede o da un notebook in SageMaker Studio o Studio Classic. [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md)

**Per connettere un cluster Amazon EMR a un nuovo JupyterLab notebook dall'interfaccia utente di Studio:**

1. Nel pannello a sinistra dell’interfaccia utente di Studio, seleziona il nodo **Dati** nel menu di navigazione a sinistra. Vai ad **Applicazioni e cluster Amazon EMR**. Si apre una pagina che elenca i cluster Amazon EMR a cui puoi accedere da Studio nella scheda **Cluster Amazon EMR**.
**Nota**  
Se tu o il tuo amministratore avete configurato le autorizzazioni per consentire l’accesso multi-account ai cluster Amazon EMR, viene visualizzato un elenco consolidato di cluster per tutti gli account a cui hai concesso l’accesso a Studio.

1. Seleziona un cluster Amazon EMR da connettere a un nuovo notebook, quindi scegli **Collega al notebook**. Si apre una finestra modale che mostra l'elenco dei tuoi JupyterLab spazi.

1. 
   + Seleziona lo spazio da cui desideri avviare un' JupyterLabapplicazione, quindi scegli **Apri notebook**. Questo avvia un' JupyterLab applicazione dallo spazio prescelto e apre un nuovo taccuino.
**Nota**  
Gli utenti di Studio Classic devono selezionare un’immagine e un kernel. Per un elenco delle immagini supportate, consulta [Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels) o fai riferimento a [Utilizza la tua immagine](studio-emr-user-guide.md#studio-notebooks-emr-byoi).
   + In alternativa, puoi creare un nuovo spazio privato scegliendo il pulsante **Crea nuovo spazio** nella parte superiore della finestra modale. Inserisci un nome per lo spazio, quindi scegli **Crea spazio e apri notebook**. Questo crea uno spazio privato con il tipo di istanza predefinito e l'immagine di SageMaker distribuzione più recente disponibile, avvia un' JupyterLabapplicazione e apre un nuovo notebook.

1. Se il cluster selezionato non utilizza Kerberos, LDAP o l’autenticazione con [ruolo di runtime](), Studio chiede di selezionare il tipo di credenziali. Scegli tra **Autenticazione di base HTTP** o **Nessuna credenziale**, quindi, se del caso, inserisci le tue credenziali.

   Se il cluster selezionato supporta i ruoli di runtime, scegli il nome del ruolo IAM che il tuo cluster Amazon EMR può assumere per l’esecuzione del processo. 
**Importante**  
Per connettere correttamente un JupyterLab notebook a un cluster Amazon EMR che supporta i ruoli di runtime, devi prima associare l'elenco dei ruoli di runtime al tuo dominio o profilo utente, come indicato in. [Configurazione dei ruoli di runtime IAM per l’accesso al cluster Amazon EMR in Studio](studio-notebooks-emr-cluster-rbac.md) Se non completi questa fase, non verrà stabilita la connessione. 

   Dopo averlo selezionato, un comando di connessione compila la prima cella del notebook e avvia la connessione con il cluster Amazon EMR.

   Una volta completata la connessione, un messaggio conferma la connessione e l'avvio dell'applicazione Spark.

**In alternativa, puoi connetterti a un cluster da un notebook JupyterLab o da Studio Classic.**

1. Scegli il pulsante **Cluster** nella parte superiore del notebook. Si apre una finestra modale che elenca i cluster Amazon EMR in stato `Running` a cui puoi accedere. Puoi visualizzare i cluster Amazon EMR `Running` nella scheda **Cluster Amazon EMR**.
**Nota**  
Per gli utenti di Studio Classic, **Cluster** è visibile solo quando si utilizza un kernel da [Immagini e kernel supportati per la connessione a un cluster Amazon EMR da Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels) o da [Utilizza la tua immagine](studio-emr-user-guide.md#studio-notebooks-emr-byoi). Se non riesci a visualizzare **Cluster** nella parte superiore del notebook, assicurati che l'amministratore abbia [configurato la rilevabilità dei cluster](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-configure-discoverability-emr-cluster.html) e passa a un kernel supportato.

1. Seleziona il cluster a cui connetterti, quindi scegli **Connessione**.

1. Se hai configurato i cluster Amazon EMR per supportare i [ruoli IAM di runtime](studio-notebooks-emr-cluster-rbac.md), puoi selezionare il ruolo dal menu a discesa **Ruolo di esecuzione di Amazon EMR**. 
**Importante**  
Per connettere correttamente un JupyterLab notebook a un cluster Amazon EMR che supporta i ruoli di runtime, devi prima associare l'elenco dei ruoli di runtime al tuo dominio o profilo utente, come indicato in. [Configurazione dei ruoli di runtime IAM per l’accesso al cluster Amazon EMR in Studio](studio-notebooks-emr-cluster-rbac.md) Se non completi questa fase, non verrà stabilita la connessione. 

   In alternativa, se il cluster selezionato non utilizza Kerberos, LDAP o l’autenticazione con ruolo di runtime, Studio o Studio Classic chiede di selezionare il tipo di credenziali. È possibile scegliere l'**autenticazione di base HTTP** o **Nessuna credenziale**.

1. Studio aggiunge e quindi esegue un blocco di codice su una cella attiva per stabilire la connessione. Questa cella contiene il comando magic di connessione per connettere il notebook all’applicazione in base al tipo di autenticazione.

   Una volta completata la connessione, un messaggio conferma la connessione e l'avvio dell'applicazione Spark.

## Connessione a un cluster Amazon EMR con un comando di connessione
<a name="connect-emr-clusters-manually"></a>

Per stabilire una connessione a un cluster Amazon EMR, puoi eseguire comandi di connessione all’interno di una cella notebook.

Quando stabilisci la connessione, puoi eseguire l’autenticazione con [Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html), [Lightweight Directory Access Protocol (LDAP)](https://docs.aws.amazon.com/) o il [ruolo IAM di runtime](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-cluster-rbac.html). Il metodo di autenticazione scelto dipende dalla configurazione del cluster. 

Puoi fare riferimento a questo esempio [Accesso ad Apache Livy utilizzando un Network Load Balancer su un cluster Amazon EMR abilitato per Kerberos](https://aws.amazon.com/blogs/big-data/access-apache-livy-using-a-network-load-balancer-on-a-kerberos-enabled-amazon-emr-cluster/) per configurare un cluster Amazon EMR che utilizza l’autenticazione Kerberos. [In alternativa, puoi esplorare i modelli di CloudFormation esempio che utilizzano l'autenticazione Kerberos o LDAP nel repository aws-samples/. sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub 

Se l'amministratore ha abilitato l'accesso tra account diversi, puoi connetterti al tuo cluster Amazon EMR da un notebook Studio Classic, indipendentemente dal fatto che l'applicazione Studio Classic e il cluster risiedano AWS nello stesso account o in account diversi.

Per ciascuno dei seguenti tipi di autenticazione, utilizza il comando specificato per connetterti manualmente al cluster dal tuo notebook Studio o Studio Classic.
+ **Kerberos**

  Aggiungi l'argomento `--assumable-role-arn` se hai bisogno di un accesso ad Amazon EMR multi-account. Aggiungi l'argomento `--verify-certificate` se ti connetti al cluster con HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Kerberos --language python 
  [--assumable-role-arn EMR_access_role_ARN ] 
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **LDAP**

  Aggiungi l'argomento `--assumable-role-arn` se hai bisogno di un accesso ad Amazon EMR multi-account. Aggiungi l'argomento `--verify-certificate` se ti connetti al cluster con HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Basic_Access --language python 
  [--assumable-role-arn EMR_access_role_ARN ]
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **NoAuth**

  Aggiungi l'argomento `--assumable-role-arn` se hai bisogno di un accesso ad Amazon EMR multi-account. Aggiungi l'argomento `--verify-certificate` se ti connetti al cluster con HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type None --language python
  [--assumable-role-arn EMR_access_role_ARN ]
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **Ruoli IAM di runtime**

  Aggiungi l'argomento `--assumable-role-arn` se hai bisogno di un accesso ad Amazon EMR multi-account. Aggiungi l'argomento `--verify-certificate` se ti connetti al cluster con HTTPS. 

  Per ulteriori informazioni sulla connessione a un cluster Amazon EMR utilizzando i ruoli IAM di runtime, consulta [Configurazione dei ruoli di runtime IAM per l’accesso al cluster Amazon EMR in Studio](studio-notebooks-emr-cluster-rbac.md).

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Basic_Access \
  --emr-execution-role-arn arn:aws:iam::studio_account_id:role/emr-execution-role-name
  [--assumable-role-arn EMR_access_role_ARN]
  [--verify-certificate /home/user/certificateKey.pem]
  ```

## Connettiti a un cluster Amazon EMR tramite HTTPS
<a name="connect-emr-clusters-ssl"></a>

Se hai configurato il cluster Amazon EMR con la crittografia di transito abilitata e il server Apache Livy per HTTPS e vuoi che Studio o Studio Classic comunichi con Amazon EMR tramite HTTPS, devi configurare Studio o Studio Classic per accedere alla chiave del certificato.

Per i certificati autofirmati o firmati dall'autorità di certificazione (CA) locale, puoi farlo in due fasi:

1. scarica il file PEM del certificato nel file system locale utilizzando una delle seguenti opzioni:
   + Funzione di caricamento file integrata in Jupyter.
   + Una cella del notebook.
   + (Solo per utenti di Studio Classic) Uno script di configurazione del ciclo di vita (LCC).

     Per informazioni su come utilizzare uno script LCC, consulta [Personalizzare un'istanza di Notebook utilizzando uno script di configurazione del ciclo di vita](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html)

1. Abilita la convalida del certificato fornendo il percorso al certificato nell'argomento `--verify-certificate` del comando di connessione.

   ```
   %sm_analytics emr connect --cluster-id cluster_id \
   --verify-certificate /home/user/certificateKey.pem ...
   ```

Per i certificati pubblici emessi da CA, imposta la convalida del certificato configurando il parametro `--verify-certificate` su `true`.

In alternativa, è possibile disabilitare la convalida del certificato impostando il parametro `--verify-certificate` su `false`.

Puoi trovare l'elenco dei comandi di connessione disponibili a un cluster Amazon EMR in [Connessione a un cluster Amazon EMR con un comando di connessione](#connect-emr-clusters-manually).

# Terminazione di un cluster Amazon EMR da Studio o Studio Classic
<a name="terminate-emr-clusters"></a>

La procedura seguente mostra come terminare un cluster Amazon EMR da un notebook Studio o Studio Classic.

**Per terminare un cluster in uno stato `Running`, vai all'elenco dei cluster Amazon EMR disponibili.**

1. Nell’interfaccia utente di Studio, scorri verso il basso fino al nodo **Dati** nel menu di navigazione a sinistra.

1. Vai al nodo **Cluster EMR**. Si apre una pagina che elenca i cluster Amazon EMR a cui puoi accedere.

1. Seleziona il nome del cluster da terminare, quindi scegli **Termina**.

1. Si apre una finestra di conferma che ti informa che eventuali lavori o dati in sospeso sul tuo cluster andranno persi definitivamente dopo averlo terminato. Conferma selezionando nuovamente **Termina**.

# Accesso all’interfaccia utente di Spark da Studio o Studio Classic
<a name="studio-notebooks-access-spark-ui"></a>

Le seguenti sezioni forniscono istruzioni per accedere all'interfaccia utente Spark dai notebook SageMaker AI Studio o Studio Classic. L’interfaccia utente di Spark ti consente di monitorare ed eseguire il debug dei processi Spark inviati per l’esecuzione su Amazon EMR dai notebook Studio o Studio Classic. Il tunneling SSH e il presigned URLs sono due modi per accedere all'interfaccia utente di Spark.

## Configura il tunneling SSH per l'accesso all'interfaccia utente di Spark
<a name="studio-notebooks-emr-ssh-tunneling"></a>

Per configurare il tunneling SSH per accedere all'interfaccia utente di Spark, segui una delle due opzioni in questa sezione.

Opzioni per configurare il tunneling SSH:
+ [Opzione 1: imposta un tunnel SSH sul nodo master utilizzando l'inoltro porta locale](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel-local.html)
+ [Opzione 2, parte 1: imposta un tunnel SSH sul nodo master utilizzando l'inoltro porta dinamico](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel.html)

  [Opzione 2, parte 2: configurare le impostazioni del proxy per visualizzare i siti Web ospitati nel nodo master](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-proxy.html)

Per ulteriori informazioni sulla visualizzazione delle interfacce web ospitate su Amazon EMR, consulta [Visualizzazione delle interfacce web ospitate sui cluster Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html). Puoi anche visitare la tua console Amazon EMR per accedere all'interfaccia utente di Spark.

**Nota**  
Puoi configurare un tunnel SSH anche se le impostazioni predefinite URLs non sono disponibili. 

## Prefirmato URLs
<a name="studio-notebooks-emr-spark-ui-presigned-urls"></a>

Per creare con un clic URLs che possa accedere all'interfaccia utente Spark su Amazon EMR dai notebook SageMaker Studio o Studio Classic, devi abilitare le seguenti autorizzazioni IAM. Scegli l'opzione che fa per te: 
+ **Per i cluster Amazon EMR che si trovano nello stesso account del notebook SageMaker Studio o Studio Classic: aggiungi le seguenti autorizzazioni al ruolo di esecuzione IAM di SageMaker Studio o Studio Classic.**
+ **Per i cluster Amazon EMR che si trovano in un account diverso (non un notebook SageMaker Studio o Studio Classic): aggiungi le seguenti autorizzazioni al ruolo tra account per cui hai creato. [Elenco dei cluster Amazon EMR da Studio o Studio Classic](discover-emr-clusters.md)**

**Nota**  
Puoi accedere a presigned URLs dalla console nelle seguenti regioni:  
Stati Uniti orientali (Virginia settentrionale)
Regione Stati Uniti occidentali (California settentrionale)
Regione Canada (Centrale)
Regione Europa (Francoforte)
Regione Europa (Stoccolma)
Regione Europa (Irlanda)
Regione Europa (Londra)
Regione Europa (Parigi)
Regione Asia Pacifico (Tokyo)
Regione Asia Pacifico (Seoul)
Asia Pacifico (Sydney)
Regione Asia Pacifico (Mumbai)
Regione Asia Pacifico (Singapore)
Sud America (San Paolo)

 La seguente politica consente di accedere a presigned URLs per il ruolo di esecuzione. 

```
{
        "Sid": "AllowPresignedUrl",
        "Effect": "Allow",
        "Action": [
            "elasticmapreduce:DescribeCluster",
            "elasticmapreduce:ListInstanceGroups",
            "elasticmapreduce:CreatePersistentAppUI",
            "elasticmapreduce:DescribePersistentAppUI",
            "elasticmapreduce:GetPersistentAppUIPresignedURL",
            "elasticmapreduce:GetOnClusterAppUIPresignedURL"
        ],
        "Resource": [
            "arn:aws:elasticmapreduce:region:account-id:cluster/*"
        ]
}
```

# Blog e whitepaper
<a name="studio-notebooks-emr-resources"></a>

I seguenti blog utilizzano un case study sulla previsione del sentiment per la recensione di un film per illustrare il processo di esecuzione di un flusso di lavoro completo di machine learning. Sono inclusi la preparazione dei dati, il monitoraggio dei processi Spark e l’addestramento e l’implementazione di un modello di ML per ottenere previsioni direttamente dal notebook Studio o Studio Classic.
+ [Crea e gestisci cluster Amazon EMR da SageMaker Studio o Studio Classic per eseguire carichi di lavoro Spark e ML interattivi](https://aws.amazon.com/blogs/machine-learning/part-1-create-and-manage-amazon-emr-clusters-from-sagemaker-studio-to-run-interactive-spark-and-ml-workloads/).
+ Per estendere il caso d'uso a una configurazione tra account in cui SageMaker Studio o Studio Classic e il tuo cluster Amazon EMR sono distribuiti in account AWS separati, [consulta Creare e gestire cluster Amazon EMR SageMaker da Studio o Studio Classic per eseguire carichi di lavoro Spark e ML interattivi -](https://aws.amazon.com/blogs/machine-learning/part-2-create-and-manage-amazon-emr-clusters-from-sagemaker-studio-to-run-interactive-spark-and-ml-workloads/) Parte 2.

Consulta anche: 
+ Una procedura guidata della configurazione di [Accesso ad Apache Livy utilizzando un Network Load Balancer su un cluster Amazon EMR abilitato a Kerberos](https://aws.amazon.com/blogs/big-data/access-apache-livy-using-a-network-load-balancer-on-a-kerberos-enabled-amazon-emr-cluster/).
+ AWS [white paper sulle best practice di Studio o Studio Classic. SageMaker ](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/sagemaker-studio-admin-best-practices.html)

# Risoluzione dei problemi
<a name="studio-notebooks-emr-troubleshooting"></a>

Quando lavori con cluster Amazon EMR dai notebook Studio o Studio Classic, potresti riscontrare problemi o difficoltà durante il processo di connessione o utilizzo. Per aiutarti a risolvere questi errori, la presente sezione fornisce indicazioni sui problemi più comuni che potrebbero insorgere. 

Di seguito sono elencati gli errori più comuni che potrebbero verificarsi durante la connessione o l’utilizzo di cluster Amazon EMR dai notebook Studio o Studio Classic.

## Risolvi i problemi relativi alle connessioni Livy che si bloccano o non funzionano
<a name="studio-notebooks-emr-troubleshooting.memoryerror"></a>

Di seguito sono elencati gli errori di connettività Livy che potrebbero verificarsi durante l’utilizzo di cluster Amazon EMR dai notebook Studio o Studio Classic.
+ **Il tuo cluster Amazon EMR ha riscontrato un out-of-memory errore.**

  Un possibile motivo per cui una connessione Livy si blocca o `sparkmagic` non funziona è se il cluster Amazon EMR ha riscontrato un errore. out-of-memory 

  Per impostazione predefinita, il parametro di configurazione del driver Apache Spark, `spark.driver.defaultJavaOptions`, è impostato su `-XX:OnOutOfMemoryError='kill -9 %p'`. Ciò significa che l'azione predefinita svolta quando il programma driver rileva un `OutOfMemoryError` consiste nel terminare il programma driver inviando un segnale SIGKILL. Quando il driver Apache Spark viene terminato, qualsiasi connessione Livy tramite `sparkmagic` che dipende da quel driver si blocca o fallisce. Ciò avviene perché il driver Spark è responsabile della gestione delle risorse dell'applicazione Spark, ivi comprese la pianificazione e l'esecuzione delle attività. Senza il driver, l'applicazione Spark non può funzionare e qualsiasi tentativo di interagire con essa fallisce.

  Se sospetti che il tuo cluster Spark abbia problemi di memoria, puoi controllare i [log di Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html). I contenitori interrotti a causa di out-of-memory errori in genere escono con un codice di. `137` In questi casi, è necessario riavviare l'applicazione Spark e stabilire una nuova connessione Livy per riprendere l'interazione con il cluster Spark.

  Puoi fare riferimento all'articolo della knowledge base [Come posso risolvere l'errore «Container ucciso da YARN per aver superato i limiti di memoria» in Spark su Amazon](https://repost.aws/knowledge-center/emr-spark-yarn-memory-limit) EMR? qui AWS re:Post per scoprire varie strategie e parametri che possono essere utilizzati per risolvere un problema. out-of-memory

  Ti consigliamo di consultare le [guide alle migliori pratiche di Amazon EMR](https://aws.github.io/aws-emr-best-practices/) per le migliori pratiche e gli orientamenti di ottimizzazione sull'esecuzione dei carichi di lavoro Apache Spark sui tuoi cluster Amazon EMR.
+ **La sessione Livy scade durante la prima connessione a un cluster Amazon EMR.**

  Quando ti connetti inizialmente a un cluster Amazon EMR utilizzando [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/), che consente la connessione a un cluster Spark (Amazon EMR) remoto tramite la [SparkMagic](https://github.com/jupyter-incubator/sparkmagic)libreria utilizzando [Apache Livy](https://livy.apache.org/), potresti riscontrare un errore di timeout della connessione:

  `An error was encountered: Session 0 did not start up in 60 seconds.`

  Se il tuo cluster Amazon EMR richiede l'inizializzazione di un'applicazione Spark al momento di stabilire una connessione, c'è una maggiore possibilità di riscontrare errori di timeout della connessione.

  Per ridurre le possibilità che si verifichino dei timeout durante la connessione a un cluster Amazon EMR, utilizza Livy tramite l'estensione di analisi, `sagemaker-studio-analytics-extension` versione `0.0.19` e successivamente sostituisci il timeout predefinito della sessione del server a `120` secondi anziché il valore di default di `sparkmagic` pari a `60` secondi.

  Consigliamo di aggiornare l'estensione `0.0.18` e prima eseguendo il seguente comando di upgrade.

  ```
  pip install --upgrade sagemaker-studio-analytics-extension
  ```

  Tieni presente che quando fornisci una configurazione di timeout personalizzata in `sparkmagic`, `sagemaker-studio-analytics-extension` rispetta questa sovrascrittura. Tuttavia, l'impostazione del timeout della sessione su `60` secondi attiva automaticamente il timeout della sessione del server predefinito pari a `120` secondi in `sagemaker-studio-analytics-extension`.