

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.

# Consideraciones relacionadas con el uso de Presto en Amazon EMR
<a name="emr-presto-considerations"></a>

Tenga en cuenta las siguientes limitaciones al ejecutar [Presto](https://aws.amazon.com/big-data/what-is-presto/) en Amazon EMR.

## Ejecutable de línea de comandos de Presto
<a name="emr-presto-command-line-cli"></a>

En Amazon EMR, PrestoDB y Trino utilizan el mismo ejecutable de línea de comandos, `presto-cli`, como en el siguiente ejemplo.

```
presto-cli --catalog hive
```

## Propiedades de la implementación de Presto no configurables
<a name="emr-presto-deployment-config"></a>

La versión de Amazon EMR que utilice determina las configuraciones de implementación de Presto disponibles. Para obtener más información sobre estas propiedades de configuración, consulte [Implementación de Presto](https://prestodb.io/docs/current/installation/deployment.html) en la documentación de Presto. En la siguiente tabla, se muestran las distintas opciones de configuración de los archivos `properties` de Presto.


| Archivos | Configurable | 
| --- | --- | 
|  `log.properties`  |  PrestoDB: versiones 4.0.0 y posteriores configurables de Amazon EMR. Utilice la clasificación de configuración `presto-log`.  | 
|  `config.properties`  |  PrestoDB: versiones 4.0.0 y posteriores configurables de Amazon EMR. Utilice la clasificación de configuración `presto-config`.  | 
|  `hive.properties`  |  PrestoDB: versiones 4.1.0 y posteriores configurables de Amazon EMR. Utilice la clasificación de configuración `presto-connector-hive`.  | 
|  `node.properties`  |  PrestoDB: versiones 5.6.0 y posteriores configurables de Amazon EMR. Utilice la clasificación de configuración `presto-node`.  | 
|  `jvm.config`  |  No se puede configurar.  | 

## Instalación de PrestoDB
<a name="emr-prestodb-prestosql"></a>

El nombre de la aplicación *Presto* se sigue utilizando para instalar PrestoDB en los clústeres. 

Puede instalar PrestoDB o Trino, pero no puede instalar ambos en un solo clúster. Si se especifican PrestoDB y Trino al intentar crear un clúster, se produce un error tanto en la validación como en la solicitud de creación del clúster.

## Configuración de EMRFS y PrestoS3 FileSystem
<a name="emr-presto-prestos3"></a>

Con las versiones 5.12.0 y posteriores de Amazon EMR, PrestoDB puede utilizar EMRFS. Para obtener más información, consulte [Sistema de archivos de EMR (EMRFS)](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-fs) en la *Guía de administración de Amazon EMR*. En las versiones anteriores de Amazon EMR, PrestoS3 FileSystem es la única opción de configuración.

Se puede utilizar una configuración de seguridad para configurar el cifrado de los datos de EMRFS en Amazon S3. También puede utilizar roles de IAM para las solicitudes de EMRFS a Amazon S3. Para obtener más información, consulte [Descripción de las opciones de cifrado](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-data-encryption-options.html) y [Configuración de roles de IAM para solicitudes de EMRFS a Amazon S3](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-emrfs-iam-roles.html) en la *Guía de administración de Amazon EMR*.

**nota**  
Si consulta los datos subyacentes en Amazon S3 con la versión 5.12.0 de Amazon EMR, pueden producirse errores en Presto. Esto se debe a que Presto no recoge los valores de clasificación de configuración de `emrfs-site.xml`. Como solución alternativa, cree un subdirectorio de `emrfs` en `usr/lib/presto/plugin/hive-hadoop2/` y cree un enlace simbólico en `usr/lib/presto/plugin/hive-hadoop2/emrfs` al archivo `/usr/share/aws/emr/emrfs/conf/emrfs-site.xml` existente. A continuación, reinicie el proceso presto-server (`sudo presto-server stop` seguido de `sudo presto-server start`). 

Puede anular el EMRFS predeterminado y utilizar PrestoS3 en su lugar. FileSystem Para ello, utilice la clasificación de configuración `presto-connector-hive` para establecer `hive.s3-file-system-type` en `PRESTO`, tal como se muestra en el siguiente ejemplo. Para obtener más información, consulte [Configuración de aplicaciones](emr-configure-apps.md).

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.s3-file-system-type": "PRESTO"
      }
   }
]
```

Si utiliza PrestoS3, utilice la clasificación de configuración para configurar las FileSystem propiedades de PrestoS3. `presto-connector-hive` FileSystem Para obtener más información sobre las propiedades disponibles, consulte [Configuración de Amazon S3](https://prestodb.io/docs/current/connector/hive.html#amazon-s3-configuration) en la sección Conector de Hive de la documentación de Presto. Estas opciones no se aplican a EMRFS.

## Configuración predeterminada para la suplantación del usuario final
<a name="emr-presto-end-user-impersonation"></a>

De forma predeterminada, las versiones 5.12.0 y posteriores de Amazon EMR permiten la suplantación del usuario final para obtener acceso a HDFS. Para obtener más información, consulte [Suplantación de usuarios finales](https://prestodb.io/docs/current/connector/hive-security.html#end-user-impersonation) en la documentación de Presto. Para cambiar esta configuración con la clasificación de configuración de `presto-config`, establezca la propiedad `hive.hdfs.impersonation.enabled` en `false`.

## Puerto predeterminado para la interfaz web de Presto
<a name="emr-presto-default-web-port"></a>

De forma predeterminada, Amazon EMR configura la interfaz web de Presto en el coordinador de Presto para que utilice el puerto 8889 (para PrestoDB y Trino). Para cambiar el puerto, utilice la clasificación de configuración `presto-config` para establecer la propiedad de `http-server.http.port`. Para obtener más información, consulte [Propiedades de configuración](https://prestodb.io/docs/current/installation/deployment.html#config-properties) en la sección *Implementación de Presto* de la documentación de Presto.

## Problema con la ejecución del bucket de Hive en algunas versiones
<a name="emr-presto-bucket-execution"></a>

Presto versión 152.3 tiene un problema con la ejecución de buckets de Hive que provoca un rendimiento de consultas de Presto notablemente más lento en algunas circunstancias. Las versiones 5.0.3, 5.1.0 y 5.2.0 de Amazon EMR incluyen esta versión de Presto. Para mitigar este problema, utilice la clasificación de configuración `presto-connector-hive` para establecer la propiedad `hive.bucket-execution` en `false`, tal y como se muestra en el siguiente ejemplo.

```
[
   {
      "Classification": "presto-connector-hive",
      "Properties": {
         "hive.bucket-execution": "false"
      }
   }
]
```