

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.

# Descargar datos en Amazon S3
<a name="emr-plan-upload-s3"></a>

Para obtener información sobre cómo cargar objetos en Amazon S3, consulte [Agregar un objeto a un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html) en la *Guía del usuario de Amazon Simple Storage Service*. Para obtener más información sobre el uso de Amazon S3 con Hadoop, consulte. [http://wiki.apache.org/hadoop/AmazonS3](http://wiki.apache.org/hadoop2/AmazonS3) 

**Topics**
+ [Creación y configuración de un bucket de Amazon S3](#create-s3-bucket-input)
+ [Configurar cargas multiparte para Amazon S3](#Config_Multipart)
+ [Prácticas recomendadas](#emr-bucket-bestpractices)
+ [Carga de datos en Amazon S3 Express One Zone](emr-express-one-zone.md)

## Creación y configuración de un bucket de Amazon S3
<a name="create-s3-bucket-input"></a>

Amazon EMR lo utiliza AWS SDK para Java con Amazon S3 para almacenar datos de entrada, archivos de registro y datos de salida. Amazon S3 denomina estas ubicaciones de almacenamiento *buckets*. Los buckets tienen ciertas restricciones y limitaciones para cumplir con los requisitos de Amazon S3 y DNS. Para obtener más información, consulte [Restricciones y limitaciones de los buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/BucketRestrictions.html) en la *Guía del usuario de Amazon Simple Storage Service*.

En esta sección, se muestra cómo utilizar Amazon S3 Consola de administración de AWS para crear y, a continuación, establecer los permisos para un bucket de Amazon S3. También puede crear y establecer permisos para un bucket de Amazon S3 con la API o la AWS CLI de Amazon S3. También puede utilizar curl junto con una modificación para pasar los parámetros de autenticación correspondientes a Amazon S3.

Consulte los siguientes recursos:
+ Para crear un bucket mediante la consola, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket.html) en la *Guía del usuario de Amazon S3*.
+ Para crear buckets y trabajar con ellos mediante el AWS CLI, consulte [Uso de comandos de S3 de alto nivel AWS Command Line Interface en la](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-s3-commands.html) *Guía del usuario de Amazon S3*.
+ Para crear un bucket mediante un SDK, consulte [Ejemplos de creación de un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-get-location-example.html) en la *Guía del usuario de Amazon Simple Storage Service*.
+ Para trabajar con buckets mediante curl, consulte [Herramienta de autenticación de Amazon S3 para curl](https://aws.amazon.com/code/amazon-s3-authentication-tool-for-curl/).
+ Para obtener más información sobre la especificación de Region-specific depósitos, consulta Cómo [acceder a un depósito](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingBucket.html#access-bucket-intro) en la *Guía del usuario de Amazon Simple Storage Service*.
+ Para trabajar con buckets mediante Puntos de acceso de Amazon S3, consulte [Uso de un alias de estilo de bucket para su punto de acceso](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points-alias.html) en la *Guía del usuario de Amazon S3*. Puede utilizar fácilmente Puntos de acceso de Amazon S3 con el alias del punto de acceso de Amazon S3 en lugar del nombre del bucket de Amazon S3. Puede utilizar el alias del punto de acceso Amazon S3 para aplicaciones nuevas y existentes, incluidas Spark, Hive y Presto, entre otras.

**nota**  
Si habilita el registro para un bucket, se habilitan únicamente los registros de acceso al bucket, no los registros del clúster de Amazon EMR. 

Durante la creación de un bucket o posteriormente, puede definir los permisos adecuados para tener acceso a él, en función de su aplicación. Lo habitual es que se conceda a sí mismo (el propietario) acceso de lectura y de escritura, así como acceso de lectura a los usuarios autenticados.

Los buckets de Amazon S3 necesarios deben existir para poder crear un clúster. Debe cargar en Amazon S3 todos los scripts o datos necesarios a los que se hace referencia en el clúster. 

## Configurar cargas multiparte para Amazon S3
<a name="Config_Multipart"></a>

Amazon EMR admite la carga multiparte de Amazon S3 a través del AWS SDK for Java. La carga multiparte permite cargar un solo objeto como un conjunto de partes. Puede cargar estas partes del objeto de forma independiente y en cualquier orden. Si la transmisión de cualquier parte falla, puede retransmitir esta parte sin que las demás partes se vean afectadas. Después de cargar todas las partes del objeto, Amazon S3 las combina y crea el objeto.

Para obtener más información, consulte la sección [Información general sobre la carga multiparte](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html) en la *Guía de del usuario de Amazon Simple Storage Service*.

Además, Amazon EMR ofrece propiedades que le permiten controlar de manera más precisa la limpieza de partes de carga multiparte con errores.

En la siguiente tabla, se describen las propiedades de configuración de Amazon EMR para la carga multiparte. Puede configurarlas utilizando la clasificación de configuración `core-site`. Para más información, consulte [Configuración de aplicaciones](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/configure-apps.html) en la *Guía de versiones de Amazon EMR*.


| Nombre de parámetro de configuración | Predeterminado | Description (Descripción) | 
| --- | --- | --- | 
| fs.s3n.multipart.uploads.enabled | true | Un tipo booleano que indica si se debe habilitar las cargas multiparte. Cuando la vista consistente de EMRFS se ha habilitado, las cargas multiparte se habilitan de forma predeterminada y si se configura este valor en false, no se tiene en cuenta. | 
| fs.s3n.multipart.uploads.split.size | 134217728 | Especifica el tamaño máximo de una parte, en bytes, para que EMRFS inicie la carga de una parte nueva cuando las cargas multiparte están habilitadas. El valor mínimo es `5242880` (5 MB). Si se especifica un valor menor, se utiliza `5242880`. El valor máximo es `5368709120` (5 GB). Si se especifica un valor mayor, se utiliza `5368709120`.<br />Si se ha desactivado el cifrado del cliente de EMRFS y el confirmador optimizado de Amazon S3 también se ha desactivado, este valor también controla el tamaño máximo que puede alcanzar un archivo de datos para que EMRFS utilice cargas multiparte en lugar de una solicitud `PutObject` para cargar el archivo. Para obtener más información, consulte  | 
| fs.s3n.ssl.enabled | true | Un tipo booleano que indica si se debe utilizar http o https.  | 
| fs.s3.buckets.create.enabled | false | Un tipo booleano que indica si se debe crear un bucket en caso de que no exista. Si se establece en false, se provocará una excepción en las operaciones CreateBucket. | 
| fs.s3.multipart.clean.enabled | false | Un tipo booleano que indica si se debe habilitar la limpieza periódica en segundo plano de las cargas multiparte incompletas. | 
| fs.s3.multipart.clean.age.threshold | 604800 | Un tipo long que especifica la edad mínima de una carga multiparte, en segundos, antes de que se la incluya en la limpieza. El valor predeterminado es una semana. | 
| fs.s3.multipart.clean.jitter.max | 10000 | Un tipo entero que especifica la cantidad máxima de retraso de fluctuación aleatorio, en segundos, que se agrega al retraso fijo de 15 minutos antes de programar la próxima ronda de limpieza. | 

### Desactivar cargas multiparte
<a name="emr-dev-multipart-upload"></a>

------
#### [ Console ]

**Para deshabilitar las cargas multiparte con la consola**

1. Inicie sesión en y abra la Consola de administración de AWS consola de Amazon EMR en. [https://console.aws.amazon.com/emr](https://console.aws.amazon.com/emr)

1. En **EMR en EC2** situado en el panel de navegación izquierdo, elija **Clústeres** y, a continuación, elija **Crear clúster**.

1. En **Configuración de software**, introduzca la configuración siguiente: `classification=core-site,properties=[fs.s3n.multipart.uploads.enabled=false]`.

1. Elija cualquier otra opción que se aplique a su clúster. 

1. Para lanzar el clúster, elija **Crear clúster**.

------
#### [ CLI ]

**Para deshabilitar la carga multiparte mediante el AWS CLI**

Este procedimiento explica cómo deshabilitar la carga multiparte utilizando la AWS CLI. Para deshabilitar la carga multiparte, escriba el comando `create-cluster` con el parámetro `--bootstrap-actions`. 

1. Cree un archivo `myConfig.json` con el siguiente contenido y guárdelo en el mismo directorio en el que va a ejecutar el comando:

   ```
   [
     {
       "Classification": "core-site",
       "Properties": {
         "fs.s3n.multipart.uploads.enabled": "false"
       }
     }
   ]
   ```

1. Escriba el comando siguiente y sustituya {{myKey}} por el nombre del par de claves de EC2.
**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 (^).

   ```
   1. aws emr create-cluster --name "{{Test cluster}}" \
   2. --release-label {{emr-7.13.0}} --applications Name={{Hive}} Name={{Pig}} \
   3. --use-default-roles --ec2-attributes KeyName={{myKey}} --instance-type {{m5.xlarge}} \
   4. --instance-count {{3}} --configurations file://myConfig.json
   ```

------
#### [ API ]

**Para desactivar la carga multiparte mediante la API**
+ Para obtener información sobre cómo utilizar las cargas multiparte de Amazon S3 mediante programación, consulte [Uso del SDK de AWS para Java para cargas multiparte](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingMPDotJavaAPI.html) en la *Guía del usuario de Amazon Simple Storage Service*.

  Para obtener más información sobre el AWS SDK para Java, consulte [AWS SDK for Java](https://aws.amazon.com/sdkforjava/).

------

## Prácticas recomendadas
<a name="emr-bucket-bestpractices"></a>

A continuación se indican las recomendaciones para utilizar buckets de Amazon S3 con clústeres de EMR.

### Habilitación del control de versiones
<a name="emr-enable-versioning"></a>

El control de versiones es una configuración recomendada para su bucket de Amazon S3. Al habilitar el control de versiones, se asegura de que incluso si se eliminan o se sobrescriben involuntariamente los datos, se puedan recuperar. Para más información, consulte [Uso del control de versiones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Versioning.html) en la Guía del usuario de Amazon Simple Storage Service.

### Limpiar las cargas multiparte con errores
<a name="emr-multipart-cleanup"></a>

Los componentes del clúster EMR utilizan cargas multiparte a través del AWS SDK para Java con las API de Amazon S3 para escribir archivos de registro y enviar datos a Amazon S3 de forma predeterminada. Para más información sobre cómo utilizar Amazon EMR para cambiar las propiedades relacionadas con esta configuración, consulte [Configurar cargas multiparte para Amazon S3](#Config_Multipart). En ocasiones, la carga de un archivo de gran tamaño puede dar lugar a una carga multiparte de Amazon S3 incompleta. Cuando una carga multiparte no se puede completar de forma satisfactoria, la carga multiparte en curso sigue ocupando su bucket e incurre en costos de almacenamiento. Le recomendamos las siguientes opciones para evitar un almacenamiento de archivos excesivo:
+ En el caso de los buckets que utilice con Amazon EMR, utilice una regla de configuración del ciclo de vida en Amazon S3 que elimine las cargas multiparte incompletas tres días después de la fecha de inicio de la carga. Las reglas de configuración del ciclo de vida le permiten controlar la clase de almacenamiento y el ciclo de vida de los objetos. Para más información, consulte [Administración del ciclo de vida de los objetos](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) y [Anulación de cargas multiparte incompletas con la política de ciclo de vida de buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpu-abort-incomplete-mpu-lifecycle-config).
+ Habilite la característica de limpieza de cargas multiparte de Amazon EMR estableciendo `fs.s3.multipart.clean.enabled` en `true` y ajustando otros parámetros de limpieza. Esta característica es útil con volúmenes altos y a gran escala, así como con clústeres que tienen un tiempo de actividad limitado. En este caso, el parámetro `DaysAfterIntitiation` de una regla de configuración de ciclo de vida puede ser demasiado largo, incluso si se establece en su valor mínimo, provocando picos en el almacenamiento de Amazon S3. La limpieza multiparte de Amazon EMR permite un control más preciso. Para obtener más información, consulte [Configurar cargas multiparte para Amazon S3](#Config_Multipart). 

### Administrar los marcadores de versiones
<a name="w2aac28c11c17c11b7c11b9"></a>

Se recomienda habilitar una regla de configuración de ciclo de vida en Amazon S3 para eliminar los marcadores de eliminación de objetos vencidos de los buckets con control de versiones que utilice con Amazon EMR. Al eliminar un objeto de un bucket con control de versiones, se crea un marcador de eliminación. Si todas las versiones anteriores del objeto caducan posteriormente, queda un marcador de eliminación de objeto caducado en el bucket. Aunque no se aplican cargos por los marcadores de eliminación, si borra los marcadores caducados puede mejorar el rendimiento de las solicitudes de LIST. Para más información, consulte [Configuración del ciclo de vida de un bucket con el control de versiones](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-configuration-bucket-with-versioning.html) en la Guía del usuario de Amazon Simple Storage Service.

### Prácticas recomendadas de rendimiento
<a name="w2aac28c11c17c11b7c11c11"></a>

En función de las cargas de trabajo, los tipos específicos de uso de clústeres de EMR y las aplicaciones en dichos clústeres pueden dar lugar a un número elevado de solicitudes en su bucket. Para más información, consulte [Consideraciones sobre la tasa de solicitudes y el rendimiento](https://docs.aws.amazon.com/AmazonS3/latest/userguide/request-rate-perf-considerations.html) en la *Guía del usuario de Amazon Simple Storage Service*. 