

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à.

# Configurazione delle sessioni interattive di AWS Glue per Jupyter e notebook AWS Glue Studio
<a name="interactive-sessions-magics"></a>

## Introduzione ai magic di Jupyter
<a name="w2aac29c18b3"></a>

 I magic di Jupyter sono comandi che possono essere eseguiti all'inizio di una cella o come un intero corpo di una cella. I magic di linea iniziano per `%`, i magic di cella per `%%`. I magic di linea come `%region` e `%connections` possono essere eseguiti con più magic in una cella o con codice incluso nel corpo della cella come nell'esempio seguente. 

```
%region us-east-2
%connections my_rds_connection
dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')
```

 I magic di cella devono utilizzare l'intera cella e possono avere il comando esteso su più righe. Un esempio di `%%sql` è riportato di seguito. 

```
%%sql
select * from rds_tables.sales_table
```

## Magic supportati dalle sessioni interattive di AWS Glue per Jupyter
<a name="interactive-sessions-supported-magics"></a><a name="interactive-sessions-magics2"></a>

 Di seguito sono elencati i magic che puoi utilizzare con le sessioni interattive AWS Glue per Jupyter Notebook. 

 **Sessioni Magic** 


| Name | Tipo | Description | 
| --- | --- | --- | 
|  %help  |  N/A  |  Restituisce un elenco di descrizioni e tipi di input per tutti i comandi magic.  | 
| %profile | Stringa | Specificate un profilo nella AWS configurazione da utilizzare come fornitore di credenziali. | 
| %region | Stringa |  Specificare il Regione AWS; in cui inizializzare una sessione. Impostazione predefinita da `~/.aws/configure.` Ad esempio: `%region us-west-1`  | 
| %idle\$1timeout | Int |   Il numero di minuti di inattività dopo i quali una sessione andrà in timeout in seguito all'esecuzione di una cella. Il valore predefinito del timeout di inattività per le sessioni Spark ETL è il timeout predefinito, pari a 2.880 minuti (48 ore). Per altri tipi di sessione, consulta la documentazione relativa al tipo di sessione specifico. Ad esempio: `%idle_timeout 3000`  | 
| %session\$1id | N/A | Restituisce l'ID della sessione in esecuzione.  | 
| %session\$1id\$1prefix | Stringa |   Definite una stringa che precederà tutte le sessioni IDs nel formato **[session\$1id\$1prefix] - [session\$1id**]. Se non viene fornito un ID di sessione, verrà generato un UUID casuale. Questo magic non è supportato quando esegui un notebook Jupyter in AWS Glue Studio.  Ad esempio: `%session_id_prefix 001`  | 
| %status |  | Restituisce lo stato dell'attuale sessione AWS Glue inclusi la durata, la configurazione e l'utente/ruolo che la esegue.  | 
| %stop\$1session  |  | Arresta la sessione corrente. | 
| %list\$1sessions |  | Elenca tutte le sessioni attualmente in esecuzione per nome e ID. | 
| %session\$1type | Stringa |  Imposta il tipo di sessione su Flussi di dati, ETL o Ray.  Ad esempio: `%session_type Streaming`  | 
| %glue\$1version | Stringa |  La versione di AWS Glue che questa sessione dovrà utilizzare.  Ad esempio: `%glue_version 3.0`  | 

 **Magic per la selezione dei tipi di processo** 


| Name | Tipo | Description | 
| --- | --- | --- | 
| %streaming | Stringa | Cambia il tipo di sessione in Streaming AWS Glue. | 
| %etl | Stringa | Cambia il tipo di sessione in ETL AWS Glue. | 
| %glue\$1ray | Stringa | Cambia AWS Glue il tipo di sessione in for Ray. Vedi [Magics supportato dalle sessioni interattive di AWS Glue Ray](https://docs.aws.amazon.com/glue/latest/dg/is-using-ray-configuration).  | 

 **Magic per la configurazione di AWS Glue per Spark** 

 Il magic `%%configure` è un dizionario formattato json composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali. 


| Name | Tipo | Description | 
| --- | --- | --- | 
|  %%configure  |  Dizionario  |   Specifica un dizionario formattato JSON composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali.   Per un elenco di parametri ed esempi su come utilizzare `%%configure`, consulta[argomenti del magic di cella %%configure](#interactive-sessions-magics-configure-arguments).   | 
| %iam\$1role | Stringa |   Specifica un ruolo IAM ARN con cui eseguire la sessione. Predefinito da \$1/.aws/configure.   Ad esempio: `%iam_role AWSGlueServiceRole`  | 
| %number\$1of\$1workers | Int |  Il numero di dipendenti di un specifico worker-type allocati quando viene eseguito un processo. Deve essere impostato anche `worker_type`. Il `number_of_workers` predefinito è 5. Ad esempio: `%number_of_workers 2`  | 
| %additional\$1python\$1modules | List |  Elenco separato da virgole di moduli Python aggiuntivi da includere nel cluster (possono provenire da PyPI o S3). Esempio: `%additional_python_modules pandas, numpy`.  | 
| %%tags | Stringa |   Aggiunge tag a una sessione. Specifica i tag tra parentesi graffe \$1 \$1. Ogni coppia di nomi di tag è racchiusa tra parentesi (" ") e separata da una virgola (,).  <pre>%%tags<br />{"billing":"Data-Platform", "team":"analytics"}<br />                      </pre> Utilizza il magic `%status` per visualizzare i tag associati alla sessione. <pre>%status</pre> <pre>Session ID: <sessionId><br /> Status: READY<br /> Role: <example-role><br /> CreatedOn: 2023-05-26 11:12:17.056000-07:00<br /> GlueVersion: 3.0<br /> Job Type: glueetl<br /> Tags: {'owner':'example-owner', 'team':'analytics', 'billing':'Data-Platform'}<br /> Worker Type: G.4X<br /> Number of Workers: 5<br /> Region: us-west-2<br /> Applying the following default arguments:<br /> --glue_kernel_version 0.38.0<br /> --enable-glue-datacatalog true<br /> Arguments Passed: ['--glue_kernel_version: 0.38.0', '--enable-glue-datacatalog: true']                <br />                </pre>  | 
| %%assume\$1role | Dizionario |  Specifica un dizionario in formato json o una stringa ARN del ruolo IAM per creare una sessione per l'accesso multi-account. Esempio con ARN: <pre>%%assume_role<br />{<br />  'arn:aws:iam::XXXXXXXXXXXX:role/AWSGlueServiceRole'<br />}<br />                </pre> Esempio con credenziali: <pre> %%assume_role<br />{{<br />    "aws_access_key_id" = "XXXXXXXXXXXX",<br />    "aws_secret_access_key" = "XXXXXXXXXXXX",<br />    "aws_session_token" = "XXXXXXXXXXXX"<br />}}</pre>  | 

### argomenti del magic di cella %%configure
<a name="interactive-sessions-magics-configure-arguments"></a>

 Il magic `%%configure` è un dizionario formattato json composto da tutti i parametri di configurazione per una sessione. Ciascun parametro può essere specificato qui o tramite magic individuali. Di seguito sono riportati alcuni esempi di argomenti supportati dal magic di cella `%%configure`. Utilizza il prefisso `--` per gli argomenti di esecuzione specificati per il lavoro. Esempio: 

```
%%configure
{
   "--user-jars-first": "true",
   "--enable-glue-datacatalog": "false"
}
```

 Per ulteriori informazioni sui parametri del lavoro, consulta [Parametri Job](aws-glue-programming-etl-glue-arguments.md). 

**Configurazione della sessione**


| Parametro | Tipo | Description | 
| --- | --- | --- | 
| max\$1retries | Int | Il numero massimo di tentativi per riprovare il processo se ha esito negativo. <pre>%%configure<br />{<br />  "max_retries": "0"<br />}                      <br />                          </pre> | 
| max\$1concurrent\$1runs | Int | Il numero massimo di esecuzioni simultanee consentite per un processo. Esempio: <pre>%%configure<br />{<br />  "max_concurrent_runs": "3"<br />}</pre> | 

**Parametri della sessione**


| Parametro | Tipo | Descrizione | 
| --- | --- | --- | 
| --enable-spark-ui | Booleano | Abilita l'interfaccia utente di Spark per monitorare ed eseguire il debug dei processi ETL AWS Glue. <pre>%%configure<br />{<br />  "--enable-spark-ui": "true"<br />}</pre> | 
| --spark-event-logs-path | Stringa | Specifica un percorso Amazon S3. Quando si utilizza la funzionalità di monitoraggio dell'interfaccia utente Spark. Esempio: <pre>%%configure<br />{<br />  "--spark-event-logs-path": "s3://path/to/event/logs/"<br />}                           <br />                          </pre> | 
| --script\$1location | Stringa | Specifica il percorso S3 per uno script che esegue un processo. Esempio:<pre>%%configure <br />{<br />  "script_location": "s3://new-folder-here"<br />}                            <br />                          </pre> | 
| --SECURITY\$1CONFIGURATION | Stringa | Il nome di una configurazione di AWS Glue sicurezza Esempio: <pre>%%configure<br />{<br />    "--security_configuration": {<br />"encryption_type": "kms",<br />"kms_key_id": "YOUR_KMS_KEY_ARN"<br />}<br />}<br />                  </pre>  | 
| --job-language | Stringa | Il linguaggio di programmazione script. Accetta un valore di "scala" o "python". L'impostazione predefinita è "python". Esempio: <pre>%%configure <br />{<br />  "--job-language": "scala"<br />}                            <br />                  </pre>  | 
| --class | Stringa | La classe Scala che funge da punto di accesso per lo script Scala. L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--class": "className"<br />}                            <br />                  </pre>  | 
| --user-jars-first | Booleano | Assegna la priorità ai file JAR aggiuntivi del cliente nel classpath. L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--user-jars-first": "true"<br />}                            <br />                  </pre>  | 
| --use-postgres-driver | Booleano | Assegna la priorità al driver JDBC Postgres nel percorso della classe per evitare conflitti con il driver JDBC. Amazon Redshift L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--use-postgres-driver": "true"<br />}                            <br />                  </pre>  | 
| --extra-files | List(string) | I percorsi Amazon S3 dei file aggiuntivi, come file di configurazione, che AWS Glue copia nella directory di lavoro del tuo script prima di eseguirlo. Esempio: <pre>%%configure <br />{<br />  "--extra-files": "s3://path/to/additional/files/"<br />}                            <br />                  </pre>  | 
| --job-bookmark-option | Stringa | Controlla il comportamento di un segnalibro del processo. Accetta il valore '', '' o ''. job-bookmark-enable job-bookmark-disable job-bookmark-pause L'impostazione predefinita è 'job-bookmark-disable'. Esempio: <pre>%%configure<br />{<br />  "--job-bookmark-option": "job-bookmark-enable"<br />}                            <br />                  </pre>  | 
| --TempDir | Stringa | Specifica un percorso Amazon S3 a un bucket utilizzabile come directory temporanea per il processo. L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--TempDir": "s3://path/to/temp/dir"<br />}                            <br />                  </pre>  | 
| --enable-s3-parquet-optimized-committer | Booleano | Abilita il committer ottimizzato EMRFS Amazon S3 per la scrittura dei dati Parquet in Amazon S3. Il valore predefinito è "true". Esempio: <pre>%%configure <br />{<br />  "--enable-s3-parquet-optimized-committer": "false"<br />}                            <br />                  </pre>  | 
| --enable-rename-algorithm-v2 | Booleano | Imposta la versione dell'algoritmo di ridenominazione EMRFS alla versione 2. Il valore predefinito è "true". Esempio: <pre>%%configure <br />{<br />  "--enable-rename-algorithm-v2": "true"<br />}                            <br />                  </pre>  | 
| --enable-glue-datacatalog | Booleano | Consente di utilizzare Catalogo dati AWS Glue come metastore Apache Spark Hive. Esempio: <pre>%%configure <br />{<br />  "--enable-glue-datacatalog": "true"<br />}                            <br />                  </pre>  | 
| --enable-metrics | Booleano | Abilita la raccolta di parametri per la profilatura del processo per l'esecuzione. Il valore predefinito è "false". Esempio: <pre>%%configure <br />{<br />  "--enable-metrics": "true"<br />}                            <br />                  </pre>  | 
| --enable-continuous-cloudwatch-log | Booleano | Abilita la registrazione continua in tempo reale per i processi AWS Glue. Il valore predefinito è "false". Esempio: <pre>%%configure <br />{<br />  "--enable-continuous-cloudwatch-log": "true"<br />}                            <br />                  </pre>  | 
| --enable-continuous-log-filter | Booleano | Specifica un filtro standard o nessun filtro durante la creazione o la modifica di un processo abilitato per la registrazione continua. Il valore predefinito è "true". Esempio: <pre>%%configure <br />{<br />  "--enable-continuous-log-filter": "true"<br />}                            <br />                  </pre>  | 
| --continuous-log-stream-prefix | Stringa | Specificate un prefisso di Amazon CloudWatch log stream personalizzato per un job abilitato alla registrazione continua. L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--continuous-log-stream-prefix": "prefix"<br />}                            <br />                  </pre>  | 
| --continuous-log-conversionPattern | Stringa | Specifica un modello di log di conversione personalizzato per un processo abilitato per la registrazione continua. L'impostazione predefinita è null. Esempio: <pre>%%configure <br />{<br />  "--continuous-log-conversionPattern": "pattern"<br />}                      <br />                  </pre>  | 
| --conf | Stringa | Controlla i parametri di configurazione di Spark. È per casi d'uso avanzati. Utilizza --conf prima di ogni parametro. Esempio: <pre>%%configure<br />{<br />    "--conf": "spark.hadoop.hive.metastore.glue.catalogid=123456789012 --conf hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory --conf hive.metastore.schema.verification=false"<br />}       <br />        </pre>  | 
| timeout | Int | Determina il tempo massimo di attesa che la sessione Spark deve attendere per una dichiarazione prima di terminarla. <pre>%%configure <br />{<br />  "timeout": "30"<br />}</pre>  | 
| dimensionamento automatico | Booleano | Determina se utilizzare o meno il dimensionamento automatico. <pre>%%configure <br />{<br />  "––enable-auto-scaling": "true"<br />}</pre>  | 

### Magic per processi Spark (ETL e flussi di dati)
<a name="interactive-sessions-magics-spark-jobs"></a>


| Name | Tipo | Description | 
| --- | --- | --- | 
| %worker\$1type | Stringa | Standard, G.1X, G.2X, G.4X, G.8X, G.12X, G.16X, R.1X, R.2X, R.4X o R.8X. Deve essere impostato anche number\$1of\$1workers. Il worker\$1type predefinito è G.1X. | 
| %connections | List |  Specifica un elenco separato da virgola di connessioni da utilizzare nella sessione.   Esempio:  <pre>%connections my_rds_connection<br />                    dy_f = glue_context.create_dynamic_frame.from_catalog(database='rds_tables', table_name='sales_table')</pre>  | 
| %extra\$1py\$1files | List | Specifica un elenco separato da virgola di file Python aggiuntivi da Amazon S3. | 
| %extra\$1jars | List | Specifica un elenco separato da virgola di jar aggiuntivi da includere nel cluster. | 
| %spark\$1conf | Stringa | Specifica le configurazioni Spark personalizzate per la sessione. Ad esempio, %spark\$1conf spark.serializer=org.apache.spark.serializer.KryoSerializer. | 

### Magic per processi Ray
<a name="interactive-sessions-magics-ray-jobs"></a>


| Name | Tipo | Description | 
| --- | --- | --- | 
| %min\$1workers | Int |  Il numero minimo di worker allocati a un processo Ray. Default: 1.  Ad esempio: `%min_workers 2`   | 
| %object\$1memory\$1head | Int | La percentuale di memoria libera sul nodo principale dell'istanza dopo un avvio a caldo. Minimo: 0 Massimo: 100 Ad esempio: `%object_memory_head 100`  | 
| %object\$1memory\$1worker | Int | La percentuale di memoria libera sui nodi worker dell'istanza dopo un avvio a caldo. Minimo: 0 Massimo: 100 Ad esempio: `%object_memory_worker 100` | 

### Magic operativi
<a name="interactive-sessions-magics-action"></a>


| Name | Tipo | Description | 
| --- | --- | --- | 
| %%sql | Stringa |   Eseguire codice SQL. Tutte le righe dopo che il magic `%%sql` iniziale verrà passato come parte del codice SQL.   Ad esempio: `%%sql select * from rds_tables.sales_table`  | 
| %matplot | Figura matplotlib |  Visualizza i dati utilizzando la libreria matplotlib. Esempio: <pre>import matplotlib.pyplot as plt<br /><br /># Set X-axis and Y-axis values<br />x = [5, 2, 8, 4, 9]<br />y = [10, 4, 8, 5, 2]<br />  <br /># Create a bar chart <br />plt.bar(x, y)<br />  <br /># Show the plot<br />%matplot plt      <br />                </pre>  | 
| %plotly | Figura plotly |  Visualizza i dati utilizzando la libreria plotly. Esempio: <pre>import plotly.express as px<br />                  <br />#Create a graphical figure<br />fig = px.line(x=["a","b","c"], y=[1,3,2], title="sample figure")<br /><br />#Show the figure<br />%plotly fig</pre>  | 

## Sessioni di denominazione
<a name="interactive-sessions-naming-sessions"></a>

 AWS Gluele sessioni interattive sono AWS risorse e richiedono un nome. I nomi devono essere univoci per ogni sessione e possono essere limitati dagli amministratori IAM. Per ulteriori informazioni, consulta [Sessioni Interattive con IAM](glue-is-security.md). Il kernel Jupyter genera automaticamente nomi di sessione univoci per tuo conto. Tuttavia, le sessioni possono essere nominate manualmente in due modi: 

1.  Utilizzando il file di AWS Command Line Interface configurazione che si trova in`~.aws/config`. Vedere [Configurazione di AWS Config con](https://docs.aws.amazon.com/config/latest/developerguide/gs-cli.html). AWS Command Line Interface

1.  Utilizzo dei magic `%session_id_prefix`. Per informazioni, consulta [Magic supportati dalle sessioni interattive di AWS Glue per Jupyter](#interactive-sessions-supported-magics). 

 Il nome di una sessione viene generato come segue: 
+ Quando vengono forniti il prefisso e session\$1id: il nome della sessione sarà \$1prefix\$1-\$1UUID\$1.
+ Quando non viene fornito nulla: il nome della sessione sarà \$1UUID\$1.

Il prefisso dei nomi delle sessioni ti consente di riconoscere la tua sessione quando la elenchi nella console AWS CLI o.

## Specifica di un ruolo IAM per le sessioni interattive
<a name="iam-role-interactive-sessions"></a>

 È necessario specificare un ruolo AWS Identity and Access Management (IAM) da utilizzare AWS Glue con il codice ETL eseguito con sessioni interattive. 

 Il ruolo deve disporre delle stesse autorizzazioni IAM di quelle necessarie per l'esecuzione dei processi AWS Glue. Consulta [Creazione di un ruolo IAM per AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/create-an-iam-role.html) per ulteriori informazioni sulla creazione di un ruolo per processi AWS Glue e sessioni interattive. 

 I ruoli IAM possono essere specificati in due modi: 
+  Utilizzando il file di AWS Command Line Interface configurazione che si trova in `~.aws/config` (consigliato). Per ulteriori informazioni, consulta [Configurazione di sessioni con \$1/.aws/config ](https://docs.aws.amazon.com/glue/latest/ug/interactive-sessions-magics.html#interactive-sessions-named-profiles). 
**Nota**  
 Quando il magic `%profile` è in uso, la configurazione per `glue_iam_role` di quel profilo è mantenuta. 
+  Usando il magic %iam\$1role. Per ulteriori informazioni, consulta [Magic supportati dalle sessioni interattive di AWS Glue per Jupyter](#interactive-sessions-supported-magics). 

## Configurazione di sessioni con profili denominati
<a name="interactive-sessions-named-profiles"></a>

 AWS Gluele sessioni interattive utilizzano le stesse credenziali di AWS Command Line Interface o boto3 e le sessioni interattive rispettano e funzionano con profili denominati come quelli AWS CLI trovati in (`~/.aws/config`Linux e macOS) o (Windows). `%USERPROFILE%\.aws\config` Per ulteriori informazioni, consulta la sezione [Using named profiles](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-using-profiles). 

 Le sessioni interattive sfruttano i vantaggi dei profili denominati consentendo al prefisso ruolo di servizio e ID sessione AWS Glue di essere specificato in un profilo. Per configurare un ruolo del profilo, aggiungi una riga per la `iam_role` chiave and/or `session_id_prefix ` al tuo profilo denominato come mostrato di seguito. Il valore `session_id_prefix` non richiede virgolette. Ad esempio, se desideri aggiungere un ` session_id_prefix`, inserisci il valore di `session_id_prefix=myprefix`. 

```
[default]
region=us-east-1
aws_access_key_id=AKIAIOSFODNN7EXAMPLE 
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRole> 
session_id_prefix=<prefix_for_session_names>

[user1] 
region=eu-west-1
aws_access_key_id=AKIAI44QH8DHBEXAMPLE 
aws_secret_access_key=je7MtGbClwBF/2Zp9Utk/h3yCo8nvbEXAMPLEKEY
glue_iam_role=arn:aws:iam::<AccountID>:role/<GlueServiceRoleUser1> 
session_id_prefix=<prefix_for_session_names_for_user1>
```

 Se si dispone di un metodo personalizzato per generare credenziali, è anche possibile configurare il profilo in modo che utilizzi il parametro `credential_process` nel file `~/.aws/config`. Ad esempio: 

```
[profile developer]
region=us-east-1
credential_process = "/Users/Dave/generate_my_credentials.sh" --username helen
```

 Puoi trovare ulteriori dettagli sulle credenziali di approvvigionamento tramite il parametro `credential_process` qui: [Credenziali di approvvigionamento con un processo esterno](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-sourcing-external.html). 

 Se nel profilo che state usando non sono impostate una regione o un `iam_role`, dovete specificarli usando le `%region` e i `%iam_role` magic nella prima cella che eseguite. 