

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Uso de discos otimizados para embaralhamento
<a name="jobs-shuffle-optimized-disks"></a>

Com as versões 7.1.0 e superiores do Amazon EMR, use discos otimizados para reprodução aleatória ao executar trabalhos do Apache Spark ou do Hive para melhorar o desempenho das operações (por segundo) para acelerar a movimentação de dados e reduzir a latência durante I/O-intensive workloads. Compared to standard disks, shuffle-optimized disks provide higher IOPS (I/O as operações aleatórias. Como os discos otimizados para embaralhamento permitem anexar tamanhos de disco de até 2 TB por trabalhador, configure a capacidade apropriada para seus requisitos de workload.

## Benefícios principais
<a name="jobs-shuffle-optimized-disks-key-benefits"></a>

Os discos otimizados para embaralhamento fornecem os benefícios a seguir.
+ **Alto desempenho de IOPS**: discos otimizados para embaralhamento fornecem IOPS mais altas do que os discos padrão, levando a um embaralhamento de dados mais eficiente e rápido durante trabalhos do Spark e do Hive e outras workloads com uso intenso de embaralhamento.
+ **Tamanho de disco maior**: como os discos otimizados para embaralhamento oferecem suporte a tamanhos de disco de 20 GB a 2 TB por trabalhador, escolha a capacidade adequada com base nas suas workloads.

## Introdução
<a name="jobs-shuffle-optimized-disks-getting-started"></a>

Confira as etapas a seguir para usar discos otimizados para embaralhamento nos fluxos de trabalho.

------
#### [ Spark ]

1. Crie uma aplicação do EMR Sem Servidor versão 7.1.0 com o comando a seguir.

   ```
   aws emr-serverless create-application \
     --type "SPARK" \
     --name my-application-name \
     --release-label emr-7.1.0 \
     --region {{<AWS_REGION>}}
   ```

1. Configure sua tarefa do Spark para incluir os parâmetros a serem executados com `spark.emr-serverless.driver.disk.type` and/or `spark.emr-serverless.executor.disk.type` discos otimizados para reprodução aleatória. Você pode usar um ou ambos os parâmetros, dependendo do seu caso de uso.

   ```
   aws emr-serverless start-job-run \
       --application-id {{application-id}} \
       --execution-role-arn {{job-role-arn}} \
       --job-driver '{
           "sparkSubmit": {
               "entryPoint": "/usr/lib/spark/examples/jars/spark-examples.jar",
               "entryPointArguments": ["1"],
               "sparkSubmitParameters": "--class org.apache.spark.examples.SparkPi 
               --conf spark.executor.cores=4 
               --conf spark.executor.memory=20g 
               --conf spark.driver.cores=4 
               --conf spark.driver.memory=8g 
               --conf spark.executor.instances=1 
               --conf spark.emr-serverless.executor.disk.type=shuffle_optimized"
           }
       }'
   ```

   Para obter mais informações, consulte [Propriedades de trabalho do Spark](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/jobs-spark.html#spark-defaults).

------
#### [ Hive ]

1. Crie uma aplicação do EMR Sem Servidor versão 7.1.0 com o comando a seguir.

   ```
   aws emr-serverless create-application \
     --type "HIVE" \
     --name my-application-name \
     --release-label emr-7.1.0 \
     --region {{<AWS_REGION>}}
   ```

1. Configure sua tarefa do Hive para incluir os parâmetros a serem executados com `hive.driver.disk.type` and/or `hive.tez.disk.type` discos otimizados para reprodução aleatória. Você pode usar um ou ambos os parâmetros, dependendo do seu caso de uso.

   ```
   aws emr-serverless start-job-run \
       --application-id {{application-id}} \
       --execution-role-arn {{job-role-arn}} \
       --job-driver '{
           "hive": {
               "query": "s3://{{<DOC-EXAMPLE-BUCKET>}}/emr-serverless-hive/query/hive-query.ql",
               "parameters": "--hiveconf hive.log.explain.output=false"
           }
       }' \
       --configuration-overrides '{
           "applicationConfiguration": [{
               "classification": "hive-site",
               "properties": {
                   "hive.exec.scratchdir": "s3://{{<DOC-EXAMPLE-BUCKET>}}/emr-serverless-hive/hive/scratch",
                   "hive.metastore.warehouse.dir": "s3://{{<DOC-EXAMPLE-BUCKET>}}/emr-serverless-hive/hive/warehouse",
                   "hive.driver.cores": "2",
                   "hive.driver.memory": "4g",
                   "hive.tez.container.size": "4096",
                   "hive.tez.cpu.vcores": "1",
                   "hive.driver.disk.type": "shuffle_optimized",
                   "hive.tez.disk.type": "shuffle_optimized"
               }
           }]
       }'
   ```

   Para obter mais informações, confira [Hive job properties](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/jobs-hive.html#hive-defaults).

------

**Configuração de aplicações com capacidade pré-inicializada**

Confira os exemplos a seguir para criar aplicações com base na versão 7.1.0 do Amazon EMR. Essas aplicações têm as seguintes propriedades:
+ 5 drivers do Spark pré-inicializados, cada um com 2 vCPUs, 4 GB de memória e 50 GB de disco otimizado para embaralhamento.
+ 50 executores pré-inicializados, cada um com 4 vCPUs, 8 GB de memória e 500 GB de disco otimizado para embaralhamento.

Quando essa aplicação executa trabalhos do Spark, ela primeiro consome os trabalhadores pré-inicializados e depois escala os trabalhadores sob demanda até a capacidade máxima de 400 vCPUs e 1.024 GB de memória. Opcionalmente, você pode omitir a capacidade do `DRIVER` ou `EXECUTOR`.

------
#### [ Spark ]

```
aws emr-serverless create-application \
  --type "SPARK" \
  --name {{<my-application-name>}} \
  --release-label emr-7.1.0 \
  --initial-capacity '{
    "DRIVER": {
        "workerCount": 5,
        "workerConfiguration": {
            "cpu": "2vCPU",
            "memory": "4GB",
            "disk": "50GB",
            "diskType": "SHUFFLE_OPTIMIZED"
        }
    },
    "EXECUTOR": {
        "workerCount": 50,
        "workerConfiguration": {
            "cpu": "4vCPU",
            "memory": "8GB",
            "disk": "500GB",
            "diskType": "SHUFFLE_OPTIMIZED"
        }
    }
  }' \
  --maximum-capacity '{
    "cpu": "400vCPU",
    "memory": "1024GB"
  }'
```

------
#### [ Hive ]

```
aws emr-serverless create-application \
  --type "HIVE" \
  --name {{<my-application-name>}} \
  --release-label emr-7.1.0 \
  --initial-capacity '{
    "DRIVER": {
        "workerCount": 5,
        "workerConfiguration": {
            "cpu": "2vCPU",
            "memory": "4GB",
            "disk": "50GB",
            "diskType": "SHUFFLE_OPTIMIZED"
        }
    },
    "EXECUTOR": {
        "workerCount": 50,
        "workerConfiguration": {
            "cpu": "4vCPU",
            "memory": "8GB",
            "disk": "500GB",
            "diskType": "SHUFFLE_OPTIMIZED"
        }
    }
  }' \
  --maximum-capacity '{
    "cpu": "400vCPU",
    "memory": "1024GB"
  }'
```

------