

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 predefinita dell'applicazione per EMR Serverless
<a name="default-configs"></a>

È possibile specificare un set comune di configurazioni di runtime e monitoraggio a livello di applicazione per tutti i lavori inviati nella stessa applicazione. Ciò riduce il sovraccarico aggiuntivo associato alla necessità di inviare le stesse configurazioni per ogni lavoro.

È possibile modificare le configurazioni nei seguenti momenti:
+ [Dichiarare le configurazioni a livello di applicazione al momento dell'invio del lavoro.](#default-configs-declare)
+ [Sostituisci le configurazioni predefinite durante l'esecuzione del lavoro.](#default-configs-override)

Le sezioni seguenti forniscono maggiori dettagli e un esempio per un ulteriore contesto.

## Dichiarazione delle configurazioni a livello di applicazione
<a name="default-configs-declare"></a>

È possibile specificare le proprietà di registrazione a livello di applicazione e di configurazione di runtime per i lavori inviati tramite l'applicazione.

**`monitoringConfiguration`**  
Per specificare le configurazioni di registro per i lavori inviati con l'applicazione, utilizza il campo. [https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_MonitoringConfiguration.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_MonitoringConfiguration.html) Per ulteriori informazioni sulla registrazione per EMR Serverless, fare riferimento a. [Archiviazione dei registri](logging.md)

**`runtimeConfiguration`**  
Per specificare proprietà di configurazione in fase di esecuzione`spark-defaults`, ad esempio, fornire un oggetto di configurazione nel campo. `runtimeConfiguration` Ciò influisce sulle configurazioni predefinite per tutti i lavori inviati con l'applicazione. Per ulteriori informazioni, consulta [Parametro di sovrascrittura della configurazione Hive](jobs-hive.md#hive-defaults-configurationOverrides) e [Parametro di override della configurazione Spark](jobs-spark.md#spark-defaults-configurationOverrides).  
Le classificazioni di configurazione disponibili variano in base alla specifica release EMR Serverless. Ad esempio, le classificazioni per Log4j personalizzate `spark-executor-log4j2` sono disponibili solo con le versioni `spark-driver-log4j2` 6.8.0 e successive. Per un elenco delle proprietà specifiche dell'applicazione, fare riferimento a and. [Proprietà del lavoro Spark](jobs-spark.md#spark-defaults) [Proprietà del lavoro di Hive](jobs-hive.md#hive-defaults)  
È inoltre possibile configurare le [proprietà di Apache Log4j2](log4j2.md), [Gestione dei segreti AWS per la protezione dei dati](secrets-manager.md), e il runtime di [Java](using-java-runtime.md) 17 a livello di applicazione.  
Per trasmettere i segreti di Secrets Manager a livello di applicazione, allega la seguente policy agli utenti e ai ruoli che devono creare o aggiornare applicazioni EMR Serverless con segreti.    
****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "SecretsManagerPolicy",
      "Effect": "Allow",
      "Action": [
        "secretsmanager:GetSecretValue",
        "secretsmanager:DescribeSecret"
      ],
      "Resource": [
        "arn:aws:secretsmanager:us-east-1:123456789012:secret:my-secret-name-123abc"
      ]
    },
    {
      "Sid": "KMSDecryptPolicy",
      "Effect": "Allow",
      "Action": [
        "kms:Decrypt"
      ],
      "Resource": [
        "arn:aws:kms:us-east-1:123456789012:key/12345678-1234-1234-1234-123456789012"
      ]
    }
  ]
}
```
*Per ulteriori informazioni sulla creazione di policy personalizzate per i segreti, consulta gli [esempi di policy di autorizzazione disponibili Gestione dei segreti AWS nella Guida per](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html) l'Gestione dei segreti AWS utente.*

**Nota**  
`runtimeConfiguration`Ciò che specifichi a livello di applicazione viene `applicationConfiguration` mappato all'[https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)API.

### Dichiarazione di esempio
<a name="default-configs-declare-example"></a>

L'esempio seguente mostra come dichiarare le configurazioni predefinite con. `create-application`

```
aws emr-serverless create-application \
    --release-label release-version  \
    --type SPARK \
    --name my-application-name \
    --runtime-configuration '[
        {
            "classification": "spark-defaults",
            "properties": {
                "spark.driver.cores": "4",
                "spark.executor.cores": "2",
                "spark.driver.memory": "8G",
                "spark.executor.memory": "8G",
                "spark.executor.instances": "2",
                "spark.hadoop.javax.jdo.option.ConnectionDriverName":"org.mariadb.jdbc.Driver",
                "spark.hadoop.javax.jdo.option.ConnectionURL":"jdbc:mysql://db-host:db-port/db-name",
                "spark.hadoop.javax.jdo.option.ConnectionUserName":"connection-user-name",
                "spark.hadoop.javax.jdo.option.ConnectionPassword": "EMR.secret@SecretID"
            }
        },
        {
            "classification": "spark-driver-log4j2",
            "properties": {
                "rootLogger.level":"error", 
                "logger.IdentifierForClass.name": "classpathForSettingLogger",
                "logger.IdentifierForClass.level": "info"
            }
        }
    ]' \
    --monitoring-configuration '{
        "s3MonitoringConfiguration": {
            "logUri": "s3://amzn-s3-demo-logging-bucket/logs/app-level"
        },
        "managedPersistenceMonitoringConfiguration": {
            "enabled": false
        }
    }'
