

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

# Utilizzare le proprietà Spark per specificare una configurazione personalizzata
<a name="notebooks-spark-custom-jar-cfg"></a>

Quando crei o modifichi una sessione in Amazon Athena per Apache Spark, puoi utilizzare le [proprietà Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) per specificare file `.jar`, pacchetti o un'altra configurazione personalizzata per la sessione. Per specificare le proprietà di Spark, puoi utilizzare la console Athena, o AWS CLI l'API Athena.

## Utilizzare la console Athena per specificare le proprietà Spark
<a name="notebooks-spark-custom-jar-cfg-console"></a>

Nella console Athena, puoi specificare le proprietà di Spark quando [crei un notebook](notebooks-spark-getting-started.md#notebooks-spark-getting-started-creating-your-own-notebook) o [modifichi una sessione corrente](notebooks-spark-getting-started.md#notebooks-spark-getting-started-editing-session-details).

**Come aggiungere proprietà nella finestra di dialogo **Crea notebook** o **Modifica dettagli della sessione****

1. Espandi le **proprietà Spark**.

1. Per aggiungere le tue proprietà, utilizza l'opzione **Modifica nella tabella** o **Modifica in JSON**.
   + Per l'opzione **Modifica nella tabella**, seleziona **Aggiungi proprietà** per aggiungere una proprietà o seleziona **Rimuovi** per rimuovere una proprietà. Utilizza le caselle **Chiave** e **Valore** per inserire i nomi delle proprietà e i relativi valori.
     + Per aggiungere un file `.jar` personalizzato, utilizza la proprietà `spark.jars`.
     + Per specificare un file pacchetto, utilizza la proprietà `spark.jars.packages`.
   + Per inserire e modificare direttamente la configurazione, seleziona l'opzione **Modifica in JSON**. Nell'editor di testo JSON, puoi eseguire le seguenti attività:
     + Seleziona **Copia** per copiare il testo JSON negli appunti.
     + Seleziona **Cancella** per rimuovere tutto il testo dall'editor JSON.
     + Scegli l'icona delle impostazioni (ingranaggio) per configurare la disposizione delle linee o scegli un tema di colore per l'editor JSON.

### Note
<a name="notebooks-spark-custom-jar-cfg-notes"></a>
+ Puoi impostare le proprietà in Athena per Spark, il che equivale a impostare le [proprietà Spark](https://spark.apache.org/docs/latest/configuration.html#spark-properties) direttamente su un oggetto. [SparkConf](https://spark.apache.org/docs/latest/api/python/reference/api/pyspark.SparkConf.html)
+ Avvia tutte le proprietà Spark con il prefisso `spark.`. Le proprietà con altri prefissi vengono ignorate.
+ Non tutte le proprietà Spark sono disponibili per la configurazione personalizzata su Athena. Se invii una richiesta `StartSession` con una configurazione limitata, la sessione non viene avviata.
  + Non è possibile utilizzare il prefisso `spark.athena.` perché è riservato.

## Usa l'API AWS CLI o Athena per fornire una configurazione personalizzata
<a name="notebooks-spark-custom-jar-cfg-cli-or-api"></a>

Per utilizzare l'API AWS CLI o Athena per fornire la configurazione della sessione, utilizza l'azione [StartSession](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartSession.html)API o il comando CLI [start-session](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/athena/start-session.html). Nella tua `StartSession` richiesta, utilizza il `SparkProperties` campo dell'[EngineConfiguration](https://docs.aws.amazon.com/athena/latest/APIReference/API_EngineConfiguration.html)oggetto per passare le informazioni di configurazione in formato JSON. Questo avvia una sessione con la configurazione specificata.

Per specificare proprietà Spark personalizzate da AWS CLI, usa la `engine-configuration` configurazione quando avvii una sessione interattiva.

```
aws athena start-session \ 
--region "REGION"
--work-group "WORKGROUP" \
--engine-configuration '{
    "Classifications": [{
      "Name": "spark-defaults",
      "Properties": {
        "spark.dynamicAllocation.minExecutors": "1",
        "spark.dynamicAllocation.initialExecutors": "2",
        "spark.dynamicAllocation.maxExecutors": "10",
        "spark.dynamicAllocation.executorIdleTimeout": "300"
      }
    }]
  }'
```

È inoltre possibile specificare i valori predefiniti di configurazione a livello di gruppo di lavoro utilizzando l'azione API o l'azione `CreateWorkgroup` API. `UpdateWorkgroup` I valori di configurazione predefiniti nel gruppo di lavoro si applicano a tutte le sessioni avviate per quel gruppo di lavoro.

Per specificare le proprietà Spark predefinite AWS CLI per un gruppo di lavoro, usa la `engine-configuration` configurazione quando crei un nuovo gruppo di lavoro:

```
aws athena create-work-group \
  --region "REGION" \
  --name "WORKGROUP_NAME" \
  --configuration '{
    "EngineVersion": {
      "SelectedEngineVersion": "Apache Spark version 3.5"
    },
    "ExecutionRole": "EXECUTION_ROLE",
    "EngineConfiguration": {
      "Classifications": [
        {
          "Name": "spark-defaults",
          "Properties": {
            "spark.dynamicAllocation.minExecutors": "1",
            "spark.dynamicAllocation.initialExecutors": "2",
            "spark.dynamicAllocation.maxExecutors": "10",
            "spark.dynamicAllocation.executorIdleTimeout": "300"
          }
        }
      ]
    }
  }'
```

Per modificare le proprietà Spark predefinite di un gruppo di lavoro, usa AWS CLI la configurazione quando aggiorni un gruppo di lavoro. `engine-configuration` Le modifiche si applicano alle nuove sessioni interattive in futuro.

```
aws athena update-work-group \
  --region "REGION" \
  --work-group "WORKGROUP_NAME" \
  --configuration-updates '{
    "EngineVersion": {
      "SelectedEngineVersion": "Apache Spark version 3.5"
    },
    "ExecutionRole": "EXECUTION_ROLE",
    "EngineConfiguration": {
      "Classifications": [
        {
          "Name": "spark-defaults",
          "Properties": {
            "spark.dynamicAllocation.minExecutors": "1",
            "spark.dynamicAllocation.initialExecutors": "2",
            "spark.dynamicAllocation.maxExecutors": "12",
            "spark.dynamicAllocation.executorIdleTimeout": "300"
          }
        }
      ]
    }
  }'
```