

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Configuración de Tez
<a name="tez-configure"></a>

Puede personalizar Tez configurando valores que utilicen la clasificación de configuración `tez-site` cuando cree el clúster, que configura los ajustes del archivo de configuración `tez-site.xml`. Para obtener más información, consulte [TezConfiguration](https://tez.apache.org/releases/0.8.2/tez-api-javadocs/configs/TezConfiguration.html)la documentación de Apache Tez. Para cambiar Hive o Pig para utilizar el motor de ejecución de Tez, utilice las clasificaciones de configuración de `hive-site` y `pig-properties`, según proceda. A continuación se muestran ejemplos.

## Configuración de ejemplo
<a name="tez-configure-example"></a>

**Example Ejemplo: Personalizar el nivel de registro raíz de Tez y configurar Tez como el motor de ejecución para Hive y Pig**  
El comando `create-cluster` de ejemplo que se muestra a continuación crea un clúster con Tez, Hive y Pig instalados. El comando hace referencia a un archivo almacenado en Amazon S3, `myConfig.json`, que especifica las propiedades de la clasificación `tez-site` que establece `tez.am.log.level` en `DEBUG`, y establece el motor de ejecución en Tez para Hive y Pig mediante las clasificaciones de configuración `hive-site` y `pig-properties`.  
Se incluyen caracteres de continuación de línea de Linux (\$1) para facilitar la lectura. Se pueden eliminar o utilizar en los comandos de Linux. En Windows, elimínelos o sustitúyalos por un signo de intercalación (^).

```
aws emr create-cluster --release-label emr-7.12.0 \
--applications Name=Tez Name=Hive Name=Pig --ec2-attributes KeyName=myKey \
--instance-type m5.xlarge --instance-count 3 \
--configurations https://s3.amazonaws.com/amzn-s3-demo-bucket/myfolder/myConfig.json --use-default-roles
```
A continuación, se muestra contenido de ejemplo de `myConfig.json`.  

```
[
    {
      "Classification": "tez-site",
      "Properties": {
        "tez.am.log.level": "DEBUG"
      }
    },
    {
      "Classification": "hive-site",
      "Properties": {
        "hive.execution.engine": "tez"
      }
    },
    {
      "Classification": "pig-properties",
      "Properties": {
        "exectype": "tez"
      }
    }
  ]
```

**nota**  
Con la versión 5.21.0 y posteriores de Amazon EMR, puede anular las configuraciones de clúster y especificar las clasificaciones de configuración adicionales para cada grupo de instancias en un clúster en ejecución. Para ello, utilice la consola Amazon EMR, el AWS Command Line Interface (AWS CLI) o el AWS SDK. Para obtener más información, consulte [Suministrar una configuración para un grupo de instancias en un clúster en ejecución](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html).

## Apertura de división asíncrona de Tez
<a name="tez-configure-async"></a>

Cuando hay una gran cantidad de archivos pequeños en la ruta de la tabla y una consulta intenta leerlos todos, cada archivo pequeño que corresponde a cada división individual se combina en una *división agrupada* de Tez. A continuación, un solo asignador procesa la única división agrupada de Tez. Dado que la ejecución es sincrónica, cada división individual dentro de la división agrupada se procesa una por una. Esto requiere que `RecordReader` los objetos deben procesar las divisiones de manera sincronizada.

Amazon EMR 6.15.0 presenta configuraciones que puede especificar para abrir de forma asíncrona las divisiones de entrada en una división agrupada de Tez. [TEZ-4397](https://issues.apache.org/jira/browse/TEZ-4397) inició la característica, pero se produjeron regresiones en OSS Hive. EMR Hive corrigió las regresiones y errores adicionales en la tabla ACID de Hive. Esta mejora genera un rendimiento más rápido de las consultas de lectura cuando hay un gran número de divisiones de entrada en una única división agrupada de Tez.


| Name | Clasificación | Description (Descripción) | 
| --- | --- | --- | 
|  `tez.grouping.split.init.threads`  |  `tez-site`  | Especifica la cantidad de subprocesos daemon que utiliza Tez para realizar el inicio previo de `RecordReaders` y la apertura de las divisiones. En el caso de las tablas ACID, el valor máximo admitido de `tez.grouping.split.init.threads` es `1`. | 
|  `tez.grouping.split.init.recordreaders`  |  `tez-site`  | Especifica la cantidad de `RecordReaders` subprocesos daemon que deben mantener previamente iniciados. Esto puede ser de ayuda cuando la división agrupada de Tez contiene una gran cantidad de `InputSplits`. La inicialización de `RecordReaders` para procesar esas divisiones de entrada se puede realizar de forma asíncrona con subprocesos daemon en lugar de recurrir a un procesamiento secuencial. | 

Notas de configuración:


| Asunto | Details | 
| --- | --- | 
| Configuración recomendada | Se recomienda establecer los valores de configuración anteriores en los valores que desee, tanto en `hive-site` como en `tez-site`. | 
| Valores coincidentes | Los valores de los ajustes de configuración deben ser los mismos en `hive-site` y `tez-site`. | 
| Recomendación de LLAP | No se recomienda usar esta característica cuando LLAP esté habilitado. | 

### Evaluación comparativa de la apertura de división asíncrona de Tez
<a name="tez-configure-async-benchmark"></a>

Utilizamos los siguientes entornos y configuraciones para realizar una evaluación comparativa de la capacidad de apertura de división asíncrona de Tez:
+ **Entorno de referencia**: clúster de Amazon EMR con 1 nodo principal que utiliza m5.16xlarge y 16 nodos centrales que utilizan m5.16xlarge.
+ **Configuraciones de evaluación comparativa**: para simular el escenario de evaluación comparativa donde hay una gran cantidad de divisiones de entrada en una sola división agrupada de Tez, `tez.grouping.split-count` se establece en `1`.
+ **Tabla utilizada para la evaluación comparativa**: la tabla contiene 200 particiones, y cada partición contiene un único archivo. El punto de referencia se realiza cuando esa tabla contiene archivos CSV y cuando esa tabla contiene archivos de parquet. Consulta de Hive para la evaluación comparativa: `SELECT COUNT(*)` a partir de la tabla diez veces y tome el tiempo de ejecución promedio.
+ **Configuraciones para habilitar la apertura de división asíncrona de Tez**: como se indica a continuación:
  + `tez.grouping.split.init.threads` = `4`
  + `tez.grouping.split.init.recordreaders` = `10`


| Conjunto de datos | Característica deshabilitada (base de referencia) | Característica habilitada | Mejora | 
| --- | --- | --- | --- | 
|  Conjunto de datos CSV  |  90,26 segundos  | 79,20 segundos | 12,25% | 
|  Conjunto de datos Parquet  |  54,67 segundos  | 42,23 segundos | 22,75% | 