```

## Sovrascrivere le configurazioni durante l'esecuzione di un lavoro
<a name="default-configs-override"></a>

È possibile specificare sostituzioni di configurazione per la configurazione dell'applicazione e la configurazione di monitoraggio con l'API. [https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html) EMR Serverless unisce quindi le configurazioni specificate a livello di applicazione e a livello di processo per determinare le configurazioni per l'esecuzione del lavoro. 

Il livello di granularità al momento dell'unione è il seguente:
+ **[https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_ConfigurationOverrides.html#emrserverless-Type-ConfigurationOverrides-applicationConfiguration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_ConfigurationOverrides.html#emrserverless-Type-ConfigurationOverrides-applicationConfiguration)**- Tipo di classificazione, ad esempio. `spark-defaults`
+ **[https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_ConfigurationOverrides.html#emrserverless-Type-ConfigurationOverrides-monitoringConfiguration](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_ConfigurationOverrides.html#emrserverless-Type-ConfigurationOverrides-monitoringConfiguration)**- Tipo di configurazione, ad esempio`s3MonitoringConfiguration`.

**Nota**  
La priorità delle configurazioni fornite in [https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html](https://docs.aws.amazon.com/emr-serverless/latest/APIReference/API_StartJobRun.html)sostituisce le configurazioni fornite a livello di applicazione.

Per ulteriori informazioni sulla classificazione delle priorità, consulta e. [Parametro di sovrascrittura della configurazione Hive](jobs-hive.md#hive-defaults-configurationOverrides) [Parametro di override della configurazione Spark](jobs-spark.md#spark-defaults-configurationOverrides)

Quando si avvia un lavoro, se non si specifica una configurazione particolare, questa verrà ereditata dall'applicazione. Se si dichiarano le configurazioni a livello di processo, è possibile eseguire le seguenti operazioni:
+ **Sostituisci una configurazione esistente**: fornisci lo stesso parametro di configurazione nella `StartJobRun` richiesta con i tuoi valori di override. 
+ **Aggiungi una configurazione aggiuntiva**: aggiungi il nuovo parametro di configurazione nella `StartJobRun` richiesta con i valori che desideri specificare.
+ **Rimuovere una configurazione esistente**: per rimuovere una *configurazione di runtime* dell'applicazione, fornite la chiave per la configurazione che desiderate rimuovere e passate una dichiarazione vuota `{}` per la configurazione. Non è consigliabile rimuovere le classificazioni che contengono parametri necessari per l'esecuzione di un processo. Ad esempio, se si tenta di rimuovere le [proprietà richieste per un lavoro Hive](https://docs.aws.amazon.com/), il processo avrà esito negativo.

  Per rimuovere una *configurazione di monitoraggio* dell'applicazione, utilizzate il metodo appropriato per il tipo di configurazione pertinente:
  + **`cloudWatchLoggingConfiguration`**- Per rimuoverla`cloudWatchLogging`, passate il flag enabled as`false`. 
  + **`managedPersistenceMonitoringConfiguration`**- Per rimuovere le impostazioni di persistenza gestita e tornare allo stato abilitato predefinito, passa una dichiarazione vuota `{}` per la configurazione. 
  + **`s3MonitoringConfiguration`**- Per rimuovere`s3MonitoringConfiguration`, passa una dichiarazione vuota `{}` per la configurazione.

### Esempio: override
<a name="default-configs-override-example"></a>

L'esempio seguente mostra diverse operazioni che è possibile eseguire durante l'invio di un lavoro all'indirizzo. `start-job-run`

```
aws emr-serverless start-job-run \
    --application-id your-application-id \
    --execution-role-arn your-job-role-arn \
    --job-driver '{
        "sparkSubmit": {
            "entryPoint": "s3://us-east-1.elasticmapreduce/emr-containers/samples/wordcount/scripts/wordcount.py", 
            "entryPointArguments": ["s3://amzn-s3-demo-destination-bucket1/wordcount_output"]
        }
    }' \
    --configuration-overrides '{
        "applicationConfiguration": [ 
            {
                // Override existing configuration for spark-defaults in the application
                "classification": "spark-defaults", 
                "properties": {
                    "spark.driver.cores": "2",
                    "spark.executor.cores": "1",
                    "spark.driver.memory": "4G",
                    "spark.executor.memory": "4G"
                }
            },
            {
                // Add configuration for spark-executor-log4j2
                "classification": "spark-executor-log4j2",
                "properties": {
                    "rootLogger.level": "error", 
                    "logger.IdentifierForClass.name": "classpathForSettingLogger",
                    "logger.IdentifierForClass.level": "info"
                }
            },
            {
                // Remove existing configuration for spark-driver-log4j2 from the application
                "classification": "spark-driver-log4j2",
                "properties": {}
            }
        ],
        "monitoringConfiguration": {
            "managedPersistenceMonitoringConfiguration": {
                // Override existing configuration for managed persistence
                "enabled": true
            },
            "s3MonitoringConfiguration": {
                // Remove configuration of S3 monitoring
            },
            "cloudWatchLoggingConfiguration": {
                // Add configuration for CloudWatch logging
                "enabled": true
            }
        }
    }'
```

Al momento dell'esecuzione del lavoro, verranno applicate le seguenti classificazioni e configurazioni in base alla classificazione di priorità prioritaria descritta in and. [Parametro di sovrascrittura della configurazione Hive](jobs-hive.md#hive-defaults-configurationOverrides) [Parametro di override della configurazione Spark](jobs-spark.md#spark-defaults-configurationOverrides)
+ La classificazione `spark-defaults` verrà aggiornata con le proprietà specificate a livello di mansione. Ai fini di questa classificazione `StartJobRun` vengono prese in considerazione solo le proprietà incluse in.
+ La classificazione `spark-executor-log4j2` verrà aggiunta all'elenco di classificazioni esistente.
+ La classificazione `spark-driver-log4j2` verrà rimossa.
+ Le configurazioni di `managedPersistenceMonitoringConfiguration` verranno aggiornate con le configurazioni a livello di processo.
+ Le configurazioni di `s3MonitoringConfiguration` verranno rimosse.
+ Le configurazioni di `cloudWatchLoggingConfiguration` verranno aggiunte alle configurazioni di monitoraggio esistenti.