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
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 TezConfigurationhive-site
y pig-properties
, según proceda. A continuación se muestran ejemplos.
Configuración de ejemplo
ejemplo 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
.
nota
Se incluyen caracteres de continuación de línea de Linux (\) 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.5.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 Amazon 5.21.0 y EMR versiones posteriores, puedes anular las configuraciones de los clústeres y especificar clasificaciones de configuración adicionales para cada grupo de instancias de un clúster en ejecución. Para ello, utilice la EMR consola de Amazon, 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.
Apertura de división asíncrona de Tez
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.
Nombre | Clasificación | Descripción |
---|---|---|
|
|
Especifica la cantidad de subprocesos daemon que utiliza Tez para realizar el inicio previo de |
|
|
Especifica la cantidad de |
Evaluación comparativa de la apertura de división asíncrona de Tez
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: EMR clúster de Amazon con 1 nodo principal que utiliza m5.16xlargey 16 nodos principales 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 en1
. -
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 para cuando esa tabla contiene CSV archivos 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 |
---|---|---|---|
CSV conjunto de datos |
90,26 segundos |
79,20 segundos |
12,25% |
Parquet conjunto de datos |
54,67 segundos |
42,23 segundos |
22,75% |