

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.

# Recomendaciones para elegir la herramienta de preparación de datos adecuada en SageMaker IA
<a name="data-prep"></a>

La preparación de datos en machine learning se refiere al proceso de recopilación, preprocesamiento y organización de datos sin procesar para que hacer que sean adecuados para el análisis y el modelado. Este paso garantiza que los datos estén en un formato que los algoritmos de machine learning puedan aprender de forma eficaz. Las tareas de preparación de datos pueden incluir la gestión de los valores que faltan, la eliminación de valores atípicos, el escalado de características, la codificación de variables categóricas, la evaluación de posibles sesgos y la adopción de medidas para mitigarlos, la división de los datos en conjuntos de entrenamiento y pruebas, el etiquetado y otras transformaciones necesarias para optimizar la calidad y la usabilidad de los datos para las tareas posteriores de machine learning.

## Elección de una característica
<a name="data-prep-choose"></a>

Existen tres casos de uso principales para la *preparación de datos* con Amazon SageMaker AI. Elija el [caso de uso](#data-prep-choose-use-cases) que se ajuste a sus requisitos y, a continuación, consulte la [característica recomendada](#data-prep-choose-recommended) correspondiente.

### Casos de uso
<a name="data-prep-choose-use-cases"></a>

Estos son los principales casos de uso al realizar la preparación de datos para machine learning.
+ **Caso de uso 1**: Para aquellos que prefieren una interfaz visual, la SageMaker IA ofrece formas de explorar, preparar y diseñar funciones para el entrenamiento de modelos a través de un point-and-click entorno. 
+ **Caso de uso 2**: Para los usuarios familiarizados con la programación y que desean más flexibilidad y control sobre la preparación de los datos, la SageMaker IA integra herramientas en sus entornos de codificación para la exploración, las transformaciones y la ingeniería de características. 
+ **Caso de uso 3**: Para los usuarios que se centran en la preparación de datos escalable, la SageMaker IA ofrece funciones sin servidor que aprovechan el ecosistema Hadoop/Spark para el procesamiento distribuido de macrodatos.

### Características recomendadas
<a name="data-prep-choose-recommended"></a>

En la siguiente tabla se describen las principales consideraciones y desventajas de las funciones de SageMaker IA relacionadas con cada caso de uso de la preparación de datos para el aprendizaje automático. Para empezar, identifica el caso de uso que se ajuste a tus requisitos y navega hasta la función de IA recomendada SageMaker .


| Descriptor | Caso de uso 1 | Caso de uso 2 | Caso de uso 3 | 
| --- | --- | --- | --- | 
| SageMaker Función de IA | [Data Wrangler en Amazon Canvas](canvas-data-prep.md) SageMaker  | [Preparación de los datos con SQL en Studio](sagemaker-sql-extension.md) | Aplicaciones [Preparación de los datos con EMR sin servidor](studio-notebooks-emr-serverless.md) de Studio | 
| Description (Descripción) | SageMaker Canvas es un entorno visual de bajo código para crear, entrenar e implementar modelos de aprendizaje automático en IA. SageMaker Su herramienta Data Wrangler integrada permite a los usuarios combinar, transformar y limpiar conjuntos de datos mediante interacciones. point-and-click | La extensión SQL de Studio permite a los usuarios conectarse a Amazon Redshift, Snowflake, Athena y Amazon S3 para crear consultas SQL ad hoc y previsualizar los resultados en libretas. JupyterLab El resultado de estas consultas se puede manipular mediante Python y Pandas para el procesamiento, la visualización y la transformación adicionales en formatos utilizables para el desarrollo de modelos de machine learning. | La integración entre EMR Serverless y Amazon SageMaker Studio proporciona un entorno escalable sin servidor para la preparación de datos a gran escala para el aprendizaje automático mediante marcos de código abierto como Apache Spark y Apache Hive. Los usuarios pueden acceder directamente a las aplicaciones y los datos de EMR sin servidor desde sus cuadernos de Studio para realizar sus tareas de preparación de datos a gran escala. | 
| Optimizado para | Uso de una interfaz visual en la que puede: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-prep.html) Optimizado para tareas de datos tabulares, como el tratamiento de valores que faltan, la codificación de variables categóricas y la aplicación de transformaciones de datos.  | Para usuarios cuyos datos se encuentran en Amazon Redshift, Snowflake, Athena o [Amazon S3](studio-sqlexplorer-athena-s3-quickstart.md) y desean combinar el SQL exploratorio con Python para el análisis y la preparación de datos sin necesidad de conocer Spark. | Para los usuarios que prefieren una experiencia sin servidores con aprovisionamiento y finalización automáticos de los recursos para escalar cargas de trabajo interactivas intermitentes o de corta duración que giran en torno a Apache Spark y, al mismo tiempo, aprovechar las capacidades de aprendizaje automático de la IA. SageMaker  | 
| Consideraciones |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-prep.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-prep.html)  | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-prep.html)  | 
| Entorno recomendado | [Cómo empezar a usar Canvas SageMaker ](canvas-getting-started.md) | [Iniciar Studio](studio-updated-launch.md#studio-updated-launch-prereq) | [Iniciar Studio](studio-updated-launch.md#studio-updated-launch-prereq) | 

### Opciones adicionales
<a name="data-prep-choose-additional"></a>

 SageMaker La IA ofrece las siguientes opciones adicionales para preparar sus datos para su uso en modelos de aprendizaje automático. 
+ [Preparación de datos con Amazon EMR](studio-notebooks-emr-cluster.md): Para tareas de procesamiento de datos a gran escala, de larga duración y con uso intensivo de cálculos, considere la posibilidad de utilizar clústeres de Amazon EMR de Studio. SageMaker Los clústeres de Amazon EMR están diseñados para gestionar una paralelización masiva y pueden escalarse a cientos o miles de nodos, por lo que son ideales para cargas de trabajo de macrodatos que requieren marcos como Apache Spark, Hadoop, Hive y Presto. La integración de Amazon EMR con SageMaker Studio le permite aprovechar la escalabilidad y el rendimiento de Amazon EMR y, al mismo tiempo, centralizar y gestionar toda la experimentación con el aprendizaje automático, el entrenamiento y la implementación de modelos en el entorno de Studio. SageMaker 
+ [Prepare los datos mediante sesiones interactivas adhesivas](studio-notebooks-glue.md): puede utilizar el motor sin servidor basado en Apache Spark a partir de sesiones AWS Glue interactivas para agregar, transformar y preparar datos de múltiples fuentes en Studio. SageMaker 
+ [Identifique sesgos en los datos de entrenamiento mediante los]() trabajos SageMaker de procesamiento de Amazon SageMaker Clarify: Clarify analiza sus datos y detecta posibles sesgos en múltiples facetas. Por ejemplo, puede usar la API de Clarify en Studio para detectar si sus datos de entrenamiento contienen representaciones desequilibradas o sesgos de etiquetado entre grupos, como el sexo, la raza o la edad. Clarify puede servir de ayuda para identificar estos sesgos antes de entrenar un modelo para evitar que se propaguen sesgos en las predicciones del modelo.
+ [Crea, almacena y comparte funciones](): Amazon SageMaker Feature Store optimiza el descubrimiento y la reutilización de funciones seleccionadas para el aprendizaje automático. Proporciona un repositorio centralizado para almacenar datos de características que se pueden buscar y recuperar para el entrenamiento del modelo. El almacenamiento de las características en un formato estandarizado permite reutilizarlas en proyectos de ML. El Almacén de características administra todo el ciclo de vida de las características, incluido el seguimiento del linaje, las estadísticas y los registros de auditoría para una ingeniería de características de machine learning escalable y regulada.
+ [Etiquete los datos con una human-in-the-loop](data-label.md): puede utilizar SageMaker Ground Truth para gestionar los flujos de trabajo de etiquetado de datos de sus conjuntos de datos de entrenamiento. 
+ [Utilice la API de SageMaker procesamiento](processing-job.md)[: después de realizar un análisis de datos exploratorio y crear los pasos de transformación de los datos, puede producir su código de transformación mediante tareas de [procesamiento de SageMaker IA y automatizar su flujo de trabajo](processing-job.md) de preparación mediante Model Building Pipelines. SageMaker ](pipelines.md)

# Preparación de los datos con SQL en Studio
<a name="sagemaker-sql-extension"></a>

Amazon SageMaker Studio incluye una extensión SQL integrada. Esta extensión permite a los científicos de datos realizar tareas como el muestreo, el análisis exploratorio y la ingeniería de características directamente desde sus JupyterLab cuadernos. Aprovecha las AWS Glue conexiones para mantener un catálogo de fuentes de datos centralizado. El catálogo almacena metadatos sobre diversos orígenes de datos. A través de este entorno de SQL, los científicos de datos pueden navegar por los catálogos de datos, explorar sus datos, crear consultas de SQL complejas y procesar adicionalmente los resultados en Python. 

En esta sección, se explica cómo configurar la extensión de SQL en Studio. Describe las capacidades que ofrece esta integración de SQL y proporciona instrucciones para ejecutar consultas SQL en JupyterLab cuadernos. 

Para habilitar el análisis de datos de SQL, los administradores deben configurar primero AWS Glue las conexiones a las fuentes de datos pertinentes. Estas conexiones permiten a los científicos de datos acceder sin problemas a los conjuntos de datos autorizados desde dentro JupyterLab. 

Además de las AWS Glue conexiones configuradas por el administrador, la extensión SQL permite a los científicos de datos individuales crear sus propias conexiones de fuentes de datos. Estas conexiones creadas por los usuarios pueden administrarse de forma independiente y ajustarse al perfil del usuario con políticas de control de acceso basadas en etiquetas. Este modelo de conexión de doble nivel, con conexiones configuradas por el administrador y creadas por el usuario, proporciona a los científicos de datos un acceso más amplio a los datos que necesitan para sus tareas de análisis y modelado. Los usuarios pueden configurar las conexiones necesarias a sus propias fuentes de datos dentro de la interfaz de usuario (UI) del JupyterLab entorno, sin depender únicamente de las conexiones centralizadas establecidas por el administrador.

**importante**  
La capacidad de creación de conexiones definidas por el usuario está disponible como conjunto de bibliotecas independientes en PyPI. Para utilizar esta funcionalidad, debe instalar las siguientes bibliotecas en su JupyterLab entorno:  
[amazon-sagemaker-sql-editor](https://pypi.org/project/amazon-sagemaker-sql-editor/)
[amazon-sagemaker-sql-execution](https://pypi.org/project/amazon-sagemaker-sql-execution/)
[amazon-sagemaker-sql-magic](https://pypi.org/project/amazon-sagemaker-sql-magic/)
Puede instalar estas bibliotecas ejecutando los siguientes comandos en su JupyterLab terminal:  

```
pip install amazon-sagemaker-sql-editor>=0.1.13
pip install amazon-sagemaker-sql-execution>=0.1.6
pip install amazon-sagemaker-sql-magic>=0.1.3
```
Tras instalar las bibliotecas, tendrá que reiniciar el JupyterLab servidor para que los cambios surtan efecto.  

```
restart-jupyter-server
```

Con el acceso configurado, JupyterLab los usuarios pueden:
+ Ver y explorar orígenes de datos preconfigurados.
+ Buscar, filtrar e inspeccionar elementos de información de la base de datos, como tablas, esquemas y columnas.
+ Generar automáticamente parámetros de conexión a un origen de datos.
+ Crear consultas de SQL complejas mediante las características de resaltado de sintaxis, autocompletar y formato de SQL del editor de SQL de la extensión.
+ Ejecutar sentencias SQL desde las celdas del JupyterLab cuaderno.
+ Recupere los resultados de las consultas SQL pandas DataFrames para su posterior procesamiento, visualización y otras tareas de aprendizaje automático.

Para acceder a la extensión, seleccione el icono de la extensión SQL (![\[Icon of the SQL extension feature in JupyterLab.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) en el panel de navegación izquierdo de JupyterLab la aplicación en Studio. Al pasar el ratón sobre el icono, aparece la información sobre la herramienta *Detección de datos*.

**importante**  
La JupyterLab imagen de SageMaker Studio contiene la extensión SQL de forma predeterminada, empezando por [SageMaker AI Distribution](https://github.com/aws/sagemaker-distribution) 1.6. La extensión solo funciona con Python y SparkMagic kernels.
La interfaz de usuario de la extensión para explorar las conexiones y los datos solo está disponible JupyterLab en Studio. Es compatible con [Amazon Redshift](https://aws.amazon.com/redshift/), [Amazon Athena](https://aws.amazon.com/athena/) y [Snowflake](https://www.snowflake.com/en/).
+ Si es administrador y desea crear conexiones genéricas a orígenes de datos para la extensión de SQL, siga estos pasos:

  1. Active la comunicación de red entre su dominio de Studio y los orígenes de datos a los que desee conectarse. Para obtener más información sobre los requisitos de red, consulte [Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)](sagemaker-sql-extension-networking.md).

  1. Compruebe las propiedades de conexión y las instrucciones para crear un secreto para su origen de datos en [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md).

  1. Cree las AWS Glue conexiones a sus fuentes de datos en[Cree AWS Glue conexiones (para administradores)](sagemaker-sql-extension-datasources-glue-connection.md).

  1. Otorgue a la función de ejecución de su SageMaker dominio o perfiles de usuario los permisos necesarios en[Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)](sagemaker-sql-extension-datasources-connection-permissions.md).
+ Si es científico de datos y desea crear sus propias conexiones a orígenes de datos para la extensión de SQL, siga estos pasos:

  1. Haga que su administrador:
     + Active la comunicación de red entre su dominio de Studio y los orígenes de datos a los que desee conectarse. Para obtener más información sobre los requisitos de red, consulte [Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)](sagemaker-sql-extension-networking.md).
     + Otorgue los permisos necesarios a la función de ejecución de su SageMaker dominio o perfiles de usuario[Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)](sagemaker-sql-extension-datasources-connection-permissions.md).
**nota**  
Los administradores pueden restringir el acceso de los usuarios a las conexiones creadas en la JupyterLab aplicación configurando el [control de acceso basado en etiquetas](sagemaker-sql-extension-datasources-connection-permissions.md#user-defined-connections-permissions) en la función de ejecución.

  1. Compruebe las propiedades de conexión y las instrucciones para crear un secreto para su origen de datos en [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md).

  1. Cree su conexión en la JupyterLab interfaz de usuario siguiendo las instrucciones de[Cree conexiones definidas por el usuario AWS Glue](sagemaker-sql-extension-datasources-glue-connection-user-defined.md).
+ Si es un científico de datos que desea explorar y consultar sus orígenes de datos mediante la extensión de SQL, asegúrese de que usted o su administrador hayan configurado primero las conexiones a sus orígenes de datos. A continuación, siga estos pasos:

  1. Cree un espacio privado para iniciar la JupyterLab aplicación en Studio con la imagen de SageMaker distribución de la versión 1.6 o superior.

  1. Si es usuario de la versión 1.6 de la imagen de SageMaker distribución, cargue la extensión SQL en un JupyterLab bloc de notas ejecutándola `%load_ext amazon_sagemaker_sql_magic` en una celda de un bloc de notas.

     Para los usuarios de las versiones 1.7 y posteriores de la imagen de SageMaker distribución, no es necesario realizar ninguna acción: la extensión SQL se carga automáticamente.

  1. Familiarícese con las funciones de la extensión de SQL en [Características y uso de la extensión de SQL](sagemaker-sql-extension-features.md).

**Topics**
+ [Inicio rápido: consulta de datos en Amazon S3](studio-sqlexplorer-athena-s3-quickstart.md)
+ [Características y uso de la extensión de SQL](sagemaker-sql-extension-features.md)
+ [Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)](sagemaker-sql-extension-networking.md)
+ [Conexiones a orígenes de datos de extensiones de SQL](sagemaker-sql-extension-datasources-connection.md)
+ [Preguntas frecuentes](sagemaker-sql-extension-faqs.md)
+ [Parámetros de conexión](sagemaker-sql-extension-connection-properties.md)

# Inicio rápido: consulta de datos en Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart"></a>

Los usuarios pueden analizar los datos almacenados en Amazon S3 ejecutando consultas SQL desde JupyterLab cuadernos mediante la extensión SQL. La extensión se integra con Athena, lo que permite utilizar la funcionalidad de datos en Amazon S3 con unos pocos pasos adicionales.

En esta sección, se explican los pasos para cargar datos de Amazon S3 en Athena y, a continuación, consultarlos JupyterLab mediante la extensión SQL. Creará una fuente de datos y un AWS Glue rastreador de Athena para indexar sus datos de Amazon S3, configurará los permisos de IAM adecuados para permitir el acceso JupyterLab a Athena y se conectará a Athena para consultar los JupyterLab datos. Siguiendo estos pocos pasos, podrá analizar los datos de Amazon S3 utilizando la extensión SQL en los JupyterLab cuadernos.

**Requisitos previos**  
Inicie sesión en la consola AWS de administración con una cuenta de usuario AWS Identity and Access Management (IAM) con permisos de administrador. Para obtener más información sobre cómo registrar una cuenta de AWS y crear un usuario con acceso administrativo, consulte [Complete los requisitos previos de Amazon SageMaker AI](gs-set-up.md).
Tenga un dominio de SageMaker IA y un perfil de usuario para acceder a SageMaker Studio. Para obtener información sobre cómo configurar un entorno de SageMaker IA, consulte[Utilice la configuración rápida para Amazon SageMaker AI](onboard-quick-start.md).
Tenga un depósito y una carpeta de Amazon S3 para almacenar los resultados de las consultas de Athena, utilizando la misma AWS región y cuenta que su entorno de SageMaker IA. Para obtener más información sobre la creación de un bucket en Amazon S3, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) en la documentación de Amazon S3. Configurará este bucket y carpeta para que sea la ubicación de salida de consultas.

**Topics**
+ [Paso 1: Configure una fuente de datos y un AWS Glue rastreador de Athena para sus datos de Amazon S3](#studio-sqlexplorer-athena-s3-quickstart-setup)
+ [Paso 2: concesión a Studio de los permisos para acceder a Athena](#studio-sqlexplorer-athena-s3-quickstart-permissions)
+ [Paso 3: Habilita la conexión predeterminada de Athena en JupyterLab](#studio-sqlexplorer-athena-s3-quickstart-connect)
+ [Paso 4: Consulte datos en Amazon S3 desde JupyterLab cuadernos mediante la extensión SQL](#studio-sqlexplorer-athena-s3-quickstart-query)

## Paso 1: Configure una fuente de datos y un AWS Glue rastreador de Athena para sus datos de Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart-setup"></a>

Siga estos pasos para indexar los datos en Amazon S3 y crear tablas en Athena.

**nota**  
Para evitar colisiones entre los nombres de las tablas de diferentes ubicaciones de Amazon S3, cree un origen de datos y un rastreador independientes para cada ubicación. Cada origen de datos crea una tabla con el nombre de la carpeta que la contiene, a menos que tenga un prefijo.

1. Configuración de una ubicación de resultados de consultas

   1. Ve a la consola de Athena:. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)

   1. En el menú izquierdo, seleccione **Grupos de trabajo**.

   1. Siga el enlace del grupo de trabajo `primary` y elija **Editar**.

   1. En la sección **Configuración de los resultados de la consulta**, introduzca la ruta de Amazon S3 del directorio de salida y, a continuación, seleccione **Guardar cambios**.

1. Creación de un origen de datos de Athena para los datos de Amazon S3

   1. En el menú de la izquierda de la consola de Athena, seleccione **Orígenes de datos** y, a continuación, **Crear origen de datos**. 

   1. Seleccione **S3 - Catálogo de AWS Glue datos** y, a continuación, **Siguiente**. 

   1. Deje la opción predeterminada **Catálogo de datos de AWS Glue en esta cuenta**, elija **Crear un rastreador en AWS Glue** y, a continuación, **Crear en AWS Glue**. Esto abre la AWS Glue consola. 

1. Se usa AWS Glue para rastrear la fuente de datos

   1. Introduzca un nombre y una descripción para su nuevo rastreador y, a continuación, elija **Siguiente**. 

   1. En **Orígenes de datos**, elija **Agregar un origen de datos**.

      1. Si el depósito de Amazon S3 que contiene sus datos se encuentra en una AWS cuenta diferente a la de su entorno de SageMaker IA, elija **En una cuenta diferente** para la **ubicación de los datos de S3**.

      1. Introduzca la ruta a su conjunto de datos en Amazon S3. Por ejemplo:

         ```
         s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
         ```

      1. Mantenga todos los demás valores predeterminados y, a continuación, seleccione **Agregar un origen de datos de Amazon S3**. Debería ver un nuevo origen de datos de Amazon S3 en la tabla de orígenes de datos.

      1. Elija **Siguiente**.

       

   1. Configure el rol de IAM para que el rastreador acceda a sus datos.
**nota**  
El ámbito de cada rol se reduce al origen de datos que especifique. Al reutilizar un rol, edite la política de JSON para añadir cualquier recurso nuevo al que desee conceder acceso o cree un nuevo rol para este origen de datos.

      1. Elija **Crear un nuevo rol de IAM**.

      1. Introduzca un nombre para el rol y, a continuación, elija **Siguiente**.

1. Cree o seleccione una base de datos para sus tablas.

   1. Si no tiene una base de datos existente en Athena, elija **Agregar base de datos** y, a continuación, **Crear una base de datos nueva**.

   1. Para volver a la pestaña de creación del rastreador anterior, en **Configuración de salida**, elija el botón **Actualizar**. Ahora debería poder ver la base de datos recién creada en la lista.

   1. Seleccione su base de datos, añada un prefijo opcional en **Prefijo de nombre de la tabla** y, a continuación, seleccione **Siguiente**.
**nota**  
En el ejemplo anterior, en el que los datos se encuentran en `s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/`, al añadir el prefijo `taxi-ride-`, se creará una tabla con el nombre `taxi-ride-year_2019`. Añadir un prefijo ayuda a evitar colisiones de nombres de tablas cuando varias ubicaciones de datos tienen carpetas con nombres idénticos.

1. Seleccione **Crear rastreador**.

1. Ejecute el rastreador para indexar los datos. Espere a que el rastreador alcance el estado `Completed`, lo que puede tardar unos minutos.

Para asegurarte de que se ha creado una tabla nueva, ve al menú de la izquierda AWS Glue y selecciona **Bases** de datos y luego **Tablas**. Ahora debería ver una tabla nueva con sus datos. 

## Paso 2: concesión a Studio de los permisos para acceder a Athena
<a name="studio-sqlexplorer-athena-s3-quickstart-permissions"></a>

En los siguientes pasos, concede al rol de ejecución de su perfil de usuario permisos para acceder a Athena.

1. Recupere el ARN del rol de ejecución asociado con su perfil de usuario.

   1. Ve a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)y selecciona **Dominios** en el menú de la izquierda.

   1. Siga el nombre de su nombre de dominio.

   1. En la lista **Perfiles de usuario**, siga el nombre de su perfil de usuario.

   1. En la página **Detalles del usuario**, copie el ARN del rol de ejecución.

1. Actualice la política de su rol de ejecución.

   1. Busca tu AWS región y tu ID de cuenta en la parte superior derecha de la consola de SageMaker IA. Utilice estos valores y el nombre de su base de datos para actualizar los marcadores de posición de la siguiente política de JSON en un editor de texto.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "GetS3AndDataSourcesMetadata",
                  "Effect": "Allow",
                  "Action": [
                      "glue:GetDatabases",
                      "glue:GetSchema",
                      "glue:GetTables",
                      "s3:ListBucket",
                      "s3:GetObject",
                      "s3:GetBucketLocation",
                      "glue:GetDatabase",
                      "glue:GetTable",
                      "glue:ListSchemas",
                      "glue:GetPartitions"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*",
                      "arn:aws:glue:us-east-1:111122223333:catalog",
                      "arn:aws:glue:us-east-1:111122223333:database/db-name"
                  ]
              },
              {
                  "Sid": "ExecuteAthenaQueries",
                  "Effect": "Allow",
                  "Action": [
                      "athena:ListDataCatalogs",
                      "athena:ListDatabases",
                      "athena:ListTableMetadata",
                      "athena:StartQueryExecution",
                      "athena:GetQueryExecution",
                      "athena:RunQuery",
                      "athena:StartSession",
                      "athena:GetQueryResults",
                      "athena:ListWorkGroups",
                      "s3:ListMultipartUploadParts",
                      "s3:ListBucket",
                      "s3:GetBucketLocation",
                      "athena:GetDataCatalog",
                      "s3:AbortMultipartUpload",
                      "s3:GetObject",
                      "s3:PutObject",
                      "athena:GetWorkGroup"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              },
              {
                  "Sid": "GetGlueConnectionsAndSecrets",
                  "Effect": "Allow",
                  "Action": [
                      "glue:GetConnections",
                      "glue:GetConnection"
                  ],
                  "Resource": [
                      "*"
                  ]
              }
          ]
      }
      ```

------

   1. Ve a la consola de IAM [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)y selecciona **Roles** en el menú de la izquierda.

   1. Busque su rol por su nombre.
**nota**  
Puede recuperar el nombre de un rol de ejecución a partir de su nombre de recurso de Amazon (ARN) dividiendo el ARN en `'/'` y tomando el último elemento. Por ejemplo, en el siguiente ejemplo de un ARN `arn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole`, el nombre del rol de ejecución es `SageMakerStudio-SQLExtension-ExecutionRole`.

   1. Siga el enlace correspondiente a su rol.

   1. En la pestaña **Permisos**, elija **Agregar permisos** y después **Crear política insertada**.

   1. En la sección **Editor de políticas**, elija el formato `JSON`.

   1. Copie la política anterior y, a continuación, seleccione **Siguiente**. Asegúrese de haber reemplazado `account-id`, `region-name` y `db-name` por sus valores.

   1. Escriba un nombre para la política y elija **Crear política**.

## Paso 3: Habilita la conexión predeterminada de Athena en JupyterLab
<a name="studio-sqlexplorer-athena-s3-quickstart-connect"></a>

En los siguientes pasos, habilita una `default-athena-connection` en su JupyterLab aplicación. La conexión Athena predeterminada permite ejecutar consultas SQL en Athena directamente desde JupyterLab, sin necesidad de crear una conexión manualmente.

Habilitación de la conexión predeterminada de Athena

1. Ve a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)y selecciona **Studio** en el menú de la izquierda. Con su dominio y perfil de usuario, inicialice Studio.

1. Elige la JupyterLab aplicación. 

1. Si no ha creado un espacio para JupyterLab la aplicación, elija **Crear un JupyterLab espacio**. Introduzca un nombre para el espacio, manténgalo como **Privado** y, a continuación, seleccione **Crear espacio**. Administra tu espacio con la última versión de la imagen de SageMaker AI Distribution.

   De lo contrario, selecciona **Ejecutar espacio** en tu espacio para lanzar una JupyterLab aplicación.

1. Habilite la conexión predeterminada de Athena:

   1. En JupyterLab la aplicación, navegue hasta el menú de **ajustes** de la barra de navegación superior y abra el menú del **editor de ajustes**.

   1. Seleccione **Detección de datos**.

   1. Marque la casilla de verificación **Habilitar conexión predeterminada de Athena**.

   1. En la JupyterLab aplicación, elija el icono de la extensión SQL (![\[Purple circular icon with a clock symbol representing time or scheduling.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) en el panel de navegación izquierdo para abrir la extensión SQL.

   1.  Elija el botón **Actualizar** situado en la parte inferior del panel de detección de datos. Debería ver `default-athena-connection` en la lista de conexiones.

## Paso 4: Consulte datos en Amazon S3 desde JupyterLab cuadernos mediante la extensión SQL
<a name="studio-sqlexplorer-athena-s3-quickstart-query"></a>

Ya está preparado para consultar sus datos con SQL en sus JupyterLab cuadernos.

1. Abra la conexión `default-athena-connection` y, a continuación **AWS DataCatalog**.

1. Navegue hasta su base de datos y elija el icono de tres puntos (![\[SQL extension three dots icon.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-3dots-icon.png)) situado a la derecha. Seleccione **Consultar en el cuaderno**.

   Esto rellena automáticamente una celda del cuaderno JupyterLab con el comando `%%sm_sql` mágico correspondiente para conectarse a la fuente de datos. También añade un ejemplo de instrucción de SQL para ayudarle a empezar a realizar consultas de forma inmediata. 
**nota**  
Asegúrese de cargar la extensión en la celda superior antes de ejecutar una consulta de SQL.

   Puede refinar aún más la consulta de SQL mediante las características de autocompletar y resaltado de la extensión. Consulte [Características del editor SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-editor.md) para obtener más información sobre el uso de la extensión de SQL en el editor de SQL.

# Características y uso de la extensión de SQL
<a name="sagemaker-sql-extension-features"></a>

En esta sección se detallan las distintas funciones de la extensión JupyterLab SQL de Studio y se proporcionan instrucciones sobre cómo utilizarlas. Antes de poder utilizar la extensión SQL para acceder a los datos de las JupyterLab libretas y consultarlos, un administrador debe configurar primero la conexión a las fuentes de datos. Para obtener más información sobre cómo los administradores pueden crear conexiones a los orígenes de datos, consulte [Conexiones a orígenes de datos de extensiones de SQL](sagemaker-sql-extension-datasources-connection.md).

**nota**  
Para usar la extensión SQL, la JupyterLab aplicación debe ejecutarse en una imagen de [distribución de SageMaker IA de](https://github.com/aws/sagemaker-distribution/blob/main/README.md) la versión 1.6 o superior. Estas SageMaker imágenes tienen la extensión preinstalada.

La extensión incluye dos componentes para ayudarle a acceder a los datos de orígenes de datos preconfigurados, a detectarlos, consultarlos y analizarlos.
+ Utilice la *interfaz de usuario* de la extensión de SQL para detectar y explorar sus orígenes de datos. Las capacidades de interfaz de usuario se pueden dividir aún más en las siguientes subcategorías.
  + Con el elemento de interfaz de usuario de **exploración de datos**, puede examinar sus orígenes de datos y explorar sus tablas, columnas y metadatos. Para obtener más información sobre las características de exploración de datos de la extensión de SQL, consulte [Exploración de los datos con la extensión de SQL](sagemaker-sql-extension-features-data-discovery.md).
  + El elemento de **almacenamiento en caché de conexiones** almacena en caché las conexiones para un acceso rápido. Para obtener más información sobre el almacenamiento en caché de conexiones en la extensión de SQL, consulte [Almacenamiento en caché de conexiones de extensiones de SQL](sagemaker-sql-extension-features-connection-caching.md).
+ Utilice el *editor y el ejecutor de SQL* para escribir, editar y ejecutar consultas de SQL en los orígenes de datos conectados.
  + Con el elemento **editor de SQL**, puede escribir, formatear y validar sentencias SQL en los cuadernos de su JupyterLab aplicación en Studio. Para obtener más información sobre las características del editor de SQL, consulte [Características del editor SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-editor.md).
  + Con el elemento de **ejecución de SQL**, puede ejecutar sus consultas SQL y visualizar sus resultados desde los cuadernos de su JupyterLab aplicación en Studio. Para obtener más información sobre las capacidades de ejecución de SQL, consulte [Características de ejecución de SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-sql-execution.md).

# Exploración de los datos con la extensión de SQL
<a name="sagemaker-sql-extension-features-data-discovery"></a>

Para abrir la interfaz de usuario (UI) de la extensión SQL, elija el icono de la extensión SQL (![\[Purple circular icon with a clock symbol representing time or scheduling.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) en el panel de navegación de la JupyterLab aplicación en Studio. La vista de detección de datos del panel izquierdo se expande y muestra todas las conexiones de almacenamiento de datos preconfiguradas a Amazon Athena, Amazon Redshift y Snowflake.

Desde allí, puede:
+ Expandir una conexión específica para explorar sus bases de datos, esquemas, tablas o vistas y columnas.
+ Buscar una conexión específica mediante el cuadro de búsqueda de la interfaz de usuario de la extensión de SQL. La búsqueda devuelve todas las bases de datos, esquemas, tablas o vistas que coincidan parcialmente con la cadena introducida.

**nota**  
Si Athena ya está configurada en tu AWS cuenta, puedes activar una `default-athena-connection` en tu JupyterLab aplicación. Esto le permite ejecutar consultas de Athena sin necesidad de crear la conexión manualmente. Para habilitar la conexión predeterminada de Athena:  
Compruebe con su administrador que su función de ejecución tiene los permisos necesarios para acceder a Athena y al AWS Glue catálogo. Para obtener más información sobre los permisos necesarios, consulte [Configurar una AWS Glue conexión para Athena](sagemaker-sql-extension-datasources-glue-connection.md#sagemaker-sql-extension-athena-glue-connection-config).
En su JupyterLab aplicación, vaya al menú de **ajustes** de la barra de navegación superior y abra el menú del **editor de ajustes**.
Seleccione **Detección de datos**.
Marque la casilla de verificación **Habilitar conexión predeterminada de Athena**.
Si es necesario, puede actualizar la configuración predeterminada `primary` WorkGroup .

Para consultar una base de datos, un esquema o una tabla de un JupyterLab bloc de notas, desde una conexión determinada del panel de extensiones de SQL:
+ Seleccione el icono de tres puntos (![\[SQL extension three dots icon.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-3dots-icon.png)) situado en la parte derecha de cualquier base de datos, esquema o tabla.
+ Seleccione **Consultar en el cuaderno** en el menú.

  Esto rellena automáticamente una celda del cuaderno JupyterLab con el comando `%%sm_sql` mágico correspondiente para conectarse a la fuente de datos. También añade un ejemplo de instrucción de SQL para ayudarle a empezar a realizar consultas de forma inmediata. Puede refinar aún más la consulta de SQL mediante las características de autocompletar y resaltado de la extensión. Consulte [Características del editor SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-editor.md) para obtener más información sobre el uso de la extensión de SQL en el editor de SQL.

En la tabla, el icono de tres puntos proporciona la opción adicional de obtener una **Vista previa** de los metadatos de una tabla.

El siguiente contenido de las celdas del JupyterLab bloc de notas muestra un ejemplo de lo que se genera automáticamente al seleccionar el menú **Consulta en el bloc** de notas de una fuente de `redshift-connection` datos en el panel de extensiones de SQL.

```
%%sm_sql --metastore-id redshift-connection --metastore-type GLUE_CONNECTION

-- Query to list tables from schema 'dev.public'
SHOW TABLES
FROM
  SCHEMA "dev"."public"
```

Utilice el símbolo *menor que* (![\[Icon to clear the SQL extension search box.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-search-clear.png)) situado en la parte superior del panel de extensiones de SQL para borrar el cuadro de búsqueda o volver a la lista de conexiones.

**nota**  
La extensión almacena en caché los resultados de la exploración para acceder a ellos rápidamente. Si los resultados almacenados en caché están desactualizados o falta una conexión en la lista, puede actualizar la caché manualmente pulsando el botón **Actualizar** situado en la parte inferior del panel de extensiones de SQL. Para obtener más información sobre el almacenamiento en caché de conexiones, consulte [Almacenamiento en caché de conexiones de extensiones de SQL](sagemaker-sql-extension-features-connection-caching.md).

# Características del editor SQL de la extensión JupyterLab SQL
<a name="sagemaker-sql-extension-features-editor"></a>

La extensión SQL proporciona comandos mágicos que habilitan las funcionalidades del editor de SQL en las celdas de su JupyterLab cuaderno.

Si es usuario de la versión 1.6 de la imagen de SageMaker distribución, debe cargar la biblioteca mágica de extensiones SQL ejecutándola `%load_ext amazon_sagemaker_sql_magic` en un JupyterLab cuaderno. Esto activa las características de edición de SQL.

Para los usuarios de las versiones 1.7 y posteriores de la imagen de SageMaker distribución, no es necesario realizar ninguna acción: la extensión SQL se carga automáticamente.

Una vez cargada la extensión, añada el comando mágico `%%sm_sql` al principio de la celda para activar las siguientes funcionalidades del editor de SQL.
+ **Menú desplegable de selección de conexiones**: al añadir un comando mágico `%%sm_sql` a una celda, aparece un menú desplegable en la parte superior de la celda con las conexiones a los orígenes de datos disponibles. Seleccione una conexión para rellenar automáticamente los parámetros necesarios para consultar ese origen de datos. A continuación, se muestra un ejemplo de una cadena de comandos mágicos `%%sm_sql` generada al seleccionar la conexión llamada `connection-name`. 

  ```
  %%sm_sql --metastore-type GLUE_CONNECTION --metastore-id connection-name
  ```

  Utilice las características del editor de SQL que aparecen a continuación para crear sus consultas de SQL y, a continuación, ejecute la consulta ejecutando la celda. Para obtener más información acerca de las capacidades de ejecución de SQL, consulte [Características de ejecución de SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-sql-execution.md).
+ **Menú desplegable de resultados de consultas**: puede especificar cómo representar los resultados de la consulta seleccionando un tipo de resultado en el menú desplegable situado junto al menú desplegable de selección de conexiones. Elija entre las dos alternativas siguientes:
  + **Salida de celda**: (predeterminada) esta opción muestra el resultado de la consulta en el área de salida de celdas del cuaderno.
  + **Pandas Dataframe**: esta opción rellena un pandas DataFrame con los resultados de la consulta. Un cuadro de entrada adicional te permite ponerle un nombre DataFrame cuando eliges esta opción.
+ **Resaltado de la sintaxis de SQL**: la celda distingue automáticamente y de forma visual las palabras clave, cláusulas, operadores de SQL y mucho mediante colores y estilos. Esto facilita la lectura y la comprensión del código de SQL. Las palabras clave como `SELECT`, `FROM`, `WHERE` y las funciones integradas, como `SUM` y `COUNT`, o las cláusulas como, por ejemplo, `GROUP BY`, se resaltan con un color diferente y en negrita.
+ **Formato de SQL**: puede aplicar sangrías, mayúsculas, espaciados y saltos de línea uniformes para agrupar o separar instrucciones y cláusulas de SQL de una de las siguientes maneras. Esto facilita la lectura y la comprensión del código de SQL.
  + Haga clic con el botón derecho en la celda de SQL y seleccione **Formato de SQL**.
  + Cuando la celda de SQL esté seleccionada, use el método abreviado *ALT \$1 F* en Windows u *Opción \$1 F* en macOS.
+ **Autocompletar de SQL**: la extensión proporciona sugerencias automáticas y completa palabras clave de SQL, funciones, nombres de tablas, nombres de columnas y mucho más a medida que escribe. Cuando empieza a escribir una palabra clave de SQL como `SELECT` o `WHERE`, la extensión abre una ventana emergente con sugerencias para autocompletar el resto de la palabra. Por ejemplo, al escribir nombres de tablas o columnas, sugiere los nombres de tablas y columnas definidos en el esquema de la base de datos.
**importante**  
Para habilitar la finalización automática de SQL en los JupyterLab cuadernos, los usuarios de la versión 1.6 de la imagen de distribución de SageMaker IA deben ejecutar el siguiente `npm install -g vscode-jsonrpc sql-language-server` comando en una terminal. Una vez completada la instalación, reinicie el JupyterLab servidor ejecutándolo. `restart-jupyter-server`  
Para los usuarios de las versiones 1.7 y posteriores de imágenes de SageMaker distribución, no es necesario realizar ninguna acción.

  La celda ofrece dos métodos para autocompletar las palabras clave de SQL reconocidas:
  + Invocación explícita (recomendado): pulse la tecla **Tab** para abrir el menú contextual de sugerencias y, a continuación, pulse **Intro** para aceptar el elemento sugerido.
  + Sugerencias continuas: la celda sugiere automáticamente las palabras a medida que escribe.
**nota**  
La característica de autocompletar solo se activa si las palabras clave de SQL están en mayúsculas. Por ejemplo, al introducir `SEL`, se le pide `SELECT`, pero no si se escribe `sel`.
La primera vez que se conecta a un origen de datos, la característica de autocompletar de SQL indexa los metadatos del origen de datos. Este proceso de indexación puede tardar algún tiempo en completarse en función del tamaño de las bases de datos.

# Características de ejecución de SQL de la extensión JupyterLab SQL
<a name="sagemaker-sql-extension-features-sql-execution"></a>

Puede ejecutar consultas SQL en las fuentes de datos conectadas en la extensión SQL de JupyterLab. En las siguientes secciones se explican los parámetros más comunes para ejecutar consultas SQL en JupyterLab cuadernos:
+ Cree una conexión sencilla en [Creación de una cadena de conexión con un comando mágico sencillo](sagemaker-sql-extension-features-sql-execution-create-connection.md).
+ Guarda los resultados de tus consultas en formato pandas DataFrame . [Guarda los resultados de una consulta SQL en forma de pandas DataFrame](sagemaker-sql-extension-features-sql-execution-save-dataframe.md)
+ Anule o añada las propiedades de conexión definidas por su administrador en [Anulación de propiedades de conexiones](sagemaker-sql-extension-features-sql-execution-override-connection.md).
+ [Uso de parámetros de consulta para proporcionar valores dinámicos en las consultas de SQL](sagemaker-sql-extension-features-sql-execution-query-parameters.md).

Al ejecutar una celda con el comando mágico `%%sm_sql`, el motor de extensiones de SQL ejecuta la consulta de SQL en la celda con el origen de datos especificado en los parámetros del comando mágico.

Para ver los detalles de los parámetros del comando mágico y los formatos compatibles, ejecute `%%sm_sql?`.

**importante**  
Para usar Snowflake, los usuarios de la imagen de SageMaker distribución versión 1.6 deben instalar la dependencia de Python de Snowflake ejecutando el `micromamba install snowflake-connector-python -c conda-forge` siguiente comando en una terminal de su aplicación. JupyterLab Reinicie el JupyterLab servidor ejecutándolo `restart-jupyter-server` en la terminal una vez finalizada la instalación.  
En las versiones 1.7 y posteriores de las imágenes de SageMaker distribución, la dependencia de Snowflake viene preinstalada. No es necesario ninguna acción.

# Creación de una cadena de conexión con un comando mágico sencillo
<a name="sagemaker-sql-extension-features-sql-execution-create-connection"></a>

Si el administrador ha configurado las conexiones a los orígenes de datos, siga estos pasos para crear fácilmente una cadena de conexión en una celda de un cuaderno:

1. Abra una celda del cuaderno que utilice `%%sm_sql`.

1. Seleccione una conexión preconfigurada al origen de datos que desee en el menú desplegable de conexiones situado encima de la celda.

1. De esta forma, se rellenarán automáticamente los parámetros necesarios para consultar ese origen de datos.

Si lo desea, también puede indicar las propiedades de conexión insertadas en la celda.

Al seleccionar una conexión en el menú desplegable, se insertan los dos parámetros siguientes en la cadena de comandos mágicos predeterminada. Los parámetros contienen la información de conexión que configuró el administrador.
+ `--metastore-id`: el nombre del objeto de conexión que contiene los parámetros de conexión.
+ `--metastore-type`: el tipo de metaalmacén correspondiente a `--metastore-id`. La extensión SQL usa AWS Glue las conexiones como un metaalmacén de conexiones. Este número se establece automáticamente en `GLUE_CONNECTION`.

Por ejemplo, la cadena de conexión a un almacén de datos de Amazon Athena preconfigurado tiene el siguiente aspecto:

```
%%sm_sql --metastore-id athena-connection-name --metastore-type GLUE_CONNECTION 
```

# Guarda los resultados de una consulta SQL en forma de pandas DataFrame
<a name="sagemaker-sql-extension-features-sql-execution-save-dataframe"></a>

Puedes almacenar los resultados de tu consulta SQL en un DataFrame pandas. **La forma más sencilla de enviar los resultados de una consulta a DataFrame es utilizar el menú desplegable de [Características del editor SQL de la extensión JupyterLab SQL](sagemaker-sql-extension-features-editor.md) resultados de la consulta y elegir la opción de marco de datos de Pandas.**

Como alternativa, puede añadir el parámetro `--output '{"format": "DATAFRAME", "dataframe_name": "dataframe_name"}'` a la cadena de conexión.

Por ejemplo, la siguiente consulta extrae los detalles de los clientes con el saldo más alto de la tabla `Customer` de la base de datos `TPCH_SF1` de Snowflake, utilizando tanto pandas como SQL:
+ En este ejemplo, extraemos todos los datos de la tabla de clientes y los guardamos en un nombre. DataFrame `all_customer_data`

  ```
  %%sm_sql --output '{"format": "DATAFRAME", "dataframe_name": "all_customer_data"}' --metastore-id snowflake-connection-name --metastore-type GLUE_CONNECTION
  SELECT * FROM SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.CUSTOMER
  ```

  ```
  Saved results to all_customer_data
  ```
+ A continuación, extraemos los detalles del saldo más alto de la cuenta DataFrame.

  ```
  all_customer_data.loc[all_customer_data['C_ACCTBAL'].idxmax()].values
  ```

  ```
  array([61453, 'Customer#000061453', 'RxNgWcyl5RZD4qOYnyT3', 15,
  '25-819-925-1077', Decimal('9999.99'), 'BUILDING','es. carefully regular requests among the blithely pending requests boost slyly alo'],
  dtype=object)
  ```

# Anulación de propiedades de conexiones
<a name="sagemaker-sql-extension-features-sql-execution-override-connection"></a>

Es posible que las definiciones de conexiones predefinidas de su administrador no tengan los parámetros exactos que necesita para conectarse a un almacén de datos específico. Puede añadir o anular parámetros en la cadena de conexión mediante el argumento `--connection-properties`.

Los argumentos se aplican en el siguiente orden de prioridad:

1. Las propiedades de conexión anuladas se proporcionan como argumentos insertados.

1. Propiedades de conexión presentes en AWS Secrets Manager.

1. Propiedades de conexión en la AWS Glue conexión.

Si la misma propiedad de conexión está presente en los tres (argumento de línea de comandos, Secrets Manager y conexión), el valor proporcionado en el argumento de la línea de comandos tiene prioridad.

Para obtener más información sobre las propiedades de conexión disponibles por origen de datos, consulte [Parámetros de conexión](sagemaker-sql-extension-connection-properties.md).

El siguiente ejemplo ilustra un argumento de propiedad de conexión que establece el nombre del esquema de Amazon Athena.

```
%%sm_sql --connection-properties '{"schema_name": "athena-db-name"}' --metastore-id athena-connection-name --metastore-type GLUE_CONNECTION
```

# Uso de parámetros de consulta para proporcionar valores dinámicos en las consultas de SQL
<a name="sagemaker-sql-extension-features-sql-execution-query-parameters"></a>

Los parámetros de consulta se pueden usar para proporcionar valores dinámicos en las consultas de SQL.

En el siguiente ejemplo, pasamos un parámetro de consulta a la cláusula `WHERE` de la consulta.

```
# How to use '--query-parameters' with ATHENA as a data store
%%sm_sql --metastore-id athena-connection-name --metastore-type GLUE_CONNECTION --query-parameters '{"parameters":{"name_var": "John Smith"}}'
SELECT * FROM my_db.my_schema.my_table WHERE name = (%(name_var)s);
```

# Almacenamiento en caché de conexiones de extensiones de SQL
<a name="sagemaker-sql-extension-features-connection-caching"></a>

La extensión de SQL almacena en caché las conexiones de forma predeterminada para evitar que se creen varias conexiones para el mismo conjunto de propiedades de conexión. Las conexiones almacenadas en caché se pueden administrar mediante el comando mágico `%sm_sql_manage`.

En los temas siguientes, se describe cómo configurar y administrar las conexiones en caché.

**Topics**
+ [Creación de conexiones en caché](sagemaker-sql-extension-features-create-cached-connection.md)
+ [Enumeración de las conexiones en caché](sagemaker-sql-extension-features-list-cached-connection.md)
+ [Borrado de conexiones en caché](sagemaker-sql-extension-features-clear-cached-connection.md)
+ [Deshabilitación de las conexiones en caché](sagemaker-sql-extension-features-disable-cached-connection.md)

# Creación de conexiones en caché
<a name="sagemaker-sql-extension-features-create-cached-connection"></a>

Puede crear conexiones en caché especificando un nombre de conexión en el parámetro `--connection-name` de la cadena de conexión. Esto resulta especialmente útil cuando se anulan varias propiedades de conexión para un caso de uso específico y es necesario reutilizar las mismas propiedades sin volver a escribirlas.

Por ejemplo, el código siguiente guarda una conexión de Athena con una propiedad de conexión de esquema anulada con el nombre `--connection-name my_athena_conn_with_schema` y, a continuación, la reutiliza en otra celda:

```
%%sm_sql --connection-name my_athena_conn_with_schema --connection-properties '{"schema_name": "sm-sql-private-beta-db"}' --metastore-id sm-sql-private-beta-athena-connection --metastore-type GLUE_CONNECTION 
SELECT * FROM "covid_table" LIMIT 2
```

```
%%sm_sql --connection-name my_athena_conn_with_schema
SELECT * FROM "covid_table" LIMIT 2
```

# Enumeración de las conexiones en caché
<a name="sagemaker-sql-extension-features-list-cached-connection"></a>

Puede enumerar las conexiones en caché ejecutando el siguiente comando:

```
%sm_sql_manage --list-cached-connections
```

# Borrado de conexiones en caché
<a name="sagemaker-sql-extension-features-clear-cached-connection"></a>

Para borrar todas las conexiones en caché, ejecute el siguiente comando:

```
%sm_sql_manage --clear-cached-connections
```

# Deshabilitación de las conexiones en caché
<a name="sagemaker-sql-extension-features-disable-cached-connection"></a>

Para deshabilitar el almacenamiento en caché de las conexiones, ejecute el siguiente comando:

```
%sm_sql_manage --set-connection-reuse False
```

# Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)
<a name="sagemaker-sql-extension-networking"></a>

En esta sección se proporciona información sobre cómo los administradores pueden configurar una red para permitir la comunicación entre Amazon SageMaker Studio y [Amazon Redshift](https://aws.amazon.com/redshift/) o Amazon [Athena](https://aws.amazon.com/athena/), ya sea dentro de una Amazon VPC privada o a través de Internet. Las instrucciones de conexión en red varían en función de si el dominio de Studio y el almacén de datos se implementan dentro de una [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) (VPC) o se comunican a través de Internet.

De forma predeterminada, Studio se ejecuta en una VPC AWS gestionada con [acceso a Internet](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-default). Cuando se utiliza una conexión a Internet, Studio accede a AWS los recursos, como los buckets de Amazon S3, a través de Internet. Sin embargo, si tiene requisitos de seguridad para controlar el acceso a sus datos y contenedores de trabajo, le recomendamos que configure Studio y su almacén de datos (Amazon Redshift o Athena) de forma que sus datos y contenedores no sean accesibles a través de Internet. Para controlar el acceso a sus recursos o ejecutar Studio sin acceso público a Internet, puede especificar el tipo de acceso a la `VPC only` red al incorporarse al [dominio Amazon SageMaker AI](https://docs.aws.amazon.com/sagemaker/latest/dg/gs-studio-onboard.html). En este escenario, Studio establece conexiones con otros servicios de AWS a través de [puntos de conexión de VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) privados. Para obtener más información sobre cómo configurar Studio en el modo `VPC only`, consulte [Conexión de Studio en una VPC a recursos externos](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-vpc-only).

**nota**  
Para conectarse a Snowflake, la VPC del dominio de Studio debe tener acceso a Internet.

Las dos primeras secciones describen cómo garantizar la comunicación entre tu dominio de Studio y tu almacén de datos VPCs sin acceso público a Internet. La última sección trata de cómo garantizar la comunicación entre Studio y su almacén de datos utilizando una conexión a Internet. Antes de conectar Studio y su almacén de datos sin acceso a Internet, asegúrese de establecer puntos de enlace para Amazon Simple Storage Service, Amazon Redshift o Athena SageMaker , AI, y para CloudWatch Amazon and (registro AWS CloudTrail y supervisión).
+ Si Studio y el almacén de datos están en una cuenta diferente VPCs, ya sea en la misma AWS cuenta o en cuentas distintas, consulte. [Studio y el almacén de datos se implementan por separado VPCs](#sagemaker-sql-extension-networking-cross-vpc)
+ Si Studio y el almacén de datos están en la misma VPC, consulte [Studio y el almacén de datos se implementan en la misma VPC](#sagemaker-sql-extension-networking-same-vpc).
+ Si ha optado por conectar Studio y el almacén de datos a través de una red de Internet pública, consulte [Studio y el almacén de datos se comunican a través de una red de Internet pública](#sagemaker-sql-extension-networking-internet).

## Studio y el almacén de datos se implementan por separado VPCs
<a name="sagemaker-sql-extension-networking-cross-vpc"></a>

Para permitir la comunicación entre Studio y un almacén de datos implementado en diferentes ubicaciones VPCs:

1. Comience por conectarlo VPCs a través de una conexión de emparejamiento de VPC.

1. Actualice las tablas de enrutamiento en cada VPC para permitir el tráfico de red bidireccional entre las subredes de Studio y las subredes del almacén de datos. 

1. Configure sus grupos de seguridad para permitir el tráfico entrante y saliente.

Los pasos de configuración son los mismos tanto si Studio como el almacén de datos se implementan en una sola AWS cuenta o en cuentas diferentes AWS .

1. 

**Emparejamiento de VPC**

   Cree una conexión de [emparejamiento de VPC para facilitar la conexión](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html) en red entre ambas VPCs (Studio y el almacén de datos).

   1. En la cuenta de Studio, en el panel de control de la VPC, seleccione **Interconexiones** y, a continuación, **Crear interconexión**.

   1. Cree su solicitud para emparejar la VPC de Studio con la VPC del almacén de datos. Cuando solicites el emparejamiento en otra AWS cuenta, selecciona **Otra cuenta** en **Seleccione otra VPC con la que realizar** el emparejamiento.

      Para la interconexión entre cuentas, el administrador debe aceptar la solicitud de la cuenta del motor de SQL.

      Al emparejar subredes privadas, debe habilitar la resolución DNS de IP privada en el nivel de conexión de emparejamiento de VPC.

1. 

**Tablas de enrutamiento**

   Configure el enrutamiento para permitir el tráfico de red entre las subredes de VPC de Studio y del almacén de datos en ambas direcciones.

   Tras establecer la conexión de emparejamiento, el administrador (en cada cuenta para el acceso entre cuentas) puede añadir rutas a las tablas de rutas de las subredes privadas para enrutar el tráfico entre Studio y las subredes del almacén de datos. VPCs Para definir esas rutas, vaya a la sección **Route Tables (Tablas de enrutamiento)** de cada VPC en el panel de VPC.

1. 

**Grupos de seguridad**

   Por último, el grupo de seguridad de la VPC del dominio de Studio debe permitir el tráfico de salida y el grupo de seguridad de la VPC del almacén de datos debe permitir el tráfico de entrada en el puerto del almacén de datos desde el grupo de seguridad de VPC de Studio.

## Studio y el almacén de datos se implementan en la misma VPC
<a name="sagemaker-sql-extension-networking-same-vpc"></a>

 Si Studio y el almacén de datos están en subredes privadas diferentes de la misma VPC, añada rutas en la tabla de enrutamiento de cada subred privada. Las rutas deberían permitir que el tráfico fluya entre las subredes de Studio y las subredes del almacén de datos. Para definir esas rutas, vaya a la sección **Route Tables (Tablas de enrutamiento)** de cada VPC en el panel de VPC. Si implementó Studio y el almacén de datos en la misma VPC y la misma subred, no necesita enrutar el tráfico.

Independientemente de las actualizaciones de la tabla de enrutamiento, el grupo de seguridad de la VPC de dominio de Studio debe permitir el tráfico de salida y el grupo de seguridad de la VPC del almacén de datos debe permitir el tráfico de entrada en su puerto desde el grupo de seguridad de VPC de Studio.

## Studio y el almacén de datos se comunican a través de una red de Internet pública
<a name="sagemaker-sql-extension-networking-internet"></a>

De forma predeterminada, Studio proporciona una interfaz de red que permite la comunicación con Internet a través de una puerta de enlace de Internet en la VPC asociada al dominio de Studio. Si decide conectarse al almacén de datos a través de una red de Internet pública, el almacén de datos debe aceptar el tráfico de entrada en su puerto.

Se debe usar una [puerta de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) para permitir que las instancias de subredes privadas de varias unidades VPCs compartan una única dirección IP pública proporcionada por la [puerta de enlace de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) al acceder a Internet.

**nota**  
Cada puerto abierto para el tráfico de entrada representa un riesgo de seguridad potencial. Revise con atención los grupos de seguridad personalizados para asegurarse de minimizar las vulnerabilidades.

# Conexiones a orígenes de datos de extensiones de SQL
<a name="sagemaker-sql-extension-datasources-connection"></a>

Antes de utilizar la extensión SQL en las JupyterLab libretas, los administradores o los usuarios deben crear AWS Glue conexiones a sus fuentes de datos. La extensión de SQL permite conectarse a orígenes de datos como Amazon Redshift, Amazon Athena o Snowflake.

Para configurar las conexiones, los administradores primero deben asegurarse de que la configuración de red permita la comunicación entre Studio y los orígenes de datos y, después, conceder los permisos de IAM necesarios para que Studio pueda acceder a los orígenes de datos. Para obtener más información sobre cómo los administradores pueden configurar la red, consulte [Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)](sagemaker-sql-extension-networking.md). Para obtener más información sobre las políticas que se deben configurar, consulte [Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)](sagemaker-sql-extension-datasources-connection-permissions.md). Una vez configuradas las conexiones, los científicos de datos pueden usar la extensión SQL en sus JupyterLab cuadernos para buscar y consultar las fuentes de datos conectadas.

**nota**  
Le recomendamos guardar sus credenciales de acceso a la base de datos como un secreto en Secrets Manager. Para obtener más información sobre cómo crear secretos para almacenar las credenciales de acceso a Amazon Redshift o Snowflake, consulte [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md).

En esta sección se explica cómo configurar una AWS Glue conexión y se enumeran los permisos de IAM necesarios para que la JupyterLab aplicación Studio acceda a los datos a través de la conexión. 

**nota**  
[Amazon SageMaker Assets](sm-assets.md) integra [Amazon DataZone](https://docs.aws.amazon.com/datazone/latest/userguide/what-is-datazone.html) con Studio. Incluye un plan de SageMaker IA para que los administradores creen entornos de Studio a partir de DataZone proyectos de Amazon dentro de un DataZone dominio de Amazon.  
Los usuarios de una JupyterLab aplicación lanzada desde un dominio de Studio creado con el blueprint pueden acceder automáticamente a AWS Glue las conexiones a los activos de datos de su DataZone catálogo de Amazon cuando utilizan la extensión SQL. Esto permite consultar esos orígenes de datos sin tener que configurar las conexiones manualmente.

**Topics**
+ [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md)
+ [Cree AWS Glue conexiones (para administradores)](sagemaker-sql-extension-datasources-glue-connection.md)
+ [Cree conexiones definidas por el usuario AWS Glue](sagemaker-sql-extension-datasources-glue-connection-user-defined.md)
+ [Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)](sagemaker-sql-extension-datasources-connection-permissions.md)

# Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager
<a name="sagemaker-sql-extension-glue-connection-secrets"></a>

Antes de crear la conexión, se recomienda guardar en secreto las credenciales de acceso a la base de datos. AWS Secrets Manager Como alternativa, puede generar credenciales de base de datos temporales en función de los permisos concedidos mediante una política de permisos AWS Identity and Access Management (IAM) para gestionar el acceso de los usuarios a la base de datos. Para obtener más información, consulte [Uso de la autenticación de IAM para generar credenciales de usuario de base de datos](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html).

## Creación de un secreto para credenciales de Amazon Redshift
<a name="sagemaker-sql-extension-redshift-secret"></a>

**Para almacenar información de Amazon Redshift en Secrets Manager AWS**

1. Desde Consola de administración de AWS, navegue hasta Secrets Manager.

1. Elija **Almacenar un secreto nuevo**.

1. En **Tipo de secreto**, elija **Credenciales para Amazon Redshift**.

1. Introduzca el nombre de usuario y la contraseña del administrador configurados al inicializar el clúster de Amazon Redshift. 

1. Seleccione el clúster de Amazon Redshift asociado a los secretos.

1. Ponga un nombre a su secreto.

1. El resto de los ajustes se pueden dejar en los valores predeterminados para la creación del secreto inicial o se pueden personalizar si es necesario. 

1. Cree el secreto y recupere su ARN.

## Creación de un secreto para credenciales de acceso a Amazon Redshift sin servidor
<a name="sagemaker-sql-extension-redshift-serverless-secret"></a>

**Si necesita conectarse a Amazon Redshift sin servidor, siga estos pasos.**

1. Desde Consola de administración de AWS, navegue hasta Secrets Manager.

1. Elija **Almacenar un secreto nuevo**.

1. En **Tipo de secreto**, seleccione **Otro tipo de secreto**.

1. En el **Par clave-valor**, elija **Texto no cifrado** y, a continuación, copie el siguiente contenido de JSON. Sustituya el usuario y la contraseña por valores reales: 

   ```
   {
     "user": "redshift_user",
     "password": "redshift_password"
   }
   ```

1. Cree el secreto y recupere su ARN.

1. Al crear una nueva conexión en la extensión SQL JupyterLab, proporcione todos los demás parámetros de conexión de Amazon Redshift según sea necesario.

## Creación de un secreto para las credenciales de acceso de Snowflake
<a name="sagemaker-sql-extension-snowflake-secret"></a>

En esta sección, se proporcionan detalles sobre las propiedades del secreto y de conexión de los archivos de definición JSON que son específicos de Snowflake. Antes de crear la conexión, le recomendamos guardar sus credenciales de acceso a Snowflake como un secreto en Secrets Manager.

**Almacenamiento de información de Amazon Redshift en Secrets Manager**

1. Desde Consola de administración de AWS, navegue hasta Secrets Manager.

1. Elija **Almacenar un secreto nuevo**.

1. En **Tipo de secreto**, seleccione **Otro tipo de secreto**.

1. En el par clave-valor, elija **Texto no cifrado** y, a continuación, copie el siguiente contenido de JSON. Sustituya `user`, `password` y `account` por sus valores.

   ```
   {
       "user":"snowflake_user",
       "password":"snowflake_password",
       "account":"account_id"
   }
   ```

1. Ponga un nombre al secreto.

1. El resto de los ajustes se pueden dejar en los valores predeterminados para la creación del secreto inicial o se pueden personalizar si es necesario.

1. Cree el secreto y recupere su ARN.

# Cree AWS Glue conexiones (para administradores)
<a name="sagemaker-sql-extension-datasources-glue-connection"></a>

Para usar fuentes de datos con la extensión SQL, los administradores pueden configurar AWS Glue conexiones para cada fuente de datos. Estas conexiones almacenan los detalles de configuración necesarios que permiten acceder a los orígenes de datos e interactuar con ellos. Después de crear las conexiones y conceder los [permisos adecuados](sagemaker-sql-extension-datasources-connection-permissions.md), las conexiones pasan a ser visibles para todos los usuarios de [Espacios de Amazon SageMaker Studio](studio-updated-spaces.md) que comparten el mismo rol de ejecución.

Para crear estas conexiones:
+ En primer lugar, cree un archivo JSON que defina las propiedades de conexión de cada origen de datos. El archivo JSON incluye detalles como el identificador de la fuente de datos, las credenciales de acceso y otros parámetros de configuración relevantes para acceder a las fuentes de datos a través de las AWS Glue conexiones.
+ A continuación, utilice AWS Command Line Interface (AWS CLI) para crear la AWS Glue conexión y pase el archivo JSON como parámetro. El AWS CLI comando lee los detalles de la conexión del archivo JSON y establece la conexión adecuada.
**nota**  
La extensión de SQL admite la creación de conexiones utilizando únicamente la AWS CLI .

Antes de crear AWS Glue las conexiones, asegúrese de completar los siguientes pasos:
+ Instale y configure el AWS Command Line Interface (AWS CLI). Para obtener más información acerca de cómo instalar y configurar el AWS CLI, consulte [Acerca de la AWS CLI versión 2](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html). Asegúrese de que las claves de acceso y los tokens del usuario o rol de IAM utilizado para configurarlos AWS CLI tengan los permisos necesarios para crear AWS Glue conexiones. De lo contrario, añada una política que permita la acción `glue:CreateConnection`.
+ Comprenda cómo AWS Secrets Manager utilizarlos. Le recomendamos utilizar Secrets Manager para suministrar las credenciales de conexión y cualquier otra información confidencial para el almacén de datos. Para obtener más información sobre el uso de Secrets Manager para almacenar credenciales, consulte [Almacenamiento de credenciales de conexión en AWS Secrets Manager](https://docs.aws.amazon.com/glue/latest/dg/connection-properties-secrets-manager.html).

## Creación de un archivo JSON de definición de conexión
<a name="sagemaker-sql-extension-glue-connection-config"></a>

Para crear un archivo de definición de AWS Glue conexión, cree un archivo JSON para definir los detalles de la conexión en la máquina en la que la ha instalado y configurado AWS CLI. En este ejemplo, llame al archivo `sagemaker-sql-connection.json`.

El archivo de definición de conexión debe tener el siguiente formato general:
+ **Name** es el nombre de la conexión.
+ **Description** es una descripción textual de la conexión.
+ **ConnectionType**es el tipo de conexión. Elija `REDSHIFT`, `ATHENA` o `SNOWFLAKE`.
+ **ConnectionProperties**es un mapa de pares clave-valor para las propiedades de conexión, como el ARN del AWS secreto o el nombre de la base de datos.

```
{
    "ConnectionInput": {
        "Name": <GLUE_CONNECTION_NAME>,
        "Description": <GLUE_CONNECTION_DESCRIPTION>,
        "ConnectionType": "REDSHIFT | ATHENA | SNOWFLAKE",
        "ConnectionProperties": {
            "PythonProperties": "{\"aws_secret_arn\": <SECRET_ARN>, \"database\": <...>}"
        }
    }
}
```

**nota**  
Las propiedades de la clave `ConnectionProperties` se componen de pares clave-valor en cadenas. Cambie las comillas dobles que se utilizan en las claves o valores por un carácter de barra invertida (`\`).
Todas las propiedades disponibles en Secrets Manager también se pueden proporcionar directamente a través de `PythonProperties`. Sin embargo, no se recomienda incluir campos confidenciales, como contraseñas, en `PythonProperties`. En su lugar, es preferible usar Secrets Manager.

Los archivos de definición de conexión específicos de diferentes almacenes de datos se encuentran en las secciones siguientes.

Los archivos de definición de conexiones de cada origen de datos contienen las propiedades y la configuración específicas necesarias para conectarse a esos almacenes de datos desde la extensión de SQL. Consulte la sección correspondiente para obtener información sobre la definición de las conexiones a ese origen.
+ Para crear una AWS Glue conexión para Amazon Redshift, consulte el ejemplo del archivo de definición en. [Configurar una AWS Glue conexión para Amazon Redshift](#sagemaker-sql-extension-redshift-glue-connection-config)
+ Para crear una AWS Glue conexión para Amazon Athena, consulte el archivo de definición de ejemplo en. [Configurar una AWS Glue conexión para Athena](#sagemaker-sql-extension-athena-glue-connection-config)
+ Para crear una AWS Glue conexión para Snowflake, consulte el ejemplo del archivo de definición en. [Configure una AWS Glue conexión para Snowflake](#sagemaker-sql-extension-snowflake-glue-connection-config)

### Configurar una AWS Glue conexión para Amazon Redshift
<a name="sagemaker-sql-extension-redshift-glue-connection-config"></a>

En esta sección se proporcionan detalles sobre las propiedades del secreto y de conexión de los archivos de definición de JSON que son específicos de Amazon Redshift. Antes de crear el archivo de configuración de la conexión, le recomendamos que guarde sus credenciales de acceso a Amazon Redshift como un secreto en Secrets Manager. Como alternativa, puede generar credenciales de base de datos temporales en función de los permisos concedidos mediante una política de permisos AWS Identity and Access Management (IAM) para gestionar el acceso de los usuarios a la base de datos de Amazon Redshift. Para obtener más información, consulte [Uso de la autenticación de IAM para generar credenciales de usuario de base de datos](https://docs.aws.amazon.com/redshift/latest/mgmt/generating-user-credentials.html).

#### Creación de un secreto para credenciales de Amazon Redshift
<a name="sagemaker-sql-extension-redshift-secret"></a>

**Para almacenar información de Amazon Redshift en Secrets Manager AWS**

1. Desde la AWS consola, dirígete a Secrets Manager.

1. Elija **Almacenar un secreto nuevo**.

1. En **Tipo de secreto**, elija **Credenciales para Amazon Redshift**.

1. Introduzca el nombre de usuario y la contraseña del administrador configurados al inicializar el clúster de Amazon Redshift. 

1. Seleccione el clúster de Amazon Redshift asociado a los secretos.

1. Ponga un nombre a su secreto.

1. El resto de los ajustes se pueden dejar en los valores predeterminados para la creación del secreto inicial o se pueden personalizar si es necesario. 

1. Cree el secreto y recupere su ARN.

#### Configurar una AWS Glue conexión para Amazon Redshift
<a name="sagemaker-sql-extension-redshift-glue-connection-creation"></a>

La extensión SQL se conecta a las fuentes de datos mediante AWS Glue conexiones personalizadas. Para obtener información general sobre la creación de AWS Glue conexiones para conectar una fuente de datos, consulte[Cree AWS Glue conexiones (para administradores)](#sagemaker-sql-extension-datasources-glue-connection). El siguiente ejemplo es un ejemplo de definición de AWS Glue conexión para conectarse a Amazon Redshift.

Antes de crear una nueva conexión, tenga en cuenta estas recomendaciones:
+ Las propiedades de la clave `PythonProperties` se componen de pares clave-valor en cadenas. Cambie las comillas dobles que se utilizan en las claves o valores por un carácter de barra invertida (`\`).
+ En el archivo de definición de conexión, introduzca el nombre y la descripción de la conexión y sustituya el ARN del secreto de `aws_secret_arn` por el creado anteriormente.
+ Asegúrese de que la base de datos declarada por su nombre en la definición de conexión anterior sea la misma que la base de datos del clúster. Para comprobarlo, vaya a la página de detalles del clúster en la [consola de Amazon Redshift](https://console.aws.amazon.com/redshiftv2/) y verifique el nombre de la base de datos en **Configuraciones de la base de datos** en la sección **Propiedades**.
+ Para obtener más parámetros, consulte la lista de propiedades de conexión compatibles con Amazon Redshift en [Parámetros de conexiones de Amazon Redshift](sagemaker-sql-extension-connection-properties.md#sagemaker-sql-extension-connection-properties-redshift). 
**nota**  
De forma predeterminada, el conector de extensión de SQL para Python ejecuta todas las consultas de una transacción, a menos que `auto_commit` en las propiedades de conexión esté configurado en `true`. 
Puede añadir todos los parámetros de conexión, incluido el nombre de `database`, a un secreto.

```
{
  "ConnectionInput": {
      "Name": "Redshift connection name",
      "Description": "Redshift connection description",
      "ConnectionType": "REDSHIFT",
      "ConnectionProperties": {
          "PythonProperties":"{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name\", \"database\":\"database_name\", \"database_metadata_current_db_only\": false}"
      }
  }
}
```

Una vez actualizado el archivo de definición, siga los pasos que se indican [Crea AWS Glue conexiones](#sagemaker-sql-extension-datasources-glue-connection-creation) para crear la AWS Glue conexión.

### Configurar una AWS Glue conexión para Athena
<a name="sagemaker-sql-extension-athena-glue-connection-config"></a>

En esta sección, se proporcionan detalles sobre las propiedades de conexión en los archivos de definición JSON que son específicos de Athena.

#### Configurar una AWS Glue conexión para Athena
<a name="sagemaker-sql-extension-athena-glue-connection-creation"></a>

La extensión SQL se conecta a las fuentes de datos mediante AWS Glue conexiones personalizadas. Para obtener información general sobre la creación de AWS Glue conexiones para conectar una fuente de datos, consulte[Cree AWS Glue conexiones (para administradores)](#sagemaker-sql-extension-datasources-glue-connection). El siguiente ejemplo es un ejemplo de definición de AWS Glue conexión para conectarse a Athena.

Antes de crear una nueva conexión, tenga en cuenta estas recomendaciones:
+ Las propiedades de la clave `ConnectionProperties` se componen de pares clave-valor en cadenas. Cambie las comillas dobles que se utilizan en las claves o valores por un carácter de barra invertida (`\`). 
+ En el archivo de definición de conexión, introduzca el nombre y la descripción de la conexión, sustituya `catalog_name` por el nombre de su catálogo, `s3_staging_dir` por el URI (identificador uniforme de recursos) de Amazon S3 del directorio de salida de su bucket de Amazon S3 y `region_name` por la región de su bucket de Amazon S3.
+ Para ver más parámetros, consulte la lista de propiedades de conexión compatibles con Athena en [Parámetros de conexión de Athena](sagemaker-sql-extension-connection-properties.md#sagemaker-sql-extension-connection-properties-athena). 
**nota**  
Puede añadir todos los parámetros de conexión, incluido `catalog_name` y `s3_staging_dir`, a un secreto.
Si especifica un `workgroup`, no es necesario especificar `s3_staging_dir`.

```
{
    "ConnectionInput": {
        "Name": "Athena connection name",
        "Description": "Athena connection description",
        "ConnectionType": "ATHENA",
        "ConnectionProperties": {
            "PythonProperties": "{\"catalog_name\": \"catalog_name\",\"s3_staging_dir\": \"s3://amzn-s3-demo-bucket_in_same_region/output_query_results_dir/\", \"region_name\": \"region\"}"
        }
    }
}
```

Una vez actualizado el archivo de definición, siga los pasos que se indican [Crea AWS Glue conexiones](#sagemaker-sql-extension-datasources-glue-connection-creation) para crear la AWS Glue conexión.

### Configure una AWS Glue conexión para Snowflake
<a name="sagemaker-sql-extension-snowflake-glue-connection-config"></a>

En esta sección, se proporcionan detalles sobre las propiedades del secreto y de conexión de los archivos de definición JSON que son específicos de Snowflake. Antes de crear el archivo de configuración de la conexión, le recomendamos que guarde sus credenciales de acceso a Snowflake como un secreto en Secrets Manager.

#### Creación de un secreto para las credenciales de acceso de Snowflake
<a name="sagemaker-sql-extension-snowflake-secret"></a>

**Almacenamiento de información de Amazon Redshift en Secrets Manager**

1. Desde la AWS consola, navegue hasta. AWS Secrets Manager

1. Elija **Almacenar un secreto nuevo**.

1. En **Tipo de secreto**, seleccione **Otro tipo de secreto**.

1. En el par clave-valor, elija **Texto no cifrado** y, a continuación, copie el siguiente contenido de JSON. Sustituya `user`, `password` y `account` por sus valores.

   ```
   {
       "user":"snowflake_user",
       "password":"snowflake_password",
       "account":"account_id"
   }
   ```

1. Ponga un nombre al secreto.

1. El resto de los ajustes se pueden dejar en los valores predeterminados para la creación del secreto inicial o se pueden personalizar si es necesario.

1. Cree el secreto y recupere su ARN.

#### Configure una AWS Glue conexión para Snowflake
<a name="sagemaker-sql-extension-snowflake-glue-connection-creation"></a>

La extensión SQL se conecta a las fuentes de datos mediante conexiones personalizadas AWS Glue . Para obtener información general sobre la creación de AWS Glue conexiones para conectar una fuente de datos, consulte[Cree AWS Glue conexiones (para administradores)](#sagemaker-sql-extension-datasources-glue-connection). El siguiente ejemplo es un ejemplo de definición de AWS Glue conexión para conectarse a Snowflake.

Antes de crear una nueva conexión, tenga en cuenta estas recomendaciones:
+ Las propiedades de la clave `ConnectionProperties` se componen de pares clave-valor en cadenas. Cambie las comillas dobles que se utilizan en las claves o valores por un carácter de barra invertida (`\`). 
+ En el archivo de definición de conexión, introduzca el nombre y la descripción de la conexión y, a continuación, sustituya el ARN del secreto de `aws_secret_arn` por el ARN del secreto creado anteriormente y su ID de cuenta por `account`.
+ Para ver más parámetros, consulte la lista de propiedades de conexión compatibles con Snowflake en [Parámetros de conexión de Snowflake](sagemaker-sql-extension-connection-properties.md#sagemaker-sql-extension-connection-properties-snowflake).
**nota**  
Puede añadir todos los parámetros de conexión, incluido `account`, a un secreto.

```
{
    "ConnectionInput": {
        "Name": "Snowflake connection name",
        "Description": "Snowflake connection description",
        "ConnectionType": "SNOWFLAKE",
        "ConnectionProperties": {
            "PythonProperties":  "{\"aws_secret_arn\": \"arn:aws:secretsmanager:region:account_id:secret:secret_name\", \"account\":\"account_id\"}"}"
        }
    }
}
```

Una vez actualizado el archivo de definición, siga los pasos que se indican [Crea AWS Glue conexiones](#sagemaker-sql-extension-datasources-glue-connection-creation) para crear la conexión. AWS Glue 

## Crea AWS Glue conexiones
<a name="sagemaker-sql-extension-datasources-glue-connection-creation"></a>

Para crear una AWS Glue conexión a través de AWS CLI, utilice el archivo de definición de conexiones y ejecute este AWS CLI comando. Sustituya el `region` marcador de posición por el nombre de su AWS región y proporcione la ruta local al archivo de definición.

**nota**  
La ruta al archivo de definición de la configuración debe ir precedida por `file://`.

```
aws --region region glue create-connection --cli-input-json file://path_to_file/sagemaker-sql-connection.json
```

Compruebe que la AWS Glue conexión se ha creado ejecutando el siguiente comando y compruebe el nombre de la conexión.

```
aws --region region glue get-connections
```

Como alternativa, puedes actualizar una AWS Glue conexión existente de la siguiente manera:
+ Modifique el archivo de definición de AWS Glue conexión según sea necesario.
+ Ejecute el siguiente comando para actualizar la conexión.

  ```
  aws --region region glue update-connection --name glue_connection_name --cli-input-json file://path_to_file/sagemaker-sql-connection.json
  ```

# Cree conexiones definidas por el usuario AWS Glue
<a name="sagemaker-sql-extension-datasources-glue-connection-user-defined"></a>

**nota**  
Todas AWS Glue las conexiones creadas por los usuarios a través de la interfaz de usuario de la extensión SQL se etiquetan automáticamente con lo siguiente:  
`UserProfile: user-profile-name`
`AppType: "JL"`
Las etiquetas que se aplican a las AWS Glue conexiones creadas mediante la interfaz de usuario de la extensión SQL tienen dos propósitos. La `"UserProfile": user-profile-name` etiqueta permite identificar el perfil de usuario específico que creó la AWS Glue conexión, lo que proporciona visibilidad del usuario responsable de la conexión. La `"AppType": "JL"` etiqueta clasifica la procedencia de la conexión y la asocia a la aplicación. JupyterLab Esto permite diferenciar estas conexiones de las que pueden haberse creado por otros medios, como desde la AWS CLI. 

## Requisitos previos
<a name="sagemaker-sql-extension-datasources-glue-connection-user-defined-prerequisites"></a>

Antes de crear una AWS Glue conexión mediante la interfaz de usuario de la extensión SQL, asegúrese de haber completado las siguientes tareas: 
+ Haga que su administrador:
  + Active la comunicación de red entre su dominio de Studio y los orígenes de datos a los que desee conectarse. Para obtener más información sobre los requisitos de red, consulte [Configuración del acceso a la red entre Studio y los orígenes de datos (para administradores)](sagemaker-sql-extension-networking.md).
  + Asegúrese de que los permisos de IAM necesarios estén configurados para administrarlas conexiones a AWS Glue y el acceso a Secrets Manager. Para obtener más información sobre los permisos necesarios, consulte [Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)](sagemaker-sql-extension-datasources-connection-permissions.md).
**nota**  
Los administradores pueden restringir el acceso de los usuarios únicamente a las conexiones que haya creado un usuario dentro de la JupyterLab aplicación. Esto se puede hacer configurando un [control de acceso basado en etiquetas](https://docs.aws.amazon.com/sagemaker/latest/dg/sagemaker-sql-extension-datasources-connection-permissions.html#user-defined-connections-permissions) que se limite al perfil del usuario.
+ Compruebe las propiedades de conexión y las instrucciones para crear un secreto para su origen de datos en [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md).

## Flujo de trabajo de usuario
<a name="sagemaker-sql-extension-datasources-glue-connection-user-defined-steps"></a>

Los siguientes pasos proporcionan el flujo de trabajo del usuario al crear conexiones de usuario:

1. **Seleccionar el tipo de origen de datos**: al seleccionar el icono *Agregar nueva conexión*, se abre un formulario en el que se pide al usuario que seleccione el tipo de origen de datos al que quiere conectarse, como Amazon Redshift, Athena o Snowflake.

1. **Indicar las propiedades de conexión**: en función del origen de datos seleccionado, las propiedades de conexión relevantes se cargan de forma dinámica. El formulario indica qué campos son obligatorios u opcionales para el origen de datos elegido. Para obtener más información sobre las propiedades disponibles para el origen de datos, consulte [Parámetros de conexión](sagemaker-sql-extension-connection-properties.md).

1. **Seleccione su AWS Secrets Manager ARN: en** el caso de las fuentes de datos de Amazon Redshift y Snowflake, se le pide al usuario que seleccione el ARN de Secrets Manager AWS que almacena información confidencial, como el nombre de usuario y la contraseña. Para obtener más información sobre la creación de un secreto para su origen de datos, consulte [Creación de secretos para las credenciales de acceso a bases de datos en Secrets Manager](sagemaker-sql-extension-glue-connection-secrets.md).

1. **Guardar los detalles de la conexión**: al hacer clic en **Crear**, las propiedades de conexión proporcionadas se guardan como una conexión a AWS Glue . 

1. **Probar la conexión**: si la conexión se establece correctamente, las bases de datos y tablas asociadas se muestran en el explorador. Si la conexión falla, aparece un mensaje de error en el que se solicita al usuario que revise y corrija los detalles de la conexión.

1. **Familiarizarse con las características de la extensión de SQL**: para obtener más información sobre las funciones de la extensión, consulte [Características y uso de la extensión de SQL](sagemaker-sql-extension-features.md).

1. **(Opcional) Actualizar o eliminar las conexiones creadas por el usuario**: siempre que se hayan otorgado al usuario los permisos necesarios, puede actualizar o eliminar las conexiones que ha creado. Para obtener más información sobre los permisos necesarios, consulte [Conexiones definidas por el usuario que requieren permisos de IAM](sagemaker-sql-extension-datasources-connection-permissions.md#user-defined-connections-permissions).

# Configuración de los permisos de IAM para acceder a los orígenes de datos (para administradores)
<a name="sagemaker-sql-extension-datasources-connection-permissions"></a>

Los administradores deben asegurarse de que la función de ejecución utilizada por las JupyterLab aplicaciones cuente con los permisos de AWS IAM necesarios para acceder a los datos a través de las conexiones configuradas AWS Glue . 
+ **Conexiones creadas por los administradores mediante AWS CLI**: Para ver las AWS Glue conexiones [creadas por los administradores](sagemaker-sql-extension-datasources-glue-connection.md) y acceder a sus datos, los usuarios deben hacer que su administrador asigne permisos específicos a la función de ejecución de SageMaker IA que utilice su JupyterLab aplicación en Studio. Esto incluye el acceso a AWS Glue Secrets Manager y los permisos específicos de la base de datos. Las conexiones creadas por los administradores son visibles para todas las aplicaciones que comparten el rol de ejecución al que se le han concedido los permisos para ver catálogos o bases de datos de AWS Glue específicos. Para obtener más información sobre la lista de permisos necesarios por tipo de origen de datos, consulte los permisos de conexión definidos por el administrador en [Conexiones definidas por el administrador que requieren permisos de IAM](#admin-defined-connections-permissions). 
+ **Las conexiones creadas por los usuarios mediante la interfaz de usuario de la extensión SQL en JupyterLab**: Las conexiones [creadas por perfiles de usuario](sagemaker-sql-extension-datasources-glue-connection-user-defined.md) que comparten la misma función de ejecución también aparecerán en la lista, a menos que la visibilidad de sus conexiones se limite únicamente a las creadas por el usuario. Las conexiones creadas por los usuarios se etiquetan con el perfil de usuario que las creó. Para restringir la posibilidad de ver, actualizar o eliminar esas conexiones creadas por el usuario únicamente al usuario que las creó, los administradores pueden añadir restricciones adicionales de control de acceso basadas en etiquetas a los permisos de IAM del rol de ejecución. Para obtener más información acerca del control de acceso adicional basado en etiquetas necesario, consulte [Conexiones definidas por el usuario que requieren permisos de IAM](#user-defined-connections-permissions).

## Conexiones definidas por el administrador que requieren permisos de IAM
<a name="admin-defined-connections-permissions"></a>

Para conceder a la función de ejecución de SageMaker IA utilizada por tu JupyterLab aplicación en Studio acceso a una fuente de datos a través de una AWS Glue conexión, adjunta la siguiente política integrada a la función.

Para ver los permisos específicos y los detalles de la política de cada origen de datos o método de autenticación, elija el tipo de conexión correspondiente a continuación.

**nota**  
Le recomendamos que limite los permisos de su política únicamente a los recursos y las acciones necesarios.  
Para reducir las políticas y conceder el acceso con los privilegios mínimos, sustituya el comodín de `"Resource": ["*"]` la política por uno específico ARNs para los recursos exactos a los que se debe acceder. Para obtener más información acerca de cómo controlar el acceso a sus recursos, consulte [Ajuste el acceso a los AWS recursos con permisos de ARN granulares](#resource-access-control).

### Todos los tipos de conexión
<a name="datasources-connection-permissions-all"></a>

**nota**  
Recomendamos encarecidamente limitar el alcance de esta política solo a las acciones y los recursos necesarios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetS3AndDataSourcesMetadata",
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetSchema",
                "glue:GetTables",
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "glue:GetDatabase",
                "glue:GetTable",
                "glue:ListSchemas",
                "glue:GetPartitions"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:glue:us-east-1:111122223333:catalog",
    "arn:aws:glue:us-east-1:111122223333:connection/*"
            ]
        },
        {
            "Sid": "ExecuteQueries",
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:RunQuery",
                "athena:StartSession",
                "athena:GetQueryResults",
                "athena:ListWorkGroups",
                "s3:ListMultipartUploadParts",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "athena:GetDataCatalog",
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject",
                "athena:GetWorkGroup"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:athena:us-east-1:111122223333:workgroup/workgroup-name"
            ]
        },
        {
            "Sid": "GetGlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GetSecrets",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name"
            ]
        },
        {
            "Sid": "GetClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:111122223333:cluster:cluster-name"
            ]
        }
    ]
}
```

------

### Athena
<a name="datasources-connection-permissions-athena"></a>

**nota**  
Recomendamos encarecidamente limitar el alcance de esta política solo a los recursos necesarios.

Para obtener más información, consulte *ejemplos de políticas de permisos de IAM* en la [documentación de Athena](https://docs.aws.amazon.com/athena/latest/ug/federated-query-iam-access.html).

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetS3AndDataSourcesMetadata",
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetSchema",
                "glue:GetTables",
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation",
                "glue:GetDatabase",
                "glue:GetTable",
                "glue:ListSchemas",
                "glue:GetPartitions"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",                
                "arn:aws:glue:us-east-2:111122223333:catalog",
                "arn:aws:glue:us-east-2:111122223333:connection/*"
            ]
        },
        {
            "Sid": "ExecuteAthenaQueries",
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:StartQueryExecution",
                "athena:GetQueryExecution",
                "athena:RunQuery",
                "athena:StartSession",
                "athena:GetQueryResults",
                "athena:ListWorkGroups",
                "s3:ListMultipartUploadParts",
                "s3:ListBucket",
                "s3:GetBucketLocation",
                "athena:GetDataCatalog",
                "s3:AbortMultipartUpload",
                "s3:GetObject",
                "s3:PutObject",
                "athena:GetWorkGroup"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:athena:us-east-2:111122223333:workgroup/workgroup-name"
            ]
        },
        {
            "Sid": "GetGlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
                "arn:aws:glue:us-east-2:111122223333:catalog",
                "arn:aws:glue:us-east-2:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GetSecrets",
            "Effect": "Allow",
            "Action": [                
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret-name"       
            ]
        }
    ]
}
```

------

### Amazon Redshift y Amazon Redshift sin servidor (autenticación con nombre de usuario y contraseña)/Snowflake
<a name="datasources-connection-permissions-snowflake-redshift-user-password"></a>

**nota**  
Recomendamos encarecidamente limitar el alcance de esta política solo a los recursos necesarios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetS3Metadata",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "GetGlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
                "arn:aws:glue:us-east-2:111122223333:catalog",
                "arn:aws:glue:us-east-2:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GetSecrets",
            "Effect": "Allow",
            "Action": [                
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret-name"            
            ]
        }
    ]
}
```

------

### Amazon Redshift (autenticación de IAM)
<a name="datasources-connection-permissions-redshift-iam"></a>

**nota**  
Recomendamos encarecidamente limitar el alcance de esta política solo a los recursos necesarios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetS3Metadata",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*",
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "GetGlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
                "arn:aws:glue:us-east-1:111122223333:catalog",
                "arn:aws:glue:us-east-1:111122223333:connection/*",
                "arn:aws:glue:us-east-1:111122223333:connection/connection-name"
            ]
        },
        {
            "Sid": "GetSecrets",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name",
                "arn:aws:secretsmanager:us-east-1:111122223333:secret:secret-name-with-suffix"
            ]
        },
        {
            "Sid": "GetClusterCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:us-east-1:111122223333:cluster:cluster-name",
                "arn:aws:redshift:us-east-1:111122223333:dbuser:cluster-name/db-user-name"
            ]
        }
    ]
}
```

------

### Amazon Redshift sin servidor (autenticación de IAM)
<a name="datasources-connection-permissions-redshift-serverless-iam"></a>

**nota**  
Recomendamos encarecidamente limitar el alcance de esta política solo a los recursos necesarios.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "GetS3Metadata",
            "Effect": "Allow",
            "Action": [
                "s3:ListBucket",
                "s3:GetObject",
                "s3:GetBucketLocation"
            ],
            "Resource": [
                "arn:aws:s3:::amzn-s3-demo-bucket/*"
            ]
        },
        {
            "Sid": "GetGlueConnections",
            "Effect": "Allow",
            "Action": [
                "glue:GetConnections",
                "glue:GetConnection"
            ],
            "Resource": [
                "arn:aws:glue:us-east-2:111122223333:catalog",
                "arn:aws:glue:us-east-2:111122223333:connection/*"
            ]
        },
        {
            "Sid": "GetSecrets",
            "Effect": "Allow",
            "Action": [                
                "secretsmanager:GetSecretValue"
            ],
            "Resource": [
                "arn:aws:secretsmanager:us-east-2:111122223333:secret:secret-name"         
            ]
        },
        {
            "Sid": "GetRedshiftServerlessCredentials",
            "Effect": "Allow",
            "Action": [
                "redshift-serverless:GetCredentials"
            ],
            "Resource": [
                "arn:aws:redshift-serverless:us-east-2:111122223333:namespace/namespace-id"           
            ]
        }
    ]
}
```

------

## Conexiones definidas por el usuario que requieren permisos de IAM
<a name="user-defined-connections-permissions"></a>

Los permisos de la política de IAM para un usuario pueden explicar la presencia de la `UserProfile` etiqueta en AWS Glue los recursos de conexión.
+ **Para ver AWS Glue las conexiones**:
  + Los usuarios pueden ver todas las conexiones que no tienen la etiqueta `UserProfile` (creada por un administrador). 
  + Los usuarios pueden ver las conexiones que tienen la etiqueta `UserProfile` con el mismo valor que el nombre de su perfil de usuario. 
  + Los usuarios pueden ver las conexiones que tienen la etiqueta `UserProfile` con un valor distinto que el nombre de su perfil de usuario. 
+ **Para actualizar o eliminar AWS Glue conexiones**:
  + Los usuarios pueden actualizar o eliminar una conexión que tiene la etiqueta `UserProfile` con el mismo valor que el nombre de su perfil de usuario. 
  + Los usuarios pueden actualizar o eliminar una conexión que tiene la etiqueta `UserProfile` con un valor distinto que el nombre de su perfil de usuario. 
  + Los usuarios no pueden actualizar ni eliminar las conexiones que no tengan la etiqueta `UserProfile`. 

Para ello, los administradores deben conceder a la función de ejecución utilizada por la JupyterLab aplicación del perfil de usuario permisos adicionales además de los permisos de [conexión definidos por el administrador](#admin-defined-connections-permissions) existentes. En concreto, además de los permisos necesarios para acceder a AWS Glue las conexiones definidas por el administrador, se deben conceder los dos permisos de IAM adicionales siguientes a la función de ejecución del usuario:
+ Permiso para crear AWS Glue conexiones y asociar la `UserProfile` etiqueta al valor del nombre de perfil del usuario.
+ Permiso para ver, actualizar y eliminar AWS Glue las conexiones cuya `UserProfile` etiqueta coincida con el nombre del perfil del usuario.

Este permiso restringe el acceso a AWS Glue las conexiones en función de un valor de etiqueta de perfil de usuario específico. Actualice el valor de la etiqueta `UserProfile` con el nombre del perfil del usuario al que desee dirigirse.

```
"Action": [
    "glue:GetConnection",
    "glue:GetConnections"    
],
"Resource": [
    "arn:aws:glue:region:account_id:connection/*"
],
"Condition": {
    "StringEqualsIfExists": {
        "aws:ResourceTag/UserProfile": "user_profile_name"
    }
}
```

Este permiso restringe la posibilidad de crear, actualizar y eliminar conexiones creadas por el usuario únicamente a las conexiones creadas por el perfil de usuario con el valor de la etiqueta `UserProfile` especificado.

```
"Action": [
    "glue:DeleteConnection",
    "glue:UpdateConnection",
    "glue:CreateConnection",
    "glue:TagResource"
],
"Resource": [
    "arn:aws:glue:region:account_id:connection/*"
],
"Condition": {
    "StringEquals": {
        "aws:ResourceTag/UserProfile": "user_profile"
    }
}
```

## Ajuste el acceso a los AWS recursos con permisos de ARN granulares
<a name="resource-access-control"></a>

Para tener un control más preciso sobre el acceso a sus AWS recursos, sustituya el recurso `"Resource": ["*"]` comodín de sus políticas por los nombres de recursos de Amazon (ARNs) específicos de solo aquellos recursos que requieren acceso. El uso del código exacto ARNs en lugar de un comodín restringe el acceso a los recursos previstos. 
+ **Utilice un bucket de Amazon S3 específico ARNs**

  Por ejemplo, `"arn:aws:s3:::bucket-name"` o ` "arn:aws:s3:::bucket-name/*"` para operaciones de bucket o de objeto.

  Para obtener más información acerca de todos los tipos de recursos en Amazon S3, consulte [Tipos de recurso definidos por Amazon S3](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3.html#amazons3-resources-for-iam-policies).
+ **Utilice una base de AWS Glue datos específica ARNs**

  Por ejemplo, ` "arn:aws:glue:region:account-id:catalog"` o ` "arn:aws:glue:region:account-id:database/db-name"`. Para obtener información sobre todos los tipos de recursos AWS Glue, consulte [Tipos de recursos definidos por AWS Glue](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsglue.html#awsglue-resources-for-iam-policies).
+ **Utilice un grupo de trabajo específico de Athena ARNs**

  Por ejemplo, `"arn:aws:athena:region:account-id:workgroup/workgroup-name"`. Para obtener más información sobre los tipos de recursos de Athena, consulte [Tipos de recurso definidos por Amazon Athena](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonathena.html#amazonathena-resources-for-iam-policies).
+ **Usa un secreto específico de AWS Secrets Manager ARNs**

  Por ejemplo, `"arn:aws:secretsmanager:region:account-id:secret:secret-name"`. Para obtener información sobre todos los tipos de recursos de AWS Secrets Manager, consulte [Tipos de recursos definidos por AWS Secrets Manager](https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-resources-for-iam-policies)
+ **Utilice un clúster de Amazon Redshift específico ARNs**

  Por ejemplo, `"arn:aws:redshift:region:account-id:cluster:cluster-name"`. Para obtener más información acerca de los tipos de recursos de Amazon Redshift, consulte [Tipos de recursos definidos por Amazon Redshift](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshift.html#amazonredshift-resources-for-iam-policies). Para obtener más información acerca de todos los tipos de recursos de Redshift sin servidor, consulte [Tipos de recursos definidos por Amazon Redshift sin servidor](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonredshiftserverless.html#amazonredshiftserverless-resources-for-iam-policies).

# Preguntas frecuentes
<a name="sagemaker-sql-extension-faqs"></a>

Las siguientes FAQs respuestas responden a preguntas generales comunes sobre la extensión SQL en JupyterLab.

## P: ¿Dónde puedo encontrar los registros de la extensión de SQL?
<a name="sagemaker-sql-extension-faqs-0"></a>

R: La extensión SQL escribe su registro en el archivo de registro general de la JupyterLab aplicación en Studio. Puede encontrar esos registros en `/var/log/apps/app_container.log`.

## P: Aparece un error: «UsageError: No se ha encontrado el Cell magic `%%sm\$1sql`.»
<a name="sagemaker-sql-extension-faqs-1"></a>

R: Cree una nueva celda y vuelva a cargar la extensión usando `%load_ext amazon_sagemaker_sql_magic`.

## P: ¿Cómo puedo enumerar los distintos parámetros de mi comando `%%sm_sql`?
<a name="sagemaker-sql-extension-faqs-2"></a>

R: Utilice `%%sm_sql?` para ver el contenido de ayuda del comando.

## P: No veo la vista de detección de datos en el panel lateral derecho.
<a name="sagemaker-sql-extension-faqs-3"></a>

R: Asegúrese de que su espacio utilice una imagen de SageMaker distribución de la versión 1.6 o superior. Estas SageMaker imágenes vienen preinstaladas con la extensión. 

Si ha actualizado la imagen del espacio de JupyterLab aplicaciones en Studio, actualice el navegador.

## P: El panel derecho no refleja con precisión las AWS Glue conexiones que están configuradas.
<a name="sagemaker-sql-extension-faqs-4"></a>

R: Intente actualizar el panel derecho con el botón **Actualizar** situado en la esquina inferior derecha de la IU de la extensión de SQL de su cuaderno.

## P: Las instrucciones de SQL no se ejecutan de la forma esperada o se ejecutan de forma incorrecta.
<a name="sagemaker-sql-extension-faqs-5"></a>

R: Intente borrar las conexiones almacenadas en caché ejecutando el siguiente comando mágico `%sm_sql_manage --clear-cached-connections`.

## P: Aparece el error: Actual statement count 2 did not match the desired statement count 1.
<a name="sagemaker-sql-extension-faqs-6"></a>

R: La extensión de SQL solo permite ejecutar una consulta de SQL a la vez.

## Copo de nieve FAQs
<a name="sagemaker-sql-extension-faqs-snowflake"></a>

A continuación, se FAQs responden a las preguntas generales habituales de los usuarios de la extensión SQL que utilizan Snowflake como fuente de datos.

### P: Aparece el error: No active warehouse selected in the current session. Seleccione un almacén activo con el comando “use warehouse”.
<a name="sagemaker-sql-extension-faqs-snowflake-1"></a>

R: Esto puede suceder si no se selecciona el almacén predeterminado para un usuario. Ejecute el comando `USE WAREHOUSE warehouse_name` para cada sesión.

### P: Aparece un error: «el objeto '*foo*' no existe o no está autorizado».
<a name="sagemaker-sql-extension-faqs-snowflake-2"></a>

R: Asegúrese de que su usuario de Snowflake tenga acceso al objeto en cuestión.

# Parámetros de conexión
<a name="sagemaker-sql-extension-connection-properties"></a>

En las siguientes tablas se detallan las propiedades de Python compatibles para AWS Glue las conexiones por banco de datos.

## Parámetros de conexiones de Amazon Redshift
<a name="sagemaker-sql-extension-connection-properties-redshift"></a>

Las AWS Glue conexiones a Amazon Redshift admiten los siguientes parámetros de conexión de Python.


| Key | Tipo | Description (Descripción) | Restricciones | Obligatorio | 
| --- | --- | --- | --- | --- | 
| auto\$1create | Tipo: boolean | Indica si se debe crear el usuario si no existe. El valor predeterminado es false. | true, false | No | 
| aws\$1secret\$1arn | Tipo: string | El ARN del secreto utilizado para recuperar los parámetros adicionales de la conexión. | ARN válido | No | 
| cluster\$1identifier | Tipo: string - maxLength: 63 | El identificador de clúster del clúster de Amazon Redshift. | ^(?\$1.\$1—)[a-z][a-z0-9-]\$10,61\$1[a-z0-9]\$1 | No | 
| database | Tipo: string - maxLength: 127 | Nombre de la base de datos a la que se va a conectar. |  | No | 
| database\$1metadata\$1current\$1db\$1only | Tipo: boolean | Indica si la aplicación admite catálogos de recursos compartidos de datos de varias bases de datos. El valor predeterminado es true para indicar que la aplicación no admite catálogos de recursos compartidos de datos de varias bases de datos para compatibilidad con versiones anteriores. | true, false | No | 
| db\$1groups | Tipo: string | Una lista separada por comas de los nombres de grupos de bases de datos existentes que db\$1user une para la sesión actual. |  | No | 
| db\$1user | Tipo: string | El ID de usuario que se utilizará con Amazon Redshift. |  | No | 
| host | Tipo: string - maxLength: 256 | El nombre del host del clúster de Amazon Redshift. |  | No | 
| iam | Tipo: boolean | Marca para habilitar o deshabilitar la autenticación basada en IAM para una conexión. El valor predeterminado es false. | true, false | No | 
| iam\$1disable\$1cache | Tipo: boolean | Esta opción especifica si las credenciales de IAM se almacenan en caché. El valor predeterminado es true. De este modo, se mejora el rendimiento en los casos en que las solicitudes a la API Gateway tienen limitación controlada. | true, false | No | 
| max\$1prepared\$1statements | Tipo: integer | El número máximo de instrucciones preparadas que se pueden abrir a la vez. |  | No | 
| numeric\$1to\$1float | Decimal a flotante | Especifica si los valores NUMERIC de los tipos de datos se convertirán de decimales. Por defecto, los valores NUMERIC se reciben como objetos decimal.Decimal de Python. No se recomienda activar esta opción para los casos de uso en los que se prefiera la máxima precisión, ya que los resultados podrían redondearse. Consulte la documentación de Python en [https://docs.python.org/3/library/decimal.html#decimal-objects](https://docs.python.org/3/library/decimal.html#decimal-objects) para conocer las ventajas y desventajas de decimal.Decimal y float antes de habilitar esta opción. El valor predeterminado es false. | true, false | No | 
| port | Tipo: integer | El número de puerto del clúster de Amazon Redshift. | Rango: 1150-65535 | No | 
| profile | Tipo: string - maxLength: 256 | El nombre del perfil que contiene las credenciales y la configuración que utiliza AWS CLI. |  | No | 
| region | Tipo: string | La AWS región en la que se encuentra el clúster. |  AWS Región válida | No | 
| serverless\$1acct\$1id | Tipo: string - maxLength: 256 | El ID de AWS cuenta asociado al recurso sin servidor de Amazon Redshift. |  | No | 
| serverless\$1work\$1group | Tipo: string - maxLength: 256 | El nombre del grupo de trabajo del punto de conexión de Amazon Redshift sin servidor. |  | No | 
| ssl | Tipo: boolean | true si SSL está habilitado. | true, false | No | 
| ssl\$1mode | Tipo: enum[verify-ca, verify-full, null]) | La seguridad de la conexión a Amazon Redshift. Se admiten verify-ca (se debe utilizar SSL y se debe verificar el certificado del servidor) y verify-full (se debe usar SSL. Se debe verificar el certificado del servidor y el nombre de host del servidor debe ser igual al atributo de nombre de host del certificado). Para obtener más información, consulte [Configuración de las opciones de seguridad para las conexiones](https://docs.aws.amazon.com/redshift/latest/mgmt/connecting-ssl-support.html) en la documentación de Amazon Redshift. El valor predeterminado es verify-ca. | verify-ca, verify-full | No | 
| timeout | Tipo: integer | La cantidad de segundos antes de que la conexión al servidor se agote. | 0 | No | 

## Parámetros de conexión de Athena
<a name="sagemaker-sql-extension-connection-properties-athena"></a>

Las conexiones a Athena admiten los siguientes parámetros de AWS Glue conexión de Python.


| Key | Tipo | Description (Descripción) | Restricciones | Obligatorio | 
| --- | --- | --- | --- | --- | 
| aws\$1access\$1key\$1id | Tipo: string - maxLength: 256 | Especifica una clave de AWS acceso asociada a una cuenta de IAM. Recomendamos almacenar esta información en el aws\$1secret. | Longitud: 16-128 | No | 
| aws\$1secret\$1access\$1key | Tipo: string - maxLength: 256 | Parte secreta de una clave de AWS acceso. Recomendamos almacenar esta información en el aws\$1secret. |  | No | 
| aws\$1secret\$1arn | Tipo: string | El ARN del secreto utilizado para recuperar los parámetros adicionales de la conexión. | ARN válido | No | 
| catalog\$1name | Tipo: string - maxLength: 256 | El catálogo que contiene las bases de datos y las tablas a las que se accede con el controlador. Para obtener información sobre los catálogos, consulte [DataCatalog](https://docs.aws.amazon.com/athena/latest/APIReference/API_DataCatalog.html). |  | No | 
| duration\$1seconds | Tipo: number | La duración de la sesión del rol en segundos. Esta opción puede tener un valor comprendido entre 1 y 12 horas. De forma predeterminada, la duración está establecida en 3600 segundos (1 hora).  | Oscila entre 900 segundos (15 minutos) y el valor de la duración máxima de la sesión para el rol. | No | 
| encryption\$1option | Tipo: enum[SSE\$1S3, SSE\$1KMS, CSE\$1KMS, null]) | Cifrado en reposo para Amazon S3. Consulte la sección Cifrado en reposo en la [Guía del usuario de Athena](https://docs.aws.amazon.com/athena/latest/ug/encryption.html). | SSE\$1S3, SSE\$1KMS, CSE\$1KMS | No | 
| kms\$1key | Tipo: string - maxLength: 256 | AWS KMS clave si se usa CSE\$1KMS enencrytion\$1option. |  | No | 
| poll\$1interval | Tipo: number | Intervalo en segundos para sondear el estado de los resultados de la consulta en Athena. |  | No | 
| profile\$1name | Tipo: string - maxLength: 256 | El nombre del perfil de AWS configuración cuyas credenciales deben usarse para autenticar la solicitud a Athena. |  | No | 
| region\$1name | Tipo: string | La AWS región en la que se ejecutan las consultas. |  AWS Región válida | No | 
| result\$1reuse\$1enable | Tipo: boolean | Habilite la reutilización del resultado de la consulta anterior. | true, false | No | 
| result\$1reuse\$1minutes | Tipo: integer | Especifica, en minutos, la antigüedad máxima de un resultado de consulta anterior que Athena debe tener en cuenta para su reutilización. El valor predeterminado es 60. | >= 1 | No | 
| role\$1arn | Tipo: string | El rol que se utilizará para ejecutar consultas. | ARN válido | No | 
| schema\$1name | Tipo: string - maxLength: 256 | Nombre del esquema predeterminado que se va a usar en la base de datos. |  | No | 
| s3\$1staging\$1dir | Tipo: string - maxLength: 1024 | La ubicación en Amazon S3 en la que se almacenan los resultados de las consultas. |  | Se necesita s3\$1staging\$1dir o work\$1group | 
| work\$1group | Tipo: string | El grupo de trabajo en el que se ejecutarán las consultas. Para obtener información sobre los grupos de trabajo, consulte [WorkGroup](https://docs.aws.amazon.com/athena/latest/APIReference/API_WorkGroup.html). | ^[a-zA-Z0-9.\$1-]\$11,128\$1\$1 | Se necesita s3\$1staging\$1dir o work\$1group | 

## Parámetros de conexión de Snowflake
<a name="sagemaker-sql-extension-connection-properties-snowflake"></a>

Las conexiones a Snowflake admiten los siguientes parámetros de AWS Glue conexión de Python.

Parámetros de conexión de Snowflake


| Key | Tipo | Description (Descripción) | Restricciones | Obligatorio | 
| --- | --- | --- | --- | --- | 
| account | Tipo: string - maxLength: 256 | El identificador de la cuenta de Snowflake. El identificador de la cuenta no incluye el sufijo snowflakecomputing.com. |  | Sí | 
| arrow\$1number\$1to\$1decimal | Tipo: boolean | De forma predeterminada, es False, lo que significa que los valores de la columna NUMBER se devuelven como números de coma flotante de doble precisión (float64). Establézcalo en True para devolver los valores de las columnas DECIMAL como números decimales (decimal.Decimal) al llamar a los métodos fetch\$1pandas\$1all() y fetch\$1pandas\$1batches(). | true, false | No | 
| autocommit | Tipo: boolean | El valor predeterminado es false, lo que respeta el parámetro de Snowflake AUTOCOMMIT. Configúrelo en true o false para habilitar o deshabilitar el modo autocommit en la sesión, respectivamente. | true, false | No | 
| aws\$1secret\$1arn | Tipo: string | El ARN del secreto utilizado para recuperar los parámetros adicionales de la conexión. | ARN válido | No | 
| client\$1prefetch\$1threads | Tipo: integer | El número de subprocesos utilizados para descargar los conjuntos de resultados (4 de manera predeterminada). Si se aumenta el valor, se mejora el rendimiento de la búsqueda, pero se requiere más memoria. |  | No | 
| database | Tipo: string - maxLength: 256 | El nombre de la base de datos predeterminada que se va a utilizar. |  | No | 
| login\$1timeout | Tipo: integer | El tiempo de espera en segundos para la solicitud de inicio de sesión. El valor predeterminado es de 60 segundos. La solicitud de inicio de sesión se cancela una vez transcurrido el tiempo de espera si la respuesta de HTTP no es success. |  | No | 
| network\$1timeout | Tipo: integer | El tiempo de espera en segundos para todas las demás operaciones. El valor predeterminado es none (infinito). Una solicitud general se cancela una vez transcurrido el tiempo de espera si la respuesta de HTTP no es success. |  | No | 
| paramstyle | Tipo: string - maxLength: 256 | Sintaxis de los marcadores de posición utilizados para la sustitución de parámetros al ejecutar consultas de SQL desde el código de Python. El valor predeterminado es pyformat para la vinculación en el cliente. Especifique qmark o numeric para cambiar los formatos de las variables de enlace para el enlace en el servidor. |  | No | 
| role | Tipo: string - maxLength: 256 | El nombre del rol predeterminado que se debe utilizar. |  | No | 
| schema | Tipo: string - maxLength: 256 | El nombre del esquema predeterminado que se va a usar en la base de datos. |  | No | 
| timezone | Tipo: string - maxLength: 128 | Es Ninguno de manera predeterminada para respetar el parámetro de Snowflake TIMEZONE. Configúrelo en una zona horaria válida (por ejemplo, America/Los\$1Angeles) para establecer la zona horaria de la sesión. | Zona horaria en un formato similar a America/Los\$1Angeles | No | 
| validate\$1default\$1parameters | Tipo: boolean | Configúrelo en true para generar una excepción si la base de datos, el esquema o el almacén especificados no existen. El valor predeterminado es false. |  | No | 
| warehouse | Tipo: string - maxLength: 256 | El nombre del almacén predeterminado que se debe utilizar. |  | No | 

# Preparación de datos a escala mediante aplicaciones de Amazon EMR sin servidor o clústeres de Amazon EMR en Studio
<a name="studio-emr-data-preparation"></a>

Amazon SageMaker Studio y su versión anterior, Studio Classic, proporcionan a los científicos de datos y a los ingenieros de aprendizaje automático (ML) herramientas para realizar análisis y preparación de datos a escala. Analizar, transformar y preparar grandes cantidades de datos es un paso fundamental de cualquier flujo de trabajo de ciencia de datos y machine learning. Tanto Studio como Studio Classic vienen con una integración integrada con Amazon EMR, lo que permite a los usuarios gestionar flujos de trabajo de aprendizaje automático y preparación de datos interactivos a gran escala en sus JupyterLab cuadernos.

[Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) es una plataforma de macrodatos gestionada con recursos que le ayudan a ejecutar trabajos de procesamiento de datos distribuidos a escala de petabytes mediante marcos de análisis de código abierto, AWS como [Apache Spark, Apache](https://aws.amazon.com/emr/features/spark) [Hive](https://aws.amazon.com/emr/features/hive), [Presto](https://aws.amazon.com/emr/features/presto) y Flink, entre otros. HBase Con la integración de Studio y Studio Classic con Amazon EMR, puede crear, explorar, descubrir y conectarse a clústeres de Amazon EMR sin salir de sus libretas JupyterLab o las de Studio Classic. Además, puede supervisar y depurar sus cargas de trabajo de Spark accediendo a la interfaz de usuario de Spark directamente desde su cuaderno con un solo clic.

Debería considerar los clústeres de Amazon EMR para sus cargas de trabajo de preparación de datos si tiene requisitos de procesamiento de datos a gran escala, de larga duración o complejos que implican cantidades masivas de datos, requieren una amplia personalización e integración con otros servicios, necesita ejecutar aplicaciones personalizadas o tiene pensado ejecutar una amplia variedad de marcos de procesamiento de datos distribuidos aparte de Apache Spark. 

Si utiliza [una imagen de SageMaker distribución](sagemaker-distribution.md) `1.10` o una versión superior, también puede conectarse a aplicaciones [EMR interactivas sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/emr-serverless.html) directamente desde sus JupyterLab cuadernos en AI Studio. SageMaker La integración de Studio con EMR sin servidor le permite ejecutar marcos de análisis de macrodatos de código abierto, como [Apache Spark](https://aws.amazon.com/emr/features/spark) y [Apache Hive](https://aws.amazon.com/emr/features/hive), sin necesidad de configurar, administrar ni escalar los clústeres de Amazon EMR. EMR sin servidor aprovisiona y administra automáticamente los recursos de computación y de memoria subyacentes en función de las necesidades de su aplicación de EMR sin servidor. Escala y reduce verticalmente los recursos de forma dinámica y le cobra la cantidad de recursos de vCPU, memoria y almacenamiento que consumen sus aplicaciones. Este enfoque sin servidor te permite [ejecutar cargas de trabajo interactivas de preparación de datos](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/interactive-workloads.html) desde tus JupyterLab cuadernos sin preocuparte por la administración de clústeres y, al mismo tiempo, lograr una alta utilización de las instancias y una alta rentabilidad.

Debería considerar la posibilidad de usar EMR sin servidor para sus cargas de trabajo de preparación de datos interactivas si sus cargas de trabajo son de corta duración o intermitentes y no requieren un clúster persistente, si prefiere una experiencia sin servidor con aprovisionamiento de recursos y terminación automáticos, lo que evita la sobrecarga que implica la administración de la infraestructura, o si sus tareas de preparación de datos interactivas giran principalmente en torno a Apache Spark. 

**Topics**
+ [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md)
+ [Preparación de los datos con EMR sin servidor](studio-notebooks-emr-serverless.md)
+ [Preparación de datos con Amazon EMR](studio-notebooks-emr-cluster.md)

# Configuración de acceso a la red para su clúster de Amazon EMR
<a name="studio-notebooks-emr-networking"></a>

Antes de empezar a utilizar Amazon EMR o EMR sin servidor para las tareas de preparación de datos en Studio, asegúrese de que usted o su administrador hayan configurado la red para permitir la comunicación entre Studio y Amazon EMR. Una vez habilitada esta comunicación, puede optar por:
+ [Preparación de los datos con EMR sin servidor](studio-notebooks-emr-serverless.md)
+ [Preparación de datos con Amazon EMR](studio-notebooks-emr-cluster.md)

**nota**  
Para los usuarios de EMR sin servidor, la configuración más sencilla consiste en crear la aplicación en la interfaz de usuario de Studio sin modificar la configuración predeterminada de la opción **Nube privada virtual (VPC)**. Este enfoque permite crear la aplicación dentro de la VPC de su SageMaker dominio, lo que elimina la necesidad de una configuración de red adicional. Si elige esta opción, puede omitir la siguiente sección sobre la configuración de red. 

Las instrucciones sobre la red varían en función de si Studio y Amazon EMR se implementan en una [Amazon Virtual Private Cloud](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) (VPC) privada o se comunican a través de Internet.

De forma predeterminada, Studio o Studio Classic se ejecutan en una VPC AWS gestionada con [acceso a Internet](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-default). Cuando se utiliza una conexión a Internet, Studio y Studio Classic acceden a AWS los recursos, como los buckets de Amazon S3, a través de Internet. Sin embargo, si tiene requisitos de seguridad para controlar el acceso a sus contenedores de datos y trabajos, le recomendamos que configure Studio o Studio Classic y Amazon EMR para que no se pueda acceder a sus datos y contenedores a través de Internet. Para controlar el acceso a sus recursos o ejecutar Studio o Studio Classic sin acceso público a Internet, puede especificar el tipo de acceso a la `VPC only` red al incorporarse al [dominio Amazon SageMaker AI](gs-studio-onboard.md). En este escenario, tanto Studio como Studio Classic establecen conexiones con otros AWS servicios a través de puntos finales de [VPC](https://docs.aws.amazon.com/vpc/latest/privatelink/create-interface-endpoint.html) privados. Para obtener información sobre la configuración de Studio o Studio Classic en `VPC only` modo, consulte [Conectar los blocs de notas de SageMaker Studio o Studio Classic de una VPC a recursos externos](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-and-internet-access.html#studio-notebooks-and-internet-access-vpc-only). .

Las dos primeras secciones describen cómo garantizar la comunicación entre Studio o Studio Classic y Amazon EMR VPCs sin acceso público a Internet. La última sección trata sobre cómo garantizar la comunicación entre Studio o Studio Classic y Amazon EMR mediante una conexión a Internet. Antes de conectar Studio o Studio Classic y Amazon EMR sin acceso a Internet, asegúrese de establecer puntos de enlace para Amazon Simple Storage Service (almacenamiento de datos), Amazon CloudWatch (registro y supervisión) y Amazon SageMaker Runtime (control de acceso detallado basado en roles (RBAC)).

Para conectar Studio o Studio Classic y Amazon EMR:
+ Si Studio o Studio Classic y Amazon EMR están separados VPCs, en la misma AWS cuenta o en cuentas diferentes, consulte. [Studio y Amazon EMR están separados VPCs](#studio-notebooks-emr-networking-requirements-cross-vpc)
+ Si Studio o Studio Classic y Amazon EMR se encuentran en la misma VPC, consulte [Studio y Amazon EMR están en la misma VPC](#studio-notebooks-emr-networking-requirements-same-vpc).
+ Si ha optado por conectar Studio o Studio Classic y Amazon EMR a través de una red pública de Internet, consulte [Studio y Amazon EMR se comunican a través de Internet público](#studio-notebooks-emr-networking-requirements-internet).

## Studio y Amazon EMR están separados VPCs
<a name="studio-notebooks-emr-networking-requirements-cross-vpc"></a>

Para permitir la comunicación entre Studio o Studio Classic y Amazon EMR cuando se implementan por separado: VPCs

1. Comience por conectarlo VPCs a través de una conexión de emparejamiento de VPC.

1. Actualice las tablas de enrutamiento en cada VPC para enrutar el tráfico de red entre las subredes de Studio o Studio Classic y las subredes de Amazon EMR en ambos sentidos.

1. Configure sus grupos de seguridad para permitir el tráfico entrante y saliente.

Los pasos para conectar Studio o Studio Classic y Amazon EMR son los mismos tanto si los recursos se implementan en una sola AWS cuenta (caso de uso de una sola cuenta) como en varias AWS cuentas (caso de uso de varias cuentas).

1. 

**Emparejamiento de VPC**

   Cree una [conexión de emparejamiento de VPC](https://docs.aws.amazon.com/vpc/latest/peering/working-with-vpc-peering.html) para facilitar la creación de redes entre ambas VPCs (Studio o Studio Classic y Amazon EMR).

   1. En la cuenta de Studio o Studio Classic, en el panel de control de la VPC, seleccione **Interconexiones** y, a continuación, **Crear interconexión**.

   1. Cree su solicitud para emparejar la VPC de Studio o Studio Classic con la VPC de Amazon EMR. Cuando solicites el emparejamiento en otra AWS cuenta, selecciona **Otra cuenta** en **Seleccione otra VPC con la que realizar** el emparejamiento.

      Para la interconexión entre cuentas, el administrador debe aceptar la solicitud de la cuenta de Amazon EMR.

      Al emparejar subredes privadas, debe habilitar la resolución DNS de IP privada en el nivel de conexión de emparejamiento de VPC.

1. 

**Tablas de enrutamiento**

   Envíe el tráfico de red entre las subredes de Studio o Studio Classic y las subredes de Amazon EMR en ambos sentidos.

   Tras establecer la conexión de emparejamiento, el administrador (en cada cuenta para el acceso entre cuentas) puede añadir rutas a las tablas de enrutamiento de las subredes privadas para enrutar el tráfico entre Studio o Studio Classic y las subredes de Amazon EMR. Para definir esas rutas, vaya a la sección **Route Tables (Tablas de enrutamiento)** de cada VPC en el panel de VPC.

   La siguiente ilustración de la tabla de enrutamiento de una subred de VPC de Studio muestra un ejemplo de una ruta de salida desde la cuenta de Studio al rango de IP de la VPC de Amazon EMR (aquí `2.0.1.0/24`) a través de la interconexión.  
![\[Tabla de enrutamiento de una subred VPC de Studio que muestra las rutas que salen de la cuenta de Studio al rango de IP de la VPC de Amazon EMR (aquí 2.0.1.0/24) a través de la interconexión\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-return-route.png)

   La siguiente ilustración de una tabla de enrutamiento de una subred de VPC de Amazon EMR muestra un ejemplo de rutas de retorno desde la VPC de Amazon EMR al rango de IP de la VPC de Studio (aquí `10.0.20.0/24`) a través de la interconexión.  
![\[Tabla de enrutamiento de una subred de VPC de Amazon EMR que muestra las rutas de retorno desde la cuenta de Amazon EMR hasta el rango de IP de VPC de Studio (aquí 10.0.20.0/24) a través de la interconexión\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-outbound-route.png)

1. 

**Grupos de seguridad**

   Por último, el grupo de seguridad de su dominio de Studio o Studio Classic debe permitir el tráfico saliente. Además, el grupo de seguridad del nodo principal de Amazon EMR debe permitir el tráfico entrante en los puertos de TCP de *Apache Livy*, *Hive* o *Presto* (`8998`, `10000` y `8889` respectivamente) desde el grupo de seguridad de instancias de Studio o Studio Classic. [Apache Livy](https://livy.apache.org/) es un servicio que permite la interacción con Amazon EMR sobre una interfaz REST.

El siguiente diagrama muestra un ejemplo de una configuración de Amazon VPC que permite JupyterLab a nuestros portátiles Studio Classic aprovisionar clústeres de Amazon EMR a partir de plantillas CloudFormation del catálogo de servicios y, a continuación, conectarse a un clúster de Amazon EMR de la misma cuenta. AWS El diagrama proporciona una ilustración adicional de los puntos de conexión necesarios para una conexión directa a varios AWS servicios, como Amazon S3 o Amazon CloudWatch, cuando no VPCs tienen acceso a Internet. Como alternativa, se debe usar una [puerta de enlace NAT](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-working-with) para permitir que las instancias de subredes privadas de varias VPCs subredes privadas compartan una única dirección IP pública proporcionada por la [puerta de enlace de Internet](https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Internet_Gateway.html) al acceder a Internet.

![\[Diagrama de arquitectura que ilustra un ejemplo de una configuración sencilla de Amazon VPC que permite a las libretas Studio o Studio Classic aprovisionar clústeres CloudFormation de Amazon EMR a partir de plantillas del catálogo de servicios y, a continuación, conectarse a un clúster de Amazon EMR de la misma cuenta. AWS El diagrama proporciona una ilustración adicional de los puntos de conexión necesarios para una conexión directa a varios AWS servicios, como Amazon S3 o Amazon CloudWatch, cuando no VPCs tienen acceso a Internet. Como alternativa, se debe usar una puerta de enlace NAT para permitir que las instancias de subredes privadas de varias VPCs subredes privadas compartan una única dirección IP pública proporcionada por la puerta de enlace de Internet al acceder a Internet.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-architecture-singleaccount-vpcendpoints.png)


## Studio y Amazon EMR están en la misma VPC
<a name="studio-notebooks-emr-networking-requirements-same-vpc"></a>

Si Studio o Studio Classic y Amazon EMR se encuentran en subredes diferentes, añada rutas a cada tabla de enrutamiento de subred privada para enrutar el tráfico entre Studio o Studio Classic y las subredes de Amazon EMR. Para definir esas rutas, vaya a la sección **Route Tables (Tablas de enrutamiento)** de cada VPC en el panel de VPC. Si ha implementado Studio o Studio Classic y Amazon EMR en la misma VPC y la misma subred, no necesita enrutar el tráfico entre Studio y Amazon EMR.

Tanto si necesita actualizar las tablas de enrutamiento como si no, el grupo de seguridad de su dominio de Studio o Studio Classic debe permitir el tráfico saliente. Además, el grupo de seguridad del nodo principal de Amazon EMR debe permitir el tráfico entrante en los puertos de TCP de *Apache Livy*, *Hive* o *Presto* (`8998`, `10000` y `8889`, respectivamente) desde el grupo de seguridad de instancias de Studio o Studio Classic. [Apache Livy](https://livy.apache.org/) es un servicio que permite la interacción con Amazon EMR sobre una interfaz REST.

## Studio y Amazon EMR se comunican a través de Internet público
<a name="studio-notebooks-emr-networking-requirements-internet"></a>

De forma predeterminada, Studio y Studio Classic proporcionan una interfaz de red que permite la comunicación con Internet a través de una puerta de enlace de Internet en la VPC asociada al SageMaker dominio. Si decide conectarse a Amazon EMR a través de la red pública de Internet, Amazon EMR debe aceptar el tráfico entrante en los puertos de TCP de *Apache Livy*, *Hive* o *Presto* (`8998`, `10000` y `8889` respectivamente) desde su puerta de enlace de Internet. [Apache Livy](https://livy.apache.org/) es un servicio que permite la interacción con Amazon EMR sobre una interfaz REST.

Tenga en cuenta que cualquier puerto en el que permita el tráfico entrante representa una posible vulnerabilidad de seguridad. Revise con atención los grupos de seguridad personalizados para asegurarse de minimizar las vulnerabilidades. Para obtener más información, consulte [Control del tráfico de red con grupos de seguridad](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-security-groups.html).

Como alternativa, consulte [Blogs y documentos técnicos](studio-notebooks-emr-resources.md) para obtener un tutorial detallado sobre cómo habilitar [Kerberos en Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html), configurar el clúster en una subred privada y acceder al clúster mediante un [Equilibrador de carga de red (NLB)](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) para mostrar solo puertos específicos, cuyo acceso se controla mediante grupos de seguridad.

**nota**  
Al conectarse a su punto de conexión de Apache Livy a través de la red pública de Internet, le recomendamos que proteja las comunicaciones entre Studio o Studio Classic y su clúster de Amazon EMR mediante TLS.  
Para obtener información sobre cómo configurar HTTPS con Apache Livy, consulte [Habilitar HTTPS con Apache Livy](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/enabling-https.html). Para obtener información sobre cómo configurar un clúster de Amazon EMR con el cifrado de tránsito habilitado, consulte [Proporcionar certificados para cifrar datos en tránsito con el cifrado de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-encryption-enable.html#emr-encryption-certificates). Además, debe configurar Studio o Studio Classic para acceder a la clave de su certificado tal y como se especifica en [Conectar a un clúster de Amazon EMR a través de HTTPS](connect-emr-clusters.md#connect-emr-clusters-ssl).

# Preparación de los datos con EMR sin servidor
<a name="studio-notebooks-emr-serverless"></a>

A partir de [la versión SageMaker de imagen de distribución](sagemaker-distribution.md)`1.10`, Amazon SageMaker Studio se integra con EMR Serverless. En JupyterLab los cuadernos de SageMaker Studio, los científicos e ingenieros de datos pueden descubrir aplicaciones EMR Serverless y conectarse a ellas, y luego explorar, visualizar y preparar de forma interactiva cargas de trabajo de Apache Spark o Apache Hive a gran escala. Esta integración permite realizar un preprocesamiento interactivo de datos a escala como preparación para el entrenamiento y la implementación de modelos de ML.

En concreto, la versión actualizada de la versión de imagen de [distribución SageMaker integrada [https://pypi.org/project/sagemaker-studio-analytics-extension/](https://pypi.org/project/sagemaker-studio-analytics-extension/)en IA](https://github.com/aws/sagemaker-distribution/tree/main/build_artifacts/v1) `1.10` aprovecha la integración entre Apache Livy y EMR Serverless, lo que permite la conexión a un punto final de Apache Livy a través de cuadernos. JupyterLab En esta sección, se asume que tiene un conocimiento previo de las [aplicaciones interactivas de EMR sin servidor](https://docs.aws.amazon.com/EMR-Serverless-UserGuide/interactive-workloads.html).

**importante**  
Al usar Studio, solo puede detectar aplicaciones EMR Serverless y conectarse a ellas para JupyterLab aplicaciones que se lanzan desde espacios privados. Asegúrese de que las aplicaciones EMR Serverless estén ubicadas en la misma AWS región que su entorno de Studio.

## Requisitos previos
<a name="studio-set-up-emr-serverless-prerequisites"></a>

Antes de empezar a ejecutar cargas de trabajo interactivas con EMR Serverless desde JupyterLab sus portátiles, asegúrese de cumplir los siguientes requisitos previos:

1. Su JupyterLab espacio debe usar una versión de imagen de SageMaker distribución o superior. `1.10`

1. Cree una aplicación interactiva de EMR sin servidor con la versión `6.14.0` o una posterior de Amazon EMR. Puede crear una aplicación de EMR sin servidor desde la interfaz de usuario de Studio siguiendo los pasos que se indican en [Creación de aplicaciones de EMR sin servidor desde Studio](create-emr-serverless-application.md).
**nota**  
Si desea la configuración más sencilla, puede crear su aplicación de EMR sin servidor en la interfaz de usuario de Studio sin cambiar la configuración predeterminada de la opción **Nube privada virtual (VPC)**. Esto permite crear la aplicación en la VPC de su dominio sin necesidad de configurar la conexión de red. En este caso, puede omitir el siguiente paso de configuración de la conexión de red.

1. Consulte los requisitos de la conexión de red y seguridad en [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md). Concretamente, asegúrese de:
   + Establecer una conexión de emparejamiento de VPC entre su cuenta de Studio y su cuenta de EMR sin servidor.
   + Añadir rutas a las tablas de enrutamiento de subredes privadas de ambas cuentas. 
   + Configurar el grupo de seguridad asociado a su dominio de Studio para permitir el tráfico saliente y configurar el grupo de seguridad de la VPC en el que tiene pensado ejecutar las aplicaciones de EMR sin servidor para permitir el tráfico de TCP entrante desde el grupo de seguridad de la instancia de Studio.

1. Para acceder a sus aplicaciones interactivas en EMR Serverless y ejecutar las cargas de trabajo enviadas desde sus JupyterLab cuadernos en SageMaker Studio, debe asignar permisos y funciones específicos. Consulte la sección [Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker](studio-emr-serverless-permissions.md) para obtener más información sobre los roles y los permisos necesarios.

**Topics**
+ [Requisitos previos](#studio-set-up-emr-serverless-prerequisites)
+ [Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker](studio-emr-serverless-permissions.md)
+ [Creación de aplicaciones de EMR sin servidor desde Studio](create-emr-serverless-application.md)
+ [Conexión desde Studio a una aplicación de EMR sin servidor](connect-emr-serverless-application.md)
+ [Detención o eliminación de una aplicación de EMR sin servidor desde la IU de Studio](terminate-emr-serverless-application.md)

# Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker
<a name="studio-emr-serverless-permissions"></a>

En esta sección, detallamos las funciones y los permisos necesarios para enumerar las aplicaciones EMR Serverless desde SageMaker Studio y conectarse a ellas, teniendo en cuenta los escenarios en los que Studio y las aplicaciones EMR Serverless se implementan en la misma AWS cuenta o en cuentas diferentes.

Las funciones a las que debe añadir los permisos necesarios dependen de si Studio y sus aplicaciones EMR Serverless residen en la misma AWS cuenta (*cuenta única*) o en cuentas independientes (cuenta *cruzada*). Existen dos tipos de roles:
+ Roles de ejecución:
  + Funciones de [ejecución en tiempo de ejecución (funciones](https://docs.aws.amazon.com/http://emr/latest/EMR-Serverless-UserGuide/jobs-spark.html#spark-defaults-executionRoleArn) de control de acceso basadas en roles) utilizadas por EMR Serverless: son las funciones de IAM que utilizan los entornos de ejecución de trabajos sin servidor de EMR para acceder a otros AWS servicios y recursos necesarios durante el tiempo de ejecución, como Amazon S3 para el acceso a los datos, el registro, el acceso al catálogo de datos u otros servicios en función de AWS Glue sus requisitos de carga de trabajo. CloudWatch Recomendamos crear estos roles en la cuenta en la que se ejecutan las aplicaciones de EMR sin servidor.

    Para obtener más información sobre los roles de tiempo de ejecución, consulte [Roles de tiempo de ejecución de trabajos](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) en la *Guía del usuario de EMR sin servidor*.
**nota**  
Puede definir varios roles de RBAC para su aplicación de EMR sin servidor. Estos roles pueden basarse en las responsabilidades y los niveles de acceso que necesitan los diferentes usuarios o grupos de su organización. Para obtener más información sobre los permisos de RBAC, consulte [Prácticas recomendadas de seguridad para Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-best-practices.html#security-practice-rbac).
  + SageMaker Función de ejecución de IA: la función de ejecución que permite a la SageMaker IA realizar determinadas tareas, como leer datos de buckets de Amazon S3, escribir registros y acceder a otros AWS servicios que su flujo de trabajo pueda necesitar. CloudWatch La función de ejecución de SageMaker IA también tiene el permiso especial denominado `iam:PassRole` que permite a la SageMaker IA pasar funciones de ejecución temporales en tiempo de ejecución a las aplicaciones EMR Serverless. Estas funciones otorgan a las aplicaciones EMR Serverless los permisos que necesitan para interactuar con otros AWS recursos mientras se ejecutan.
+ Roles asumibles (también denominados *roles de acceso al servicio*):
  + Estas son las funciones de IAM que la función de ejecución de la SageMaker IA puede asumir para realizar operaciones relacionadas con la gestión de las aplicaciones EMR Serverless. Estos roles definen los permisos y las políticas de acceso necesarios al enumerar aplicaciones de EMR sin servidor, administrarlas o conectarse a ellas. Por lo general, se utilizan en escenarios entre cuentas, en los que las aplicaciones EMR Serverless se encuentran en una cuenta AWS diferente SageMaker a la del dominio de IA. Contar con una función de IAM dedicada a sus aplicaciones EMR Serverless le ayuda a seguir el principio de privilegios mínimos y garantiza que Amazon EMR solo tenga los permisos necesarios para ejecutar sus trabajos y, al mismo tiempo, proteger otros recursos de su cuenta. AWS 

Al comprender y configurar estas funciones correctamente, puede asegurarse de que SageMaker Studio tenga los permisos necesarios para interactuar con las aplicaciones EMR Serverless, independientemente de si se implementan en la misma cuenta o en cuentas diferentes.

## Cuenta única
<a name="studio-set-up-emr-serverless-permissions-singleaccount"></a>

Los siguientes diagramas ilustran las funciones y los permisos necesarios para enumerar aplicaciones EMR Serverless desde Studio y conectarse a ellas cuando Studio y las aplicaciones se implementan en la misma cuenta. AWS 

![\[El diagrama muestra las funciones y los permisos necesarios para enumerar y conectar aplicaciones EMR Serverless desde Studio cuando Studio y las aplicaciones están en la misma cuenta. AWS\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-serverless-permissions-setup-singleaccount.png)


Si sus aplicaciones de Amazon EMR y Studio se implementan en la misma AWS cuenta, siga estos pasos:

1. **Paso 1**: recuperación del ARN del bucket de Amazon S3 que utiliza para los orígenes de datos y el almacenamiento de datos de salida en la [consola de Amazon S3](https://console.aws.amazon.com/S3).

   Para aprender a buscar un bucket por su nombre, consulte [Acceso y publicación de un bucket de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html). Para obtener más información sobre la creación de un bucket de Amazon S3, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). 

1. **Paso 2**: creación de al menos un rol de ejecución en tiempo de ejecución para su aplicación de EMR sin servidor en su cuenta (el `EMRServerlessRuntimeExecutionRoleA` en el caso de uso *Cuenta única* anterior). Elija **Política de confianza personalizada** como entidad de confianza. Añada los permisos que necesite su trabajo. Como mínimo, necesita acceso total a un bucket de Amazon S3 y acceso de creación y lectura al catálogo de AWS Glue datos.

   Para obtener instrucciones detalladas sobre cómo crear un nuevo rol de ejecución en tiempo de ejecución para sus aplicaciones de EMR sin servidor, siga estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. Añada los permisos necesarios para su rol de tiempo de ejecución, asigne un nombre a la política y, a continuación, elija **Crear política**.

      Puede consultar [Roles en tiempo de ejecución de trabajo para Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html) para ver ejemplos de políticas de tiempo de ejecución para un rol de ejecución de EMR sin servidor.

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "emr-serverless.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. En la página **Agregar permisos**, seleccione la política que creó anteriormente y elija **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `EMRServerlessAppRuntimeRoleA` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Con estos roles, usted y sus compañeros de equipo pueden conectarse a la misma aplicación, y cada uno de ellos utilizará un rol en tiempo de ejecución con permisos que se ajusten a su nivel individual de acceso a los datos.
**nota**  
Las sesiones de Spark funcionan de forma diferente. Las sesiones de Spark se aíslan en función del rol de ejecución utilizado de Studio, por lo que los usuarios con diferentes roles de ejecución tendrán sesiones de Spark independientes y aisladas. Además, si ha habilitado la identidad de origen en su dominio, las sesiones de Spark están aún más aisladas en las distintas identidades de origen.

1. **Paso 3**: Recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)
**nota**  
 Como alternativa, los usuarios nuevos en la SageMaker IA pueden simplificar su proceso de configuración creando automáticamente una nueva función de ejecución de la SageMaker IA con los permisos adecuados. En este caso, omita los pasos 3 y 4. En su lugar, los usuarios pueden:  
Elija la opción **Configurar para organizaciones** al crear un nuevo dominio en el menú **Dominio** situado en el panel de navegación izquierdo de la [consola de SageMaker IA](https://console.aws.amazon.com/sagemaker).
Crear un nuevo rol de ejecución desde el menú **Administrador de roles** de la consola y, a continuación, asociar el rol a un dominio o perfil de usuario existente.
Al crear el rol, elija la opción **Ejecutar aplicaciones de Studio EMR sin servidor** en **¿Qué actividades de ML realizarán los usuarios?** A continuación, indique el nombre del bucket de Amazon S3 y el rol de ejecución del trabajo en tiempo de ejecución que desea que utilice su aplicación de EMR sin servidor (paso 2).  
El administrador de SageMaker funciones añade automáticamente los permisos necesarios para ejecutar aplicaciones EMR sin servidor y conectarse a ellas a la nueva función de ejecución. Con el [administrador de funciones, solo puede asignar una SageMaker función]() de tiempo de ejecución a la aplicación EMR sin servidor, y la aplicación debe ejecutarse en la misma cuenta en la que está implementado Studio, mediante una función de ejecución creada en esa misma cuenta.

1. **Paso 4**: Adjunte los siguientes permisos al rol de ejecución de SageMaker IA que accede a su aplicación EMR Serverless.

   1. Abra la consola de IAM en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/).

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR sin servidor que permiten el acceso y las operaciones de EMR sin servidor. Para obtener más información sobre el documento de política, consulte *EMR Serverless policies* en [Políticas de referencia](#studio-set-up-emr-serverless-permissions-reference). Sustituya *region*, *accountID* y los *EMRServerlessAppRuntimeRole* pasados por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol. 
**nota**  
Puede incluir en el permiso tantas cadenas de ARN de roles de tiempo de ejecución como necesite, separándolas con comas.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear política insertada** para añadir otra política insertada que conceda al rol permisos para actualizar los dominios, los perfiles de usuario y los espacios. Para obtener más información sobre el documento de la política `SageMakerUpdateResourcesPolicy`, consulte *Domain, user profile, and space update actions policy* en [Políticas de referencia](#studio-set-up-emr-serverless-permissions-reference). Sustituya *region* y *accountID* por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

1. **Paso 5**:

   Asocie la lista de funciones en tiempo de ejecución a su perfil de usuario o dominio para que pueda examinar visualmente la lista de funciones y seleccionar la que desee utilizar al [conectarse a una aplicación EMR Serverless](connect-emr-serverless-application.md). JupyterLab Puede utilizar la consola de SageMaker IA o el siguiente script. Posteriormente, todos los trabajos de Apache Spark o Apache Hive creados desde su cuaderno accederán únicamente a los datos y recursos permitidos por las políticas asociadas al rol de tiempo de ejecución seleccionado.
**importante**  
Si no completa este paso, no podrá conectar un JupyterLab portátil a una aplicación EMR Serverless.

------
#### [ SageMaker AI console ]

   Para asociar sus funciones de tiempo de ejecución a su perfil de usuario o dominio mediante la consola de SageMaker IA:

   1. Dirígete a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. En el panel de navegación izquierdo, elige el **dominio** y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.

   1. 
      + Para añadir tus funciones de tiempo de ejecución a tu dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, navega hasta la **JupyterLab**sección.
      + Para añadir tus funciones de tiempo de ejecución a tu perfil de usuario: en la página de **detalles del dominio**, selecciona la pestaña **Perfiles de usuario** y selecciona el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado. En la pestaña **Configuraciones de aplicaciones**, dirígete a la **JupyterLab**sección.

   1. Elija **Editar** y añada sus funciones ARNs de ejecución en tiempo de ejecución de EMR Serverless.

   1. Seleccione **Enviar**.

   La próxima vez que se conecte a una aplicación EMR Serverless mediante JupyterLab, las funciones de tiempo de ejecución deberían aparecer en un menú desplegable para su selección.

------
#### [ Python script ]

   En una JupyterLab aplicación iniciada desde un espacio privado con la función de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya `domainID`, `user-profile-name`, `studio-accountID` y `EMRServerlessRuntimeExecutionRole` por sus valores adecuados. Este fragmento de código actualiza la configuración del perfil de usuario para un perfil de usuario (`client.update_user_profile`) o una configuración de dominio (`client.update_domain`) específicos y asocia específicamente los roles de ejecución en tiempo de ejecución de EMR sin servidor que creó anteriormente.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_user_profile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'ExecutionRoleArns': ["arn:aws:iam::studio-accountID:role/EMRServerlessRuntimeExecutionRoleA", 
                                "arn:aws:iam::studio-accountID:role/EMRServerlessRuntimeExecutionRoleAA"]
           }
           
       }
   })
   resp = client.describe_domain(DomainId="domainID")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------

## Entre cuentas
<a name="studio-set-up-emr-serverless-permissions-crossaccount"></a>

Los siguientes diagramas ilustran las funciones y los permisos necesarios para enumerar aplicaciones EMR Serverless desde Studio y conectarse a ellas cuando Studio y las aplicaciones se implementan en cuentas diferentes. AWS 

![\[El diagrama muestra las funciones y los permisos necesarios para enumerar y conectar aplicaciones EMR Serverless desde Studio cuando Studio y las aplicaciones están en cuentas diferentes. AWS\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-serverless-permissions-setup-crossaccount.png)


Para obtener más información sobre la creación de un rol en una AWS cuenta, consulte [https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html) Crear un rol de IAM (consola).

Antes de comenzar: 
+ Recupera el ARN del rol de ejecución de SageMaker IA utilizado en tu espacio privado. Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md). Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)
+ Recupere el ARN del bucket de Amazon S3 que utilizará para los orígenes de datos y el almacenamiento de datos de salida en la [consola de Amazon S3](https://console.aws.amazon.com/S3).

  Para obtener más información sobre la creación de un bucket de Amazon S3, consulte [Crear un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html). Para aprender a buscar un bucket por su nombre, consulte [Acceso y publicación de un bucket de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html).

Si las aplicaciones de EMR sin servidor y Studio están implementadas en cuentas de AWS diferentes, debe configurar los permisos en ambas cuentas. 

### Cuenta de EMR sin servidor
<a name="studio-set-up-emr-serverless-permissions-crossaccount-emraccount"></a>

Siga estos pasos para crear los roles y políticas necesarios en la cuenta en la que se ejecuta la aplicación de EMR sin servidor, también conocida como *cuenta de confianza*:

1. **Paso 1**: cree al menos un rol de ejecución de trabajos en tiempo de ejecución para su aplicación de EMR sin servidor en su cuenta (el `EMRServerlessRuntimeExecutionRoleB` en el diagrama *Entre cuentas* anterior). Elija **Política de confianza personalizada** como entidad de confianza. Añada los permisos que necesite su trabajo. Como mínimo, necesita acceso total a un bucket de Amazon S3 y acceso de creación y lectura al catálogo de AWS Glue datos.

   Para obtener instrucciones detalladas sobre cómo crear un nuevo rol de ejecución en tiempo de ejecución para sus aplicaciones de EMR sin servidor, siga estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. Añada los permisos necesarios para su rol de tiempo de ejecución, asigne un nombre a la política y, a continuación, elija **Crear política**.

      Para ver ejemplos de políticas de tiempo de ejecución de un rol de tiempo de ejecución de EMR sin servidor, consulte [Roles en tiempo de ejecución de trabajo para Amazon EMR sin servidor](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/security-iam-runtime-role.html).

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "emr-serverless.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. En la página **Agregar permisos**, seleccione la política que creó anteriormente y elija **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `EMRServerlessAppRuntimeRoleB` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Con estos roles, usted y sus compañeros de equipo pueden conectarse a la misma aplicación, y cada uno de ellos utilizará un rol en tiempo de ejecución con permisos que se ajusten a su nivel individual de acceso a los datos.
**nota**  
Las sesiones de Spark funcionan de forma diferente. Las sesiones de Spark se aíslan en función del rol de ejecución utilizado en Studio, por lo que los usuarios con diferentes roles de ejecución tendrán sesiones de Spark independientes y aisladas. Además, si ha habilitado la identidad de origen en su dominio, las sesiones de Spark están aún más aisladas en las distintas identidades de origen.

1. **Paso 2**: creación de un rol de IAM personalizado denominado `AssumableRole` con la siguiente configuración:
   + Permisos: conceda los permisos necesarios (políticas de Amazon EMR sin servidor) al `AssumableRole` para permitir el acceso a los recursos de EMR sin servidor. Este rol se conoce también como *rol de acceso*.
   + Relación de confianza: configure la política de confianza `AssumableRole` para poder asumir el rol de ejecución (el `SageMakerExecutionRole` en el diagrama Entre cuentas) desde la cuenta de Studio a la que se requiere acceso.

   Al asumir el rol, Studio puede obtener acceso temporal a los permisos que necesita en la cuenta de EMR sin servidor.

   Para obtener instrucciones detalladas sobre cómo crear una cuenta nueva `AssumableRole` en su AWS cuenta EMR Serverless, siga estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR sin servidor que permiten el acceso y las operaciones de EMR sin servidor. Para obtener más información sobre el documento de política, consulte *EMR Serverless policies* en [Políticas de referencia](#studio-set-up-emr-serverless-permissions-reference). Sustituya `region`, `accountID` y los `EMRServerlessAppRuntimeRole` pasados por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.
**nota**  
Este `EMRServerlessAppRuntimeRole` es el rol de ejecución en tiempo de ejecución del trabajo creado en el paso 1 (el `EMRServerlessAppRuntimeRoleB` en el diagrama *Entre cuentas* anterior). Puede incluir en el permiso tantas cadenas de ARN de roles de tiempo de ejecución como necesite, separándolas con comas. 

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

      `studio-account`Sustitúyala por el ID de cuenta de Studio y `AmazonSageMaker-ExecutionRole` por la función de ejecución que utilice tu JupyterLab espacio. 

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

   1. En la página **Agregar permisos**, añada el permiso `EMRServerlessAppRuntimeRoleB` que ha creado en el paso 2 y, a continuación, seleccione **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `AssumableRole` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Para obtener más información sobre la creación de un rol en una AWS cuenta, consulte [Creación de un rol de IAM (consola).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)

### En la cuenta de Studio
<a name="studio-set-up-emr-serverless-permissions-crossaccount-studioaccount"></a>

En la cuenta en la que está implementado Studio, también conocida como *cuenta de confianza*, actualice la función de ejecución de SageMaker IA para acceder a sus aplicaciones EMR Serverless con los permisos necesarios para acceder a los recursos de la cuenta de confianza.

1. **Paso 1**: recupera el ARN de la función de ejecución de SageMaker IA utilizada en tu espacio.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos al rol de ejecución de SageMaker IA que accede a su aplicación EMR Serverless.

   1. Abra la consola de IAM en [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada la política insertada que concede al rol permisos para actualizar los dominios, los perfiles de usuario y los espacios. Para obtener más información sobre el documento de la política `SageMakerUpdateResourcesPolicy`, consulte *Domain, user profile, and space update actions policy* en [Políticas de referencia](#studio-set-up-emr-serverless-permissions-reference). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear una política insertada** para añadir otra política que conceda al rol de ejecución los permisos para asumir el `AssumableRole` y luego realice las acciones permitidas por la política de acceso del rol.

      Sustituya `emr-account` por el ID de cuenta Amazon EMR sin servidor y `AssumableRole` por el nombre del rol asumible creado en la cuenta de Amazon EMR sin servidor.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": {
              "Sid": "AllowSTSToAssumeAssumableRole",
              "Effect": "Allow",
              "Action": "sts:AssumeRole",
              "Resource": "arn:aws:iam::111122223333:role/AssumableRole"
          }
      }
      ```

------

1. **Paso 3**:

   Asocie la lista de funciones en tiempo de ejecución a su dominio o perfil de usuario para que pueda examinar visualmente la lista de funciones y seleccionar la que desee utilizar al [conectarse a una aplicación EMR Serverless](connect-emr-serverless-application.md). JupyterLab Puede utilizar la consola de SageMaker IA o el siguiente script. Posteriormente, todos los trabajos de Apache Spark o Apache Hive creados desde su cuaderno accederán únicamente a los datos y recursos permitidos por las políticas asociadas al rol de tiempo de ejecución seleccionado.
**importante**  
Si no completa este paso, no podrá conectar un JupyterLab portátil a una aplicación EMR Serverless.

------
#### [ SageMaker AI console ]

   Para asociar sus funciones de tiempo de ejecución a su perfil de usuario o dominio mediante la consola de SageMaker IA:

   1. Dirígete a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. En el panel de navegación izquierdo, elige el **dominio** y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.

   1. 
      + Para añadir tus funciones de tiempo de ejecución a tu dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, navega hasta la **JupyterLab**sección.
      + Para añadir tus funciones de tiempo de ejecución a tu perfil de usuario: en la página de **detalles del dominio**, selecciona la pestaña **Perfiles de usuario** y selecciona el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado. En la pestaña **Configuraciones de aplicaciones**, dirígete a la **JupyterLab**sección.

   1. Elija **Editar** y añada las funciones ARNs de ejecución en tiempo de ejecución de EMR Serverless y su función asumible.

   1. Seleccione **Enviar**.

   La próxima vez que se conecte a una aplicación EMR Serverless mediante JupyterLab, las funciones de tiempo de ejecución deberían aparecer en un menú desplegable para su selección.

------
#### [ Python script ]

    En una JupyterLab aplicación iniciada desde un espacio privado con la función de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya `domainID`, `user-profile-name`, `studio-accountID` y `EMRServerlessRuntimeExecutionRole` por sus valores adecuados. Este fragmento de código actualiza la configuración del perfil de usuario de un perfil de usuario (`client.update_user_profile`) o de un dominio () específico dentro de un dominio de SageMaker IA. `client.update_domain` En concreto, establece los roles de ejecución en tiempo de ejecución para Amazon EMR sin servidor, que ha creado anteriormente. También permite que la JupyterLab aplicación asuma una función de IAM determinada (`AssumableRole`) para ejecutar aplicaciones EMR Serverless dentro de la cuenta Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_user_profile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
               'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServerlessRuntimeExecutionRoleA", 
                                "arn:aws:iam::emr-accountID:role/AnotherRuntimeExecutionRole"]
           }
           
       }
   })
   resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------

## Políticas de referencia
<a name="studio-set-up-emr-serverless-permissions-reference"></a>
+ **Políticas de EMR sin servidor**: esta política permite administrar las aplicaciones sin servidor de EMR, lo que incluye enumerar, crear (con las etiquetas de SageMaker IA requeridas), iniciar, detener, obtener detalles, eliminarlas, acceder a los puntos finales de Livy y hacer que los paneles de ejecución de tareas se ejecuten. También permite transferir al servicio el rol de tiempo de ejecución de la aplicación de EMR sin servidor requerida.
  + `EMRServerlessListApplications`: Permite la ListApplications acción en todos los recursos EMR Serverless de la región y la cuenta especificadas. AWS 
  + `EMRServerlessPassRole`: Permite transferir las funciones de tiempo de ejecución especificadas a la AWS cuenta proporcionada, pero solo cuando la función se transfiere a la. `emr-serverless.amazonaws.com service` 
  + `EMRServerlessCreateApplicationAction`: Permite las TagResource acciones de CreateApplication mano en los recursos de EMR Serverless en la región y cuenta especificadas. AWS Sin embargo, requiere que los recursos que se están creando o etiquetando tengan claves de etiqueta específicas (`sagemaker:domain-arn`, `sagemaker:user-profile-arn` y `sagemaker:space-arn`) con valores no nulos.
  + `EMRServerlessDenyTaggingAction`: Las UntagResource acciones TagResource y en los recursos sin servidor de EMR en la región y AWS cuenta especificadas si los recursos no tienen establecida ninguna de las claves de etiqueta (`sagemaker:domain-arn``sagemaker:user-profile-arn`, y`sagemaker:space-arn`) especificadas.
  + `EMRServerlessActions`: permite diversas acciones (`StartApplication`, `StopApplication`, `GetApplication`, `DeleteApplication`, `AccessLivyEndpoints` y `GetDashboardForJobRun`) en los recursos de EMR sin servidor, pero solo si los recursos tienen establecidas las claves de etiqueta especificadas (`sagemaker:domain-arn`, `sagemaker:user-profile-arn` y `sagemaker:space-arn`) con valores no nulos.

  La política de IAM definida en el documento JSON proporcionado concede esos permisos, pero limita ese acceso a la presencia de etiquetas de SageMaker IA específicas en las aplicaciones EMR Serverless para garantizar que solo se puedan gestionar los recursos de Amazon EMR Serverless asociados a un dominio, perfil de usuario y espacio de IA SageMaker determinados. 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "EMRServerlessListApplications",
              "Effect": "Allow",
              "Action": [
                  "emr-serverless:ListApplications"
              ],
              "Resource": "arn:aws:emr-serverless:us-east-1:111122223333:/*"
          },
          {
              "Sid": "EMRServerlessPassRole",
              "Effect": "Allow",
              "Action": "iam:PassRole",
              "Resource": "arn:aws:iam::111122223333:role/EMRServerlessAppRuntimeRole",
              "Condition": {
                  "StringLike": {
                      "iam:PassedToService": "emr-serverless.amazonaws.com"
                  }
              }
          },
          {
              "Sid": "EMRServerlessCreateApplicationAction",
              "Effect": "Allow",
              "Action": [
                  "emr-serverless:CreateApplication",
                  "emr-serverless:TagResource"
              ],
              "Resource": "arn:aws:emr-serverless:us-east-1:111122223333:/*",
              "Condition": {
                  "ForAllValues:StringEquals": {
                      "aws:TagKeys": [
                          "sagemaker:domain-arn",
                          "sagemaker:user-profile-arn",
                          "sagemaker:space-arn"
                      ]
                  },
                  "Null": {
                      "aws:RequestTag/sagemaker:domain-arn": "false",
                      "aws:RequestTag/sagemaker:user-profile-arn": "false",
                      "aws:RequestTag/sagemaker:space-arn": "false"
                  }
              }
          },
          {
              "Sid": "EMRServerlessDenyTaggingAction",
              "Effect": "Deny",
              "Action": [
                  "emr-serverless:TagResource",
                  "emr-serverless:UntagResource"
              ],
              "Resource": "arn:aws:emr-serverless:us-east-1:111122223333:/*",
              "Condition": {
                  "Null": {
                      "aws:ResourceTag/sagemaker:domain-arn": "true",
                      "aws:ResourceTag/sagemaker:user-profile-arn": "true",
                      "aws:ResourceTag/sagemaker:space-arn": "true"
                  }
              }
          },
          {
              "Sid": "EMRServerlessActions",
              "Effect": "Allow",
              "Action": [
                  "emr-serverless:StartApplication",
                  "emr-serverless:StopApplication",
                  "emr-serverless:GetApplication",
                  "emr-serverless:DeleteApplication",
                  "emr-serverless:AccessLivyEndpoints",
                  "emr-serverless:GetDashboardForJobRun"
              ],
              "Resource": "arn:aws:emr-serverless:us-east-1:111122223333:/applications/*",
              "Condition": {
                  "Null": {
                      "aws:ResourceTag/sagemaker:domain-arn": "false",
                      "aws:ResourceTag/sagemaker:user-profile-arn": "false",
                      "aws:ResourceTag/sagemaker:space-arn": "false"
                  }
              }
          }
      ]
  }
  ```

------
+ **Política de acciones de actualización de dominios, perfiles de usuario y espacios**: la siguiente política otorga permisos para actualizar dominios, perfiles de usuario y espacios de SageMaker IA dentro de la región y cuenta especificadas. AWS 

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "SageMakerUpdateResourcesPolicy",
              "Effect": "Allow",
              "Action": [
                  "sagemaker:UpdateDomain",
                  "sagemaker:UpdateUserprofile",
                  "sagemaker:UpdateSpace"
              ],
              "Resource": [
                  "arn:aws:sagemaker:us-east-1:111122223333:domain/*",
                  "arn:aws:sagemaker:us-east-1:111122223333:user-profile/*"
              ]
          }
      ]
  }
  ```

------

# Creación de aplicaciones de EMR sin servidor desde Studio
<a name="create-emr-serverless-application"></a>

Los científicos e ingenieros de datos pueden crear aplicaciones de EMR sin servidor directamente desde la interfaz de usuario de Studio. Antes de comenzar, asegúrese de haber configurado los permisos necesarios tal y como se describe en la sección [Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker](studio-emr-serverless-permissions.md). Estos permisos permiten a Studio crear, iniciar, ver, finalizar las aplicaciones y acceder a ellas.

Para crear una aplicación de EMR sin servidor desde Studio:

1. En la interfaz de usuario de Studio, vaya hasta el panel izquierdo y seleccione el nodo **Datos** en el menú de navegación de la izquierda. A continuación, desplácese y elija la opción **Aplicaciones y clústeres de Amazon EMR**. Se abre una página que muestra las aplicaciones de Amazon EMR a las que puede acceder desde el entorno de Studio, en la pestaña **Aplicaciones sin servidor**.

1. Elija el botón **Crear aplicación sin servidor** en la parte superior derecha. Se abre la página **Crear aplicación**, que es similar a la vista que vería en la [consola de EMR sin servidor](https://console.aws.amazon.com/emrserverless) al elegir **Usar ajustes personalizados** en las **opciones de configuración de la aplicación**.

1. Proporcione los detalles necesarios para su aplicación, incluidos el nombre y los parámetros configurables específicos que desee establecer y luego elija **Crear aplicación**.  
![\[Formulario de creación de una aplicación de EMR sin servidor desde Studio.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-serverless-create-app.png)

   Todos los ajustes de configuración tienen valores predeterminados y su modificación es opcional. Para obtener información detallada sobre cada parámetro disponible, consulte [Configuración de una aplicación](https://docs.aws.amazon.com/emr/latest/EMR-Serverless-UserGuide/application-capacity.html) en la Guía del usuario de EMR sin servidor.
**nota**  
Durante el proceso de creación de la aplicación en la interfaz de usuario de Studio, tiene la opción **Crear aplicación** o **Crear e iniciar aplicación**. En función de su elección, la aplicación entrará en el estado `Creating` o `Starting`, respectivamente.  
Si opta por crear la aplicación sin iniciarla inmediatamente, asegúrese de que la opción **Iniciar automáticamente la aplicación al enviar el trabajo** permanezca seleccionada. Esto garantizará que la aplicación pase automáticamente a ese estado de `Starting` cuando envíe más adelante un trabajo para ejecutarlo en ella. 
Si desea la configuración más sencilla, se recomienda dejar la opción **Nube privada virtual (VPC)** establecida en su valor predeterminado, **Sin conectividad de red a los recursos de la VPC** en la sección **Conexiones de red**. Esto permite crear la aplicación en la VPC de su dominio sin necesidad de ninguna configuración adicional de la conexión de red.  
 En cualquier otro caso, asegúrese de realizar los siguientes pasos:   
Mira tu VPCs.
Añada rutas a las tablas de enrutamiento de sus subredes privadas.
Configure sus grupos de seguridad como se detalla en [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md).
Esto garantiza la configuración de red adecuada para su aplicación, más allá de la opción predeterminada **Sin conectividad de red**.
En el caso de las aplicaciones creadas desde la interfaz de usuario de Studio Classic, se aplica automáticamente la siguiente configuración:  
Un punto de conexión de Apache Livy habilitado.
La aplicación se etiqueta con lo siguiente:  
Sabio: user-profile-arn
sagemaker:domain-arn
sagemaker:space-arn
Si crea una aplicación fuera de Studio, asegúrese de habilitar manualmente el punto de conexión de Apache Livy y de aplicar el mismo conjunto de etiquetas a la aplicación.

Una vez creada la aplicación, la IU de Studio Classic muestra el mensaje *La aplicación se ha creado correctamente* y la nueva aplicación aparece en la lista **Aplicaciones sin servidor**.

Para conectarse a la aplicación de EMR sin servidor y utilizarla, consulte [Conexión desde Studio a una aplicación de EMR sin servidor](connect-emr-serverless-application.md).

# Conexión desde Studio a una aplicación de EMR sin servidor
<a name="connect-emr-serverless-application"></a>

Los científicos e ingenieros de datos pueden detectar una aplicación de EMR sin servidor y, a continuación, conectarse a ella directamente desde la IU de Studio. Antes de comenzar, asegúrese de haber creado una aplicación de EMR sin servidor siguiendo las instrucciones que se indican en [Creación de aplicaciones de EMR sin servidor desde Studio](create-emr-serverless-application.md).

Puede conectar una aplicación EMR Serverless a una nueva JupyterLab computadora portátil directamente desde la interfaz de usuario de Studio, o bien elegir iniciar la conexión en una computadora portátil de una aplicación en ejecución. JupyterLab 

**importante**  
Al usar Studio, solo puede detectar aplicaciones EMR Serverless y conectarse a ellas para JupyterLab aplicaciones que se lanzan desde espacios privados. Asegúrese de que las aplicaciones EMR Serverless estén ubicadas en la misma AWS región que su entorno de Studio. Su JupyterLab espacio debe usar una versión de imagen SageMaker de distribución `1.10` o superior.

**Para conectar una aplicación EMR Serverless a un nuevo JupyterLab portátil desde la interfaz de usuario de Studio:**

1. En la interfaz de usuario de Studio, vaya hasta el panel izquierdo y seleccione el nodo **Datos** en el menú de navegación de la izquierda. A continuación, desplácese y elija la opción **Aplicaciones y clústeres de Amazon EMR**. Se abre una página que muestra las aplicaciones de Amazon EMR a las que puede acceder desde el entorno de Studio, en la pestaña **Aplicaciones sin servidor**.
**nota**  
Si usted o su administrador han configurado los permisos para permitir el acceso entre cuentas a las aplicaciones de EMR sin servidor, puede ver una lista consolidada de las aplicaciones de todas las cuentas a las que ha concedido acceso a Studio.

1. Seleccione una aplicación de EMR sin servidor que desee conectar a un nuevo cuaderno y, a continuación, elija **Asociar a cuaderno**. Esto abre una ventana modal que muestra la lista de sus JupyterLab espacios.

1. 
   + Seleccione el espacio privado desde el que desea iniciar una JupyterLab aplicación y, a continuación, elija **Abrir bloc de notas**. Esto abre una JupyterLab aplicación desde el espacio elegido y abre una nueva libreta.
   + Como alternativa, puede crear un nuevo espacio privado pulsando el botón **Crear nuevo espacio** en la parte superior de la ventana modal. Introduzca un nombre para su espacio y, a continuación, seleccione **Crear espacio y abrir el cuaderno**. De este modo, se crea un espacio privado con el tipo de instancia predeterminado y la imagen de SageMaker distribución más reciente disponible, se inicia una JupyterLab aplicación y se abre un nuevo bloc de notas.

1. Elija el nombre del rol de ejecución en tiempo de ejecución de IAM que la aplicación de EMR sin servidor puede asumir para la ejecución del trabajo. Tras la selección, un comando de conexión rellena la primera celda de su cuaderno e inicia la conexión con la aplicación sin servidor de EMR.
**importante**  
Para conectar correctamente un JupyterLab portátil a una aplicación EMR Serverless, primero debe asociar la lista de funciones de tiempo de ejecución a su dominio o perfil de usuario, tal y como se describe en. [Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker](studio-emr-serverless-permissions.md) Si no realiza este paso, no podrá establecer la conexión. 

   Cuando la conexión se realice correctamente, un mensaje lo confirmará, se iniciará la aplicación de EMR sin servidor y se iniciará la sesión de Spark.
**nota**  
Cuando se conecta a una aplicación de EMR sin servidor, su estado pasa de `Stopped` o `Created` a `Started`.

**Como alternativa, puede conectarse a un clúster desde una JupyterLab computadora portátil.**

1. Seleccione el botón **Clúster** en la parte superior del cuaderno. Al hacerlo, se abre una ventana modal con una lista de las aplicaciones de EMR sin servidor a las que puede acceder. Puede ver las aplicaciones en la pestaña **Aplicaciones sin servidor**.

1. Seleccione la aplicación a la que desea conectarse y, a continuación, elija **Conectar**.

1. EMR sin servidor admite los roles de IAM en tiempo de ejecución que estaban precargados al configurar los permisos necesarios, tal como se describe en [Configure los permisos para habilitar la publicación y el lanzamiento de aplicaciones de Amazon EMR desde Studio SageMaker](studio-emr-serverless-permissions.md). Si no realiza este paso, no podrá establecer la conexión. 

   Puede seleccionar su rol en el menú desplegable **Rol de ejecución de Amazon EMR**. Cuando se conecta a una aplicación de EMR sin servidor, Studio añade un bloque de código a una celda activa para establecer la conexión.

1. Se llena y se ejecuta una celda activa. Esta celda contiene el comando mágico de conexión para conectar el cuaderno a la aplicación.

   Cuando la conexión se realice correctamente, un mensaje confirmará la conexión y el inicio de la aplicación Spark. Puede empezar a enviar sus trabajos de procesamiento de datos a su aplicación de EMR sin servidor.

# Detención o eliminación de una aplicación de EMR sin servidor desde la IU de Studio
<a name="terminate-emr-serverless-application"></a>

Puede detener (pasar al estado `Stopped`) o eliminar (pasar al estado `Deleted`) una aplicación de EMR sin servidor desde la lista de aplicaciones en la IU de Studio. 

**Para detener o eliminar una aplicación, vaya hasta la lista de aplicaciones de EMR sin servidor disponibles.**

1. En la interfaz de usuario de Studio, vaya hasta el panel izquierdo y seleccione el nodo **Datos** en el menú de navegación de la izquierda. A continuación, desplácese y elija la opción **Aplicaciones y clústeres de Amazon EMR**. Se abre una página que muestra las aplicaciones de Amazon EMR a las que puede acceder desde el entorno de Studio, en la pestaña **Aplicaciones sin servidor**.

1. Seleccione el nombre de la aplicación que desee detener o eliminar y, a continuación, pulse el botón **Detener** o **Eliminar** correspondiente.

1. Un mensaje de confirmación le informa de que cualquier trabajo pendiente se perderá permanentemente. 

# Preparación de datos con Amazon EMR
<a name="studio-notebooks-emr-cluster"></a>

**importante**  
Amazon SageMaker Studio y Amazon SageMaker Studio Classic son dos de los entornos de aprendizaje automático que puede utilizar para interactuar con la SageMaker IA.  
Si su dominio se creó después del 30 de noviembre de 2023, Studio es su experiencia predeterminada.  
Si tu dominio se creó antes del 30 de noviembre de 2023, Amazon SageMaker Studio Classic es tu experiencia predeterminada. Para usar Studio si Amazon SageMaker Studio Classic es tu experiencia predeterminada, consulta[Migración desde Amazon SageMaker Studio Classic](studio-updated-migrate.md).  
Al migrar de Amazon SageMaker Studio Classic a Amazon SageMaker Studio, no se pierde la disponibilidad de las funciones. Studio Classic también existe como una aplicación en Amazon SageMaker Studio para ayudarle a ejecutar sus flujos de trabajo de aprendizaje automático tradicionales.

Amazon SageMaker Studio y Studio Classic vienen con una integración integrada con [Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html). [Dentro JupyterLab de las libretas Studio Classic, los científicos e ingenieros de datos pueden descubrir y conectarse a los clústeres Amazon EMR existentes y, a continuación, explorar, visualizar y preparar datos a gran escala de forma interactiva para el aprendizaje automático [mediante Apache Spark[, Apache](https://aws.amazon.com/emr/features/hive)](https://aws.amazon.com/emr/features/spark) Hive o Presto.](https://aws.amazon.com/emr/features/presto) Con un solo clic, pueden acceder a la IU de Spark para supervisar el estado y las métricas de sus trabajos de Spark sin moverse de su cuaderno.

Los administradores pueden crear [plantillas de CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) que definan los clústeres de Amazon EMR. A continuación, pueden hacer que esas plantillas de clústeres estén disponibles en [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/userguide/end-user-console.html) para que los usuarios de Studio y Studio Classic puedan inicializarlas. A continuación, los científicos de datos pueden elegir una plantilla predefinida para autoaprovisionar un clúster de Amazon EMR directamente desde su entorno de Studio. Los administradores pueden parametrizar aún más las plantillas para que los usuarios puedan elegir aspectos del clúster dentro de unos valores predefinidos. Por ejemplo, es posible que los usuarios deseen especificar el número de nodos principales o seleccionar el tipo de instancia de un nodo en un menú desplegable.

Con él CloudFormation, los administradores pueden controlar la configuración organizativa, de seguridad y de red de los clústeres de Amazon EMR. Luego, los científicos e ingenieros de datos pueden personalizar esas plantillas para sus cargas de trabajo con el fin de crear clústeres de Amazon EMR bajo demanda directamente desde Studio y Studio Classic sin tener que realizar configuraciones complejas. Los usuarios pueden terminar los clústeres de Amazon EMR después de utilizarlos.
+ **Si es un administrador**:

  Asegúrese de haber habilitado la comunicación entre los clústeres de Studio o Studio Classic y Amazon EMR. Para obtener instrucciones, consulte la sección [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md). Una vez habilitada esta comunicación, puede:
  + [Configurar las CloudFormation plantillas de Amazon EMR en el Service Catalog](studio-notebooks-set-up-emr-templates.md)
  + [Configuración de la lista de clústeres de Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md)
+ **Si es científico de datos o ingeniero de datos**, puede:
  + [Inicialización de un clúster de Amazon EMR desde Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md)
  + [Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic](discover-emr-clusters.md)
  + [Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md)
  + [Finalización de un clúster de Amazon EMR desde Studio o Studio Classic](terminate-emr-clusters.md)
  + [Acceso a la interfaz de usuario de Spark desde Studio o Studio Classic](studio-notebooks-access-spark-ui.md)

**Topics**
+ [Inicio rápido: cree un dominio sandbox de SageMaker IA para lanzar clústeres de Amazon EMR en Studio](studio-notebooks-emr-cluster-quickstart.md)
+ [Guía de administración](studio-emr-admin-guide.md)
+ [Guía del usuario](studio-emr-user-guide.md)
+ [Blogs y documentos técnicos](studio-notebooks-emr-resources.md)
+ [Resolución de problemas](studio-notebooks-emr-troubleshooting.md)

# Inicio rápido: cree un dominio sandbox de SageMaker IA para lanzar clústeres de Amazon EMR en Studio
<a name="studio-notebooks-emr-cluster-quickstart"></a>

En esta sección, se explica la configuración rápida de un entorno de pruebas completo en Amazon SageMaker Studio. Creará un nuevo dominio de Studio que permitirá a los usuarios inicializar nuevos clústeres de Amazon EMR directamente desde Studio. Los pasos proporcionan un ejemplo de cuaderno que puede conectar a un clúster de Amazon EMR para empezar a ejecutar cargas de trabajo de Spark. Con este cuaderno, creará un sistema de generación aumentada (RAG) de recuperación utilizando el procesamiento distribuido y la base de datos vectoriales Amazon EMR Spark. OpenSearch 

**nota**  
Para empezar, inicie sesión en la consola de AWS administración con una cuenta de usuario AWS Identity and Access Management (IAM) con permisos de administrador. Para obtener más información sobre cómo registrar una cuenta de AWS y crear un usuario con acceso administrativo, consulte [Complete los requisitos previos de Amazon SageMaker AI](gs-set-up.md).

**Para configurar el entorno de pruebas de Studio y empezar a ejecutar trabajos de Spark:**
+ [Paso 1: Crear un dominio de SageMaker IA para lanzar clústeres de Amazon EMR en Studio](#studio-notebooks-emr-cluster-quickstart-setup)
+ [Paso 2: inicialización de un nuevo clúster de Amazon EMR desde la interfaz de usuario de Studio](#studio-notebooks-emr-cluster-quickstart-launch)
+ [Paso 3: Conectar un JupyterLab portátil al clúster de Amazon EMR](#studio-notebooks-emr-cluster-quickstart-connect)
+ [Paso 4: Limpia tu pila CloudFormation](#studio-notebooks-emr-cluster-quickstart-clean-stack)

## Paso 1: Crear un dominio de SageMaker IA para lanzar clústeres de Amazon EMR en Studio
<a name="studio-notebooks-emr-cluster-quickstart-setup"></a>

En los siguientes pasos, aplicará una CloudFormation pila para crear automáticamente un nuevo dominio de SageMaker IA. La pila también crea un perfil de usuario y configura el entorno y los permisos necesarios. El dominio de SageMaker IA está configurado para permitirle lanzar directamente clústeres de Amazon EMR desde Studio. En este ejemplo, los clústeres de Amazon EMR se crean en la misma AWS cuenta que SageMaker AI sin autenticación. [Puede encontrar CloudFormation pilas adicionales que admiten varios métodos de autenticación, como Kerberos, en el repositorio getting\$1started.](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub 

**nota**  
SageMaker AI permite 5 dominios de Studio por AWS cuenta y de forma predeterminada. Región de AWS Asegúrese de que su cuenta no tenga más de 4 dominios en su región antes de crear la pila.

**Siga estos pasos para configurar un dominio de SageMaker IA para lanzar clústeres de Amazon EMR desde Studio.**

1. Descargue el archivo sin procesar de esta [CloudFormation plantilla](https://github.com/aws-samples/sagemaker-studio-foundation-models/blob/main/workshop-artifacts/cfn/workshop-cfn.yaml) desde el `sagemaker-studio-emr` GitHub repositorio.

1. Ve a la CloudFormation consola: [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)

1. Elija **Crear pila** y seleccione **Con recursos nuevos (estándar)** en el menú desplegable.

1. En el **paso 1**:

   1. En la sección **Preparar la plantilla**, seleccione **Elegir una plantilla existente**.

   1. En la sección **Especificar plantilla**, elija **Cargar un archivo de plantilla**.

   1. **Cargue la CloudFormation plantilla descargada y seleccione Siguiente.**

1. En el **paso 2**, introduce un **nombre para la pila** y **SageMakerDomainName**, a continuación, selecciona **Siguiente**.

1. En el **paso 3**, mantenga todos los valores predeterminados y elija **Siguiente**.

1. En el **paso 4**, marque la casilla para confirmar la creación del recurso y seleccione **Crear pila**. De este modo, se crea un dominio de Studio en su cuenta y región.

## Paso 2: inicialización de un nuevo clúster de Amazon EMR desde la interfaz de usuario de Studio
<a name="studio-notebooks-emr-cluster-quickstart-launch"></a>

En los siguientes pasos, creará un nuevo clúster de Amazon EMR desde la IU de Studio.

1. Ve a la consola de SageMaker IA [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)y selecciona **Dominios** en el menú de la izquierda.

1. Haz clic en el **Generativo** de tu nombre de dominio AIDomain para abrir la página de **detalles del dominio**.

1. Inicialización de Studio desde el perfil de usuario `genai-user`.

1. En el panel de navegación izquierdo, vaya a **Datos** y luego a **Clústeres de Amazon EMR**.

1. En la página de clústeres de Amazon EMR , elija **Crear**. **Seleccione la plantilla **SageMaker Studio Domain No Auth EMR** creada por CloudFormation la pila y, a continuación, elija Siguiente.**

1. Introduzca el nombre del nuevo clúster de Amazon EMR. Si lo desea, actualice otros parámetros, como el tipo de instancia de los nodos principales y maestros, el tiempo de espera de inactividad o la cantidad de nodos principales.

1. Elija **Crear recurso** para inicializar el nuevo clúster de Amazon EMR. 

   Tras crear el clúster de Amazon EMR, siga el estado en la página **Clústeres de EMR**. Cuando el estado cambie a `Running/Waiting`, el clúster de Amazon EMR estará listo para usarse en Studio.

## Paso 3: Conectar un JupyterLab portátil al clúster de Amazon EMR
<a name="studio-notebooks-emr-cluster-quickstart-connect"></a>

En los siguientes pasos, conectará un portátil JupyterLab al clúster de Amazon EMR en ejecución. Para este ejemplo, importa un bloc de notas que le permite crear un sistema de generación aumentada de recuperación (RAG) mediante el procesamiento distribuido y la base de datos vectoriales de Amazon EMR Spark. OpenSearch 

1. 

**Lance JupyterLab**

   Desde Studio, inicia la JupyterLab aplicación.

1. 

**Creación de un espacio privado**

   Si no ha creado un espacio para JupyterLab la aplicación, elija **Crear un JupyterLab espacio**. Introduzca un nombre para el espacio y manténgalo como **Privado**. Deje todas las demás configuraciones en sus valores predeterminados y, a continuación, elija **Crear espacio**. 

   De lo contrario, ejecute su JupyterLab espacio para iniciar una JupyterLab aplicación.

1. 

**Implementación de su LLM y sus modelos de incrustación para la inferencia**
   + En el menú superior, seleccione **Archivo**, **Nuevo** y, a continuación, **Terminal**.
   + En el terminal, ejecute el siguiente comando:

     ```
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb
     mkdir AWSGuides
     cd AWSGuides
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/AmazonSageMakerDeveloperGuide.pdf
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/EC2DeveloperGuide.pdf
     wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/AWSGuides/S3DeveloperGuide.pdf
     ```

     Al hacerlo, se recupera el cuaderno `Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb` en su directorio local y se descargan tres archivos PDF en una carpeta de `AWSGuides` local.
   + Abra `lab-00-setup/Lab_0_Warm_Up_Deploy_EmbeddingModel_Llama2_on_Nvidia.ipynb`, conserve el kernel `Python 3 (ipykernel)` y ejecute cada celda.
**aviso**  
En la sección **Acuerdo de licencia de Llama 2**, asegúrese de aceptar el EULA de Llama2 antes de continuar.  
El cuaderno implementa dos modelos, `Llama 2` y `all-MiniLM-L6-v2 Models`, en `ml.g5.2xlarge` para realizar la inferencia.

     La implementación de los modelos y la creación de los puntos de conexión puede llevar algún tiempo.

1. 

**Apertura del cuaderno principal**

   En JupyterLab, abre tu terminal y ejecuta el siguiente comando.

   ```
   cd ..
   wget --no-check-certificate https://raw.githubusercontent.com/aws-samples/sagemaker-studio-foundation-models/main/lab-03-rag/Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb
   ```

   Deberías ver el `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb` cuaderno adicional en el panel izquierdo de JupyterLab.

1. 

**Seleccione un kernel de `PySpark`.**

   Abra su cuaderno de `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb` y asegúrese de que está usando el kernel `SparkMagic PySpark`. Puede cambiar de kernel en la parte superior derecha de su cuaderno. Elija el nombre del kernel actual para abrir un modal de selección del kernel y, a continuación, elija`SparkMagic PySpark`.

1. 

**Conexión del cuaderno al clúster**

   1. En la parte superior del cuaderno, elija **Clúster**. Esta acción abre una ventana modal en la que se enumeran todos los clústeres en ejecución para los que tiene permiso de acceso. 

   1. Seleccione su clúster y elija **Conectar**. Se abre una nueva ventana modal de selección del tipo de credencial.

   1. Elija **No hay credenciales** y luego **Conectar**.  
![\[Modal que muestra una selección de credenciales de Amazon EMR para JupyterLab cuadernos.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-credential-selection.png)

   1. Se rellena y ejecuta automáticamente una celda del cuaderno. La celda del cuaderno carga la extensión `sagemaker_studio_analytics_extension.magics`, que proporciona la funcionalidad para conectarse al clúster de Amazon EMR. A continuación, utiliza el comando mágico `%sm_analytics` para iniciar la conexión con el clúster de Amazon EMR y la aplicación de Spark.
**nota**  
Asegúrese de que la cadena de conexión a su clúster de Amazon EMR tenga un tipo de autenticación establecido en `None`. Esto se ilustra con el valor `--auth-type None` en el siguiente ejemplo. Puede modificar el campo si es necesario.  

      ```
      %load_ext sagemaker_studio_analytics_extension.magics
      %sm_analytics emr connect --verify-certificate False --cluster-id your-cluster-id --auth-type None --language python
      ```

   1. Una vez que haya establecido correctamente la conexión, el mensaje de salida de la celda de conexión debería mostrar sus detalles de `SparkSession`, incluidos el ID del clúster, el ID de la aplicación `YARN` y un enlace a la interfaz de usuario de Spark para supervisar sus trabajos de Spark.

Ya está listo para usar el cuaderno de `Lab_3_RAG_on_SageMaker_Studio_using_EMR.ipynb`. Este cuaderno de ejemplo ejecuta PySpark cargas de trabajo distribuidas para crear un sistema RAG utilizando y. LangChain OpenSearch

## Paso 4: Limpia tu pila CloudFormation
<a name="studio-notebooks-emr-cluster-quickstart-clean-stack"></a>

Cuando termine, asegúrese de terminar sus dos puntos de conexión y de eliminar su pila de CloudFormation para evitar que le sigan cobrando. Al eliminar la pila, se limpian todos los recursos aprovisionados por la pila.

**Para eliminar tu CloudFormation pila cuando termines de usarla**

1. Ve a la CloudFormation consola: [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)

1. Seleccione la pila que desea eliminar. Puede buscarla por su nombre o en la lista de pilas.

1. Haga clic en el botón **Eliminar** para finalizar la eliminación de la pila y, a continuación, en **Eliminar** de nuevo para confirmar que se eliminarán todos los recursos creados por la pila.

   Espere a que finalice la eliminación de la pila. Esto puede tardar unos minutos. CloudFormation limpia automáticamente todos los recursos definidos en la plantilla de pila.

1. Compruebe que se hayan eliminado todos los recursos creados por la pila. Por ejemplo, compruebe si sobra algún clúster de Amazon EMR.

**Eliminación de los puntos de conexión de la API de un modelo**

1. Ve a la consola de SageMaker IA:. [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)

1. En el panel de navegación, seleccione **Inferencia** y elija **Puntos de conexión**.

1. Seleccione el punto de conexión `hf-allminil6v2-embedding-ep` y, a continuación, elija **Eliminar** en la lista desplegable **Acciones**. Repita el paso para el punto de conexión `meta-llama2-7b-chat-tg-ep`.

# Guía de administración
<a name="studio-emr-admin-guide"></a>

En esta sección, se proporcionan los requisitos previos e instrucciones de red para permitir la comunicación entre los clústeres de Studio o Studio Classic y Amazon EMR. Abarca diferentes escenarios de implementación: cuando Studio y Amazon EMR se aprovisionan en Amazon privado VPCs sin acceso público a Internet, así como cuando necesitan comunicarse a través de Internet.

Explica cómo los administradores pueden utilizarlas para poner las CloudFormation plantillas AWS Service Catalog a disposición de Studio, lo que permite a los científicos de datos descubrir y autoaprovisionar clústeres de Amazon EMR directamente desde Studio. Esto implica crear una cartera de Service Catalog, conceder los permisos necesarios, hacer referencia a las plantillas de Amazon EMR y parametrizarlas para permitir personalizaciones durante la creación del clúster.

Por último, proporciona orientación sobre la configuración de la capacidad de detección de clústeres de Amazon EMR existentes en ejecución de Studio y Studio Classic, y abarca los escenarios de acceso entre cuentas y cuentas únicas, además de los permisos de IAM necesarios.

**Topics**
+ [Configurar las CloudFormation plantillas de Amazon EMR en el Service Catalog](studio-notebooks-set-up-emr-templates.md)
+ [Configuración de la lista de clústeres de Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md)
+ [Configuración de roles de tiempo de ejecución de IAM para el acceso al clúster de Amazon EMR en Studio](studio-notebooks-emr-cluster-rbac.md)
+ [Políticas de referencia](studio-set-up-emr-permissions-reference.md)

# Configurar las CloudFormation plantillas de Amazon EMR en el Service Catalog
<a name="studio-notebooks-set-up-emr-templates"></a>

En este tema se presupone que los administradores están familiarizados con [CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html)[las carteras y los productos de Amazon EMR AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/getstarted-portfolio.html), así como con [Amazon EMR.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html)

Para simplificar la creación de clústeres de Amazon EMR desde Studio, los administradores pueden registrar una [ CloudFormation plantilla de Amazon EMR](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-elasticmapreduce-cluster.html) como producto de una cartera. [AWS Service Catalog](https://docs.aws.amazon.com/servicecatalog/latest/adminguide/introduction.html) Para poner la plantilla a disposición de los científicos de datos, deben asociar la cartera con la función de ejecución de la SageMaker IA utilizada en Studio o Studio Classic. Por último, para que los usuarios puedan detectar plantillas, aprovisionar los clústeres y conectarse a los clústeres de Amazon EMR desde Studio o Studio Classic, los administradores deben establecer los permisos de acceso adecuados.

Las CloudFormation plantillas de Amazon EMR permiten a los usuarios finales personalizar varios aspectos del clúster. Por ejemplo, los administradores pueden definir una lista aprobada de tipos de instancias que los usuarios pueden elegir al crear un clúster.

En las siguientes instrucciones, se utilizan end-to-end [CloudFormation pilas](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) para configurar un dominio de Studio o Studio Classic, un perfil de usuario, una cartera de Service Catalog y rellenar una plantilla de lanzamiento de Amazon EMR. En los siguientes pasos se destacan los ajustes específicos que los administradores deben aplicar en su end-to-end pila para permitir que Studio o Studio Classic accedan a los productos de Service Catalog y aprovisione los clústeres de Amazon EMR.

**nota**  
El GitHub repositorio [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) contiene end-to-end CloudFormation pilas de ejemplos que implementan las funciones de IAM, las redes, el SageMaker dominio, el perfil de usuario y la cartera de Service Catalog necesarios y añaden una plantilla de lanzamiento de Amazon EMR. CloudFormation Las plantillas proporcionan diferentes opciones de autenticación entre Studio o Studio Classic y el clúster de Amazon EMR. En estas plantillas de ejemplo, la CloudFormation pila principal transfiere los parámetros de la VPC de SageMaker IA, el grupo de seguridad y la subred a la plantilla de clúster de Amazon EMR.  
El repositorio [sagemaker-studio-emr/cloudformation/emr\$1servicecatalog\$1templates contiene varios ejemplos de plantillas](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/emr_servicecatalog_templates) de lanzamiento de Amazon CloudFormation EMR, incluidas opciones para implementaciones con una sola cuenta y entre cuentas.  
Consulte [Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md) para obtener más información sobre los métodos de autenticación que puede utilizar para conectarse a un clúster de Amazon EMR.

Para permitir que los científicos de datos descubran las CloudFormation plantillas de Amazon EMR y aprovisionar clústeres desde Studio o Studio Classic, siga estos pasos.

## Paso 0: Compruebe su red y prepare su plantilla CloudFormation
<a name="studio-set-up-emr-prereq"></a>

Antes de comenzar:
+ Asegúrese de haber revisado los requisitos de red y seguridad en [Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md).
+ Debe tener una end-to-end CloudFormation pila existente que sea compatible con el método de autenticación que elija. Puede encontrar ejemplos de este tipo de CloudFormation plantillas en el repositorio [aws-samples/ sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub . En los siguientes pasos, se destacan las configuraciones específicas de la end-to-end pila para permitir el uso de plantillas de Amazon EMR en Studio o Studio Classic. 

## Paso 1: Asocie su cartera de Service Catalog a la SageMaker IA
<a name="studio-set-up-emr-service-catalog-portfolio"></a>

**En su cartera de Service Catalog**, asocie su ID de cartera con la función de ejecución de SageMaker IA que accede a su clúster.

Para ello, añada la siguiente sección (aquí en formato YAML) a su pila. Esto otorga al rol de ejecución de SageMaker IA acceso a la cartera de Service Catalog especificada que contiene productos como las plantillas de Amazon EMR. Permite que la SageMaker IA asuma las funciones para lanzar esos productos.

 Sustituya *SageMakerExecutionRole.Arn* y *SageMakerStudioEMRProductPortfolio.ID* por sus valores reales.

```
SageMakerStudioEMRProductPortfolioPrincipalAssociation:
    Type: AWS::ServiceCatalog::PortfolioPrincipalAssociation
    Properties:
      PrincipalARN: SageMakerExecutionRole.Arn
      PortfolioId: SageMakerStudioEMRProductPortfolio.ID
      PrincipalType: IAM
```

Para obtener más información sobre el conjunto necesario de permisos de IAM, consulte la sección sobre [permisos](#studio-emr-permissions).

## Paso 2: referencia a una plantilla de Amazon EMR en un producto de Service Catalog
<a name="studio-set-up-emr-service-catalog-product"></a>

**En un producto de Service Catalog de su cartera**, haga referencia a un recurso de plantilla de Amazon EMR y garantice su visibilidad en Studio o Studio Classic. 

Para ello, haga referencia al recurso de plantilla de Amazon EMR en la definición del producto de Service Catalog y, a continuación, añada el siguiente conjunto `"sagemaker:studio-visibility:emr"` de claves de etiquetas al valor `"true"` (consulte el ejemplo en formato YAML).

En la definición del producto de Service Catalog, se hace referencia a la CloudFormation plantilla del clúster mediante una URL. La etiqueta adicional establecida en true garantiza la visibilidad de las plantillas de Amazon EMR en Studio o Studio Classic. 

**nota**  
La plantilla de Amazon EMR a la que hace referencia la URL proporcionada en el ejemplo no exige ningún requisito de autenticación cuando se inicializa. Esta opción está pensada para fines de demostración y aprendizaje. No se recomienda en un entorno de producción.

```
SMStudioEMRNoAuthProduct:
    Type: AWS::ServiceCatalog::CloudFormationProduct
    Properties:
      Owner: AWS
      Name: SageMaker Studio Domain No Auth EMR
      ProvisioningArtifactParameters:
        - Name: SageMaker Studio Domain No Auth EMR
          Description: Provisions a SageMaker domain and No Auth EMR Cluster
          Info:
            LoadTemplateFromURL: Link to your CloudFormation template. For example, https://aws-blogs-artifacts-public.s3.amazonaws.com/artifacts/astra-m4-sagemaker/end-to-end/CFN-EMR-NoStudioNoAuthTemplate-v3.yaml
      Tags:
        - Key: "sagemaker:studio-visibility:emr"
          Value: "true"
```

## Paso 3: Parametrizar la plantilla de Amazon EMR CloudFormation
<a name="studio-set-up-emr-cfn-template"></a>

**La CloudFormation plantilla utilizada para definir el clúster de Amazon EMR en el producto Service Catalog** permite a los administradores especificar parámetros configurables. Los administradores pueden definir valores `Default` y rangos `AllowedValues` para estos parámetros en la sección `Parameters` de la plantilla. Durante el proceso de inicialización del clúster, los científicos de datos pueden proporcionar entradas personalizadas o seleccionar entre esas opciones predefinidas para personalizar determinados aspectos de su clúster de Amazon EMR.

El siguiente ejemplo ilustra los parámetros de entrada adicionales que los administradores pueden establecer al crear una plantilla de Amazon EMR.

```
"Parameters": {
    "EmrClusterName": {
      "Type": "String",
      "Description": "EMR cluster Name."
    },
    "MasterInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR master node.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge"
      ]
    },
    "CoreInstanceType": {
      "Type": "String",
      "Description": "Instance type of the EMR core nodes.",
      "Default": "m5.xlarge",
      "AllowedValues": [
        "m5.xlarge",
        "m5.2xlarge",
        "m5.4xlarge",
        "m3.medium",
        "m3.large",
        "m3.xlarge",
        "m3.2xlarge"
      ]
    },
    "CoreInstanceCount": {
      "Type": "String",
      "Description": "Number of core instances in the EMR cluster.",
      "Default": "2",
      "AllowedValues": [
        "2",
        "5",
        "10"
      ]
    },
    "EmrReleaseVersion": {
      "Type": "String",
      "Description": "The release version of EMR to launch.",
      "Default": "emr-5.33.1",
      "AllowedValues": [
        "emr-5.33.1",
        "emr-6.4.0"
      ]
    }
  }
```

Una vez que los administradores hayan hecho que las CloudFormation plantillas de Amazon EMR estén disponibles en Studio, los científicos de datos pueden utilizarlas para aprovisionar automáticamente los clústeres de Amazon EMR. La sección `Parameters` definida en la plantilla se traduce en campos de entrada en el formulario de creación del clúster en Studio o Studio Classic. Para cada parámetro, los científicos de datos pueden introducir un valor personalizado en el cuadro de entrada o seleccionar una de las opciones predefinidas que aparecen en un menú desplegable, que corresponde a los `AllowedValues` especificados en la plantilla.

La siguiente ilustración muestra el formulario dinámico ensamblado a partir de una plantilla de CloudFormation Amazon EMR para crear un clúster de Amazon EMR en Studio o Studio Classic.

![\[Ilustración de un formulario dinámico ensamblado a partir de una plantilla de CloudFormation Amazon EMR para crear un clúster de Amazon EMR desde Studio o Studio Classic.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)


Visite [Inicialización de un clúster de Amazon EMR desde Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md) para aprender a inicializar un clúster desde Studio o Studio Classic con esas plantillas de Amazon EMR.

## Paso 4: configuración de los permisos para habilitar la enumeración y la inicialización de clústeres de Amazon EMR desde Studio
<a name="studio-emr-permissions"></a>

Por último, asocie los permisos de IAM necesarios para poder enumerar los clústeres de Amazon EMR existentes en ejecución y autoaprovisionar nuevos clústeres desde Studio o Studio Classic.

El rol o roles a los que debe añadir esos permisos depende de si Studio o Studio Classic y Amazon EMR están implementados en la misma cuenta (elija *Cuenta única*) o en cuentas diferentes (elija *Entre cuentas*).

**importante**  
Solo puede descubrir clústeres de Amazon EMR y conectarse a ellos para JupyterLab aplicaciones de Studio Classic que se lancen desde espacios privados. Asegúrese de que los clústeres de Amazon EMR estén ubicados en la misma AWS región que su entorno de Studio.

### Cuenta única
<a name="studio-set-up-emr-permissions-singleaccount"></a>

Si sus clústeres de Amazon EMR y Studio o Studio Classic están implementados en la misma AWS cuenta, asocie los siguientes permisos a la función de ejecución de SageMaker IA que accede a su clúster.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear política insertada** para añadir otra política que conceda al rol de ejecución los permisos para aprovisionar nuevos clústeres de Amazon EMR mediante plantillas de CloudFormation . Para obtener más información sobre el documento de política, consulta *Crear EMRclusters políticas de Amazon* en[Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster de Amazon EMR y Studio están en la misma cuenta](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

### Entre cuentas
<a name="studio-set-up-emr-permissions-crossaccount"></a>

Antes de empezar, recupere el ARN de la función de ejecución de SageMaker IA utilizada en su espacio privado.

Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Si sus clústeres de Amazon EMR y Studio o Studio Classic se implementan en AWS cuentas independientes, debe configurar los permisos en ambas cuentas.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster y Studio están en cuentas diferentes](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

#### En la cuenta de clúster de Amazon EMR
<a name="studio-set-up-emr-permissions-crossaccount-emraccount"></a>

Siga estos pasos para crear los roles y las políticas necesarios en la cuenta en la que está implementado Amazon EMR, también conocida como *cuenta de confianza*:

1. **Paso 1**: recuperación del ARN del [rol de servicio de su clúster de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Para aprender a buscar el ARN del rol de servicio de un clúster, consulte [Configuración de los roles de servicio de IAM de los permisos de Amazon EMR para los servicios y recursos de AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Paso 2**: creación de un rol de IAM personalizado denominado `AssumableRole` con la siguiente configuración:
   + Permisos: conceda los permisos necesarios a `AssumableRole` para permitir el acceso a los recursos de Amazon EMR. Este rol también se conoce como *rol de acceso* en situaciones que implican el acceso entre cuentas.
   + Relación de confianza: configure la política de confianza para `AssumableRole` para permitir asumir el rol de ejecución (el `SageMakerExecutionRole` en el diagrama Entre cuentas) desde la cuenta de Studio a la que se requiere acceso.

   Al asumir el rol, Studio o Studio Classic pueden obtener acceso temporal a los permisos que necesitan en Amazon EMR.

   Para obtener instrucciones detalladas sobre cómo crear una cuenta nueva `AssumableRole` en tu AWS cuenta de Amazon EMR, sigue estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

------
#### [ For users of Studio and JupyterLab ]

      `studio-account`Sustitúyala por el ID de cuenta de Studio y `AmazonSageMaker-ExecutionRole` por la función de ejecución que utilice tu JupyterLab espacio.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------
#### [ For users of Studio Classic ]

      Sustituya `studio-account` por el ID de cuenta de Studio Classic.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:root"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------

   1. En la página **Agregar permisos**, añada el permiso que acaba de crear y, a continuación, seleccione **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `AssumableRole` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Para obtener más información sobre cómo crear un rol en una cuenta de AWS , consulte [Creación de un rol de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html).

#### En la cuenta de Studio
<a name="studio-set-up-emr-permissions-crossaccount-studioaccount"></a>

En la cuenta en la que esté desplegado Studio, también conocida como *cuenta de confianza*, actualice la función de ejecución de SageMaker IA para acceder a sus clústeres con los permisos necesarios para acceder a los recursos de la cuenta de confianza.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada la política insertada que concede al rol permisos para actualizar los dominios, los perfiles de usuario y los espacios. Para obtener más información sobre el documento de política, consulte *Domain, user profile, and space update actions policy* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear una política insertada** para añadir otra política que conceda al rol de ejecución los permisos para asumir el `AssumableRole` y luego realice las acciones permitidas por la política de acceso del rol. Sustituya `emr-account` por el ID de cuenta Amazon EMR y `AssumableRole` por el nombre del rol asumible creado en la cuenta de Amazon EMR.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowRoleAssumptionForCrossAccountDiscovery",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": [
                      "arn:aws:iam::111122223333:role/AssumableRole"
                  ]
              }
          ]
      }
      ```

------

   1. Repita el paso **Crear política insertada** para añadir otra política que conceda al rol de ejecución los permisos para aprovisionar nuevos clústeres de Amazon EMR mediante plantillas de CloudFormation . Para obtener más información sobre el documento de política, consulta *Crear EMRclusters políticas de Amazon* en[Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. (Opcional) Para poder enumerar los clústeres de Amazon EMR implementados en la misma cuenta que Studio, añada una política interna adicional a su rol de ejecución de Studio, tal y como se define en *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). 

1. **Paso 3**: Asocia tus funciones asumibles (función de acceso) a tu dominio o perfil de usuario. JupyterLab los usuarios de Studio pueden usar la consola de SageMaker IA o el script proporcionado.

    Elija la pestaña que corresponda a su caso de uso.

------
#### [ Associate your assumable roles in JupyterLab using the SageMaker AI console ]

   Para asociar tus funciones asumibles a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

   1. Navegue hasta la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. En el panel de navegación izquierdo, elige el **dominio** y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.

   1. 
      + Para añadir sus funciones asumibles (función de acceso) a su dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, vaya a la **JupyterLab**sección.
      + Para añadir sus funciones asumibles (función de acceso) a su perfil de usuario: en la página de **detalles del dominio**, elija la pestaña **Perfiles de usuario** y seleccione el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos haya actualizado. En la pestaña **Configuraciones de aplicaciones**, navegue hasta la **JupyterLab**sección.

   1. Elija **Editar** y añada ARNs la función asumible (función de acceso).

   1. Seleccione **Enviar**.

------
#### [ Associate your assumable roles in JupyterLab using a Python script ]

    En una JupyterLab aplicación iniciada desde un espacio con el rol de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya los valores `domainID`, `user-profile-name`, `emr-accountID` y `AssumableRole` (`EMRServiceRole` para los [roles de tiempo de ejecución de RBAC]()) por sus valores adecuados. Este fragmento de código actualiza la configuración del perfil de usuario para un perfil de usuario (uso`client.update_userprofile`) o una configuración de dominio (uso`client.update_domain`) específicos dentro de un dominio de SageMaker IA. En concreto, permite que la JupyterLab aplicación asuma una función de IAM concreta (`AssumableRole`) para ejecutar clústeres de Amazon EMR dentro de la cuenta de Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_userprofile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
               'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                                "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
           }
           
       }
   })
   resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------
#### [ For users of Studio Classic ]

   Proporcione el ARN de `AssumableRole` a su rol de ejecución de Studio Classic. El servidor de Jupyter carga el ARN al inicializarse. El rol de ejecución de Studio asume ese rol de varias cuentas para detectar y conectarse a los clústeres de Amazon EMR en la *cuenta de confianza*.

   Puede especificar esta información mediante scripts de configuración del ciclo de vida (LCC). Puede asociar la LCC a su dominio o a un perfil de usuario específico. El script de LCC que utilice debe ser una configuración. JupyterServer Para obtener más información sobre cómo crear un script de LCC, consulte [Use Lifecycle Configurations with Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   A continuación se muestra un ejemplo de script. Para modificar el script, sustituya `AssumableRole` y `emr-account` por sus valores correspondientes. El número de cuentas cruzadas está limitado a cinco.

   ```
   # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account.
   
   #!/bin/bash
   
   set -eux
   
   FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
   FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
   FILE="$FILE_DIRECTORY/$FILE_NAME"
   
   mkdir -p $FILE_DIRECTORY
   
   cat > "$FILE" <<- "EOF"
   {
     emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole",
     emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole"
   }
   EOF
   ```

    Una vez que se ejecuta la LCC y se escriben los archivos, el servidor lee el archivo `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` y almacena el ARN entre cuentas.

------

# Configuración de la lista de clústeres de Amazon EMR
<a name="studio-notebooks-configure-discoverability-emr-cluster"></a>

Los administradores pueden configurar los permisos para la función de ejecución de SageMaker Studio a fin de conceder a los usuarios la posibilidad de ver la lista de clústeres de Amazon EMR a los que tienen acceso, lo que les permite conectarse a estos clústeres. Los clústeres a los que desee acceder se pueden implementar en la misma AWS cuenta que Studio (elija *Cuenta única*) o en cuentas independientes (elija *Cuenta cruzada*). En la siguiente página, se describe cómo conceder los permisos para ver los clústeres de Amazon EMR desde Studio o Studio Classic.

**importante**  
Solo puede descubrir clústeres de Amazon EMR y conectarse a ellos para JupyterLab aplicaciones de Studio Classic que se lancen desde espacios privados. Asegúrese de que los clústeres de Amazon EMR estén ubicados en la misma AWS región que su entorno de Studio.

Para permitir que los científicos de datos descubran y se conecten a Amazon EMRclusters desde Studio o Studio Classic, sigue estos pasos.

## Cuenta única
<a name="studio-set-up-emr-permissions-singleaccount-list-clusters"></a>

Si sus clústeres de Amazon EMR y Studio o Studio Classic están implementados en la misma AWS cuenta, asocie los siguientes permisos a la función de ejecución de SageMaker IA que accede a su clúster.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster de Amazon EMR y Studio están en la misma cuenta](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-same). 

## Entre cuentas
<a name="studio-set-up-emr-permissions-crossaccount-list-clusters"></a>

Antes de empezar, recupere el ARN de la función de ejecución de SageMaker IA utilizada en su espacio privado.

Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

Si sus clústeres de Amazon EMR y Studio o Studio Classic se implementan en cuentas de AWS diferentes, configure los permisos en ambas cuentas.

**nota**  
Los usuarios de la conectividad del control de acceso basado en roles (RBAC) con los clústeres de Amazon EMR también deben consultar [Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster y Studio están en cuentas diferentes](studio-notebooks-emr-cluster-rbac.md#studio-notebooks-emr-cluster-iam-diff). 

**En la cuenta de clúster de Amazon EMR**

Siga estos pasos para crear los roles y las políticas necesarios en la cuenta en la que está implementado Amazon EMR, también conocida como *cuenta de confianza*:

1. **Paso 1**: recuperación del ARN del [rol de servicio de su clúster de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-role.html). 

   Para aprender a buscar el ARN del rol de servicio de un clúster, consulte [Configuración de los roles de servicio de IAM de los permisos de Amazon EMR para los servicios y recursos de AWS](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles.html#emr-iam-role-landing).

1. **Paso 2**: creación de un rol de IAM personalizado denominado `AssumableRole` con la siguiente configuración:
   + Permisos: conceda los permisos necesarios a `AssumableRole` para permitir el acceso a los recursos de Amazon EMR. Este rol también se conoce como *rol de acceso* en situaciones que implican el acceso entre cuentas.
   + Relación de confianza: configure la política de confianza para `AssumableRole` para permitir asumir el rol de ejecución (el `SageMakerExecutionRole` en el diagrama Entre cuentas) desde la cuenta de Studio a la que se requiere acceso.

   Al asumir el rol, Studio o Studio Classic pueden obtener acceso temporal a los permisos que necesitan en Amazon EMR.

   Para obtener instrucciones detalladas sobre cómo crear una cuenta nueva `AssumableRole` en tu AWS cuenta de Amazon EMR, sigue estos pasos:

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. En el panel de navegación de la izquierda, seleccione **Política** y, a continuación, **Crear política**.

   1. En la pestaña **JSON**, añada los permisos de Amazon EMR que permiten el acceso y las operaciones de Amazon EMR. Para obtener más información sobre el documento de política, consulte *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. En el panel de navegación izquierdo, seleccione **Roles** y, a continuación, **Crear rol**.

   1. En la página **Crear rol**, elija la opción **Política de confianza personalizada** como entidad de confianza.

   1. Pegue el siguiente documento JSON en la sección **Política de confianza personalizada** y, a continuación, seleccione **Siguiente**.

------
#### [ For users of Studio and JupyterLab ]

      `studio-account`Sustitúyala por el ID de cuenta de Studio y `AmazonSageMaker-ExecutionRole` por la función de ejecución que utilice tu JupyterLab espacio.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:role/service-role/AmazonSageMaker-ExecutionRole"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------
#### [ For users of Studio Classic ]

      Sustituya `studio-account` por el ID de cuenta de Studio Classic.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Effect": "Allow",
                  "Principal": {
                      "AWS": "arn:aws:iam::111122223333:root"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }
      ```

------

------

   1. En la página **Agregar permisos**, añada el permiso que acaba de crear y, a continuación, seleccione **Siguiente**.

   1. En la página **Revisar**, introduzca un nombre para el rol como `AssumableRole` y una descripción opcional.

   1. Revise los detalles del rol y seleccione **Crear rol**.

   Para obtener más información sobre la creación de un rol en una AWS cuenta, consulte [Creación de un rol de IAM (consola).](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html)

**En la cuenta de Studio**

En la cuenta en la que esté desplegado Studio, también denominada *cuenta de confianza*, actualice la función de ejecución de SageMaker IA para acceder a sus clústeres con los permisos necesarios para acceder a los recursos de la cuenta de confianza.

1. **Paso 1**: recupere el ARN del rol de ejecución de SageMaker IA utilizado en su espacio privado.

   Para obtener información sobre los espacios y las funciones de ejecución en la SageMaker IA, consulte[Descripción de los permisos y roles de ejecución de espacio de dominio](execution-roles-and-spaces.md).

   Para obtener más información sobre cómo recuperar el ARN de la función de ejecución de la SageMaker IA, consulte. [Obtención del rol de ejecución](sagemaker-roles.md#sagemaker-roles-get-execution-role)

1. **Paso 2**: Adjunte los siguientes permisos a la función de ejecución de SageMaker IA que accede a sus clústeres de Amazon EMR.

   1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

   1. Elija **Roles** y, a continuación, busque su rol de ejecución por su nombre en el campo **Buscar**. El nombre del rol se encuentra en la última parte del ARN, después de la última barra diagonal (/). 

   1. Siga el enlace a su rol.

   1. Elija **Agregar permisos** y, a continuación, **Crear política insertada**.

   1. En la pestaña **JSON**, añada la política insertada que concede al rol permisos para actualizar los dominios, los perfiles de usuario y los espacios. Para obtener más información sobre el documento de política, consulte *Domain, user profile, and space update actions policy* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). Sustituya `region` y `accountID` por sus valores reales antes de copiar la lista de instrucciones a la política insertada de su rol.

   1. Elija **Siguiente** y, a continuación, proporcione un **Nombre de política**.

   1. Elija **Crear política**.

   1. Repita el paso **Crear una política insertada** para añadir otra política que conceda al rol de ejecución los permisos para asumir el `AssumableRole` y luego realice las acciones permitidas por la política de acceso del rol. Sustituya `emr-account` por el ID de cuenta Amazon EMR y `AssumableRole` por el nombre del rol asumible creado en la cuenta de Amazon EMR.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "AllowRoleAssumptionForCrossAccountDiscovery",
                  "Effect": "Allow",
                  "Action": "sts:AssumeRole",
                  "Resource": [
                      "arn:aws:iam::111122223333:role/AssumableRole"
                  ]
              }
          ]
      }
      ```

------

   1. (Opcional) Para poder enumerar los clústeres de Amazon EMR implementados en la misma cuenta que Studio, añada una política interna adicional a su rol de ejecución de Studio, tal y como se define en *List Amazon EMR policies* en [Políticas de referencia](studio-set-up-emr-permissions-reference.md). 

1. **Paso 3**: asocie sus funciones asumibles (función de acceso) a su dominio o perfil de usuario. JupyterLablos usuarios de Studio pueden usar la consola de SageMaker IA o el script proporcionado.

    Elija la pestaña que corresponda a su caso de uso.

------
#### [ Associate your assumable roles in JupyterLab using the SageMaker AI console ]

   Para asociar tus funciones asumibles a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

   1. Navegue hasta la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

   1. En el panel de navegación izquierdo, elige el **dominio** y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.

   1. 
      + Para añadir sus funciones asumibles (función de acceso) a su dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, vaya a la **JupyterLab**sección.
      + Para añadir sus funciones asumibles (función de acceso) a su perfil de usuario: en la página de **detalles del dominio**, elija la pestaña **Perfiles de usuario** y seleccione el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos haya actualizado. En la pestaña **Configuraciones de aplicaciones**, navegue hasta la **JupyterLab**sección.

   1. Elija **Editar** y añada ARNs la función asumible (función de acceso).

   1. Seleccione **Enviar**.

------
#### [ Associate your assumable roles in JupyterLab using a Python script ]

    En una JupyterLab aplicación iniciada desde un espacio con el rol de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya los valores `domainID`, `user-profile-name`, `emr-accountID` y `AssumableRole` (`EMRServiceRole` para los [roles de tiempo de ejecución de RBAC]()) por sus valores adecuados. Este fragmento de código actualiza la configuración del perfil de usuario para un perfil de usuario (uso`client.update_userprofile`) o una configuración de dominio (uso`client.update_domain`) específicos dentro de un dominio de SageMaker IA. En concreto, permite que la JupyterLab aplicación asuma una función de IAM concreta (`AssumableRole`) para ejecutar clústeres de Amazon EMR dentro de la cuenta de Amazon EMR.

   ```
   import botocore.session
   import json
   sess = botocore.session.get_session()
   client = sess.create_client('sagemaker')
   
   client.update_userprofile(
   DomainId="domainID", 
   UserProfileName="user-profile-name",
   DefaultUserSettings={
       'JupyterLabAppSettings': {
           'EmrSettings': {
               'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
               'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                                "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
           }
           
       }
   })
   resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")
   
   resp['CreationTime'] = str(resp['CreationTime'])
   resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
   print(json.dumps(resp, indent=2))
   ```

------
#### [ For users of Studio Classic ]

   Proporcione el ARN de `AssumableRole` a su rol de ejecución de Studio Classic. El servidor de Jupyter carga el ARN al inicializarse. El rol de ejecución de Studio asume ese rol de varias cuentas para detectar y conectarse a los clústeres de Amazon EMR en la *cuenta de confianza*.

   Puede especificar esta información mediante scripts de configuración del ciclo de vida (LCC). Puede asociar la LCC a su dominio o a un perfil de usuario específico. El script de LCC que utilice debe ser una configuración. JupyterServer Para obtener más información sobre cómo crear un script de LCC, consulte [Use Lifecycle Configurations with Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

   A continuación se muestra un ejemplo de script. Para modificar el script, sustituya `AssumableRole` y `emr-account` por sus valores correspondientes. El número de cuentas cruzadas está limitado a cinco.

   ```
   # This script creates the file that informs Studio Classic that the role "arn:aws:iam::emr-account:role/AssumableRole" in remote account "emr-account" must be assumed to list and describe Amazon EMR clusters in the remote account.
   
   #!/bin/bash
   
   set -eux
   
   FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
   FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
   FILE="$FILE_DIRECTORY/$FILE_NAME"
   
   mkdir -p $FILE_DIRECTORY
   
   cat > "$FILE" <<- "EOF"
   {
     emr-cross-account1: "arn:aws:iam::emr-cross-account1:role/AssumableRole",
     emr-cross-account2: "arn:aws:iam::emr-cross-account2:role/AssumableRole"
   }
   EOF
   ```

    Una vez que se ejecuta la LCC y se escriben los archivos, el servidor lee el archivo `/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE/emr-discovery-iam-role-arns-DO_NOT_DELETE.json` y almacena el ARN entre cuentas.

------

Consulte [Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic](discover-emr-clusters.md) para saber cómo detectar los clústeres de Amazon EMR y conectarse a ellos desde los cuadernos de Studio o Studio Classic.

# Configuración de roles de tiempo de ejecución de IAM para el acceso al clúster de Amazon EMR en Studio
<a name="studio-notebooks-emr-cluster-rbac"></a>

Cuando se conecta a un clúster de Amazon EMR desde sus cuadernos de Studio o Studio Classic, puede examinar visualmente una lista de roles de IAM, conocidos como roles de tiempo de ejecución, y seleccionar uno sobre la marcha. Posteriormente, todos sus trabajos de Apache Spark, Apache Hive o Presto creados desde su cuaderno accederán únicamente a los datos y recursos permitidos por las políticas asociadas al rol de tiempo de ejecución. Además, cuando se accede a los datos desde lagos de datos gestionados con ellos AWS Lake Formation, puede imponer el acceso a nivel de tabla y columna mediante políticas asociadas a la función de tiempo de ejecución.

Con esta capacidad, usted y sus compañeros de equipo pueden conectarse al mismo clúster, cada uno con un rol de tiempo de ejecución limitado con permisos que se ajusten a su nivel individual de acceso a los datos. Sus sesiones también están aisladas unas de otras en el clúster compartido. 

Para probar esta función con Studio Classic, consulte [Aplicar controles de acceso a datos detallados con AWS Lake Formation Amazon EMR desde Amazon](https://aws.amazon.com/blogs/machine-learning/apply-fine-grained-data-access-controls-with-aws-lake-formation-and-amazon-emr-from-amazon-sagemaker-studio/) Studio Classic. SageMaker Esta publicación del blog le ayuda a configurar un entorno de demostración en el que puede intentar utilizar roles de tiempo de ejecución preconfigurados para conectarse a los clústeres de Amazon EMR.

## Requisitos previos
<a name="studio-notebooks-emr-cluster-rbac-prereq"></a>

Antes de comenzar, asegúrese de que cumplir los siguientes requisitos previos:
+ Utiliza Amazon EMR versión 6.9 o posteriores.
+ **Para los usuarios de Studio Classic**: utilice la JupyterLab versión 3 en la configuración de la aplicación del servidor Jupyter de Studio Classic. Esta versión admite la conexión de Studio Classic a los clústeres de Amazon EMR mediante roles de tiempo de ejecución.

  **Para los usuarios de Studio**: utilice una versión [SageMaker de imagen de distribución](sagemaker-distribution.md) `1.10` o superior.
+ Permita el uso de roles de tiempo de ejecución en la configuración de seguridad del clúster. Para obtener más información, consulte [Roles en tiempo de ejecución para los pasos de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html).
+ Cree un cuaderno con cualquiera de los kernels que aparecen en [Imágenes y kernels compatibles para conectarse a un clúster de Amazon EMR desde Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels).
+ Asegúrese de revisar las instrucciones de [Configuración de Studio para usar roles de IAM en tiempo de ejecución](#studio-notebooks-emr-cluster-iam) para configurar sus roles de tiempo de ejecución.

## Escenarios de conexión entre cuentas
<a name="studio-notebooks-emr-cluster-rbac-scen"></a>

La autenticación de roles en tiempo de ejecución admite diversos escenarios de conexión entre cuentas cuando los datos residen fuera de la cuenta de Studio. En la siguiente imagen, se muestran tres formas diferentes de asignar el clúster, los datos e incluso el rol de ejecución en tiempo de ejecución de Amazon EMR entre sus cuentas de Studio y de datos: 

![\[Escenarios entre cuentas que admite la autenticación de roles de IAM en tiempo de ejecución.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio-emr-rbac-scenarios.png)


En la opción 1, el clúster de Amazon EMR y el rol de ejecución en tiempo de ejecución de Amazon EMR se encuentran en una cuenta de datos diferente de la cuenta de Studio. Debe definir una política de permisos de rol de acceso a Amazon EMR diferente (también denominada `Assumable role`) que concede permiso a el rol de ejecución de Studio o Studio Classic para que asuma el rol de acceso a Amazon EMR. A continuación, el rol de acceso a Amazon EMR llama a la API de Amazon EMR `GetClusterSessionCredentials` en nombre de su rol de ejecución de Studio o Studio Classic, lo que le da acceso al clúster.

En la opción 2, el clúster de Amazon EMR y el rol de ejecución en tiempo de ejecución de Amazon EMR se encuentran en su cuenta de Studio. Su rol de ejecución de Studio tiene permiso para usar la API de Amazon EMR `GetClusterSessionCredentials` para acceder a su clúster. Para acceder al bucket de Amazon S3, conceda al rol de ejecución en tiempo de ejecución de Amazon EMR permisos de acceso de varias cuentas al bucket de Amazon S3; usted concede estos permisos dentro de su política de buckets de Amazon S3.

En la opción 3, sus clústeres de Amazon EMR están en su cuenta de Studio y el rol de ejecución en tiempo de ejecución de Amazon EMR está en la cuenta de datos. Su rol de ejecución de Studio o Studio Classic tiene permiso para usar la API de Amazon EMR `GetClusterSessionCredentials` para acceder a su clúster. Añada el rol de ejecución en tiempo de ejecución de Amazon EMR al JSON de configuración del rol de ejecución. Luego, puede seleccionar el rol en la interfaz de usuario al elegir su clúster. Para obtener más información sobre cómo configurar el archivo JSON de configuración del rol de ejecución, consulte [Carga previa de sus roles de ejecución en Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

## Configuración de Studio para usar roles de IAM en tiempo de ejecución
<a name="studio-notebooks-emr-cluster-iam"></a>

Para establecer la autenticación de roles en tiempo de ejecución para sus clústeres de Amazon EMR, configure las políticas de IAM, la red y las mejoras de usabilidad necesarias. Su configuración depende de si gestiona acuerdos entre cuentas si sus clústeres de Amazon EMR, el rol de ejecución en tiempo de ejecución de Amazon EMR o ambos residen fuera de su cuenta de Studio. En la siguiente sección, verá las políticas que debe instalar, cómo configurar la red para permitir el tráfico entre cuentas y el archivo de configuración local que debe configurar para automatizar la conexión a Amazon EMR.

### Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster de Amazon EMR y Studio están en la misma cuenta
<a name="studio-notebooks-emr-cluster-iam-same"></a>

Si su clúster de Amazon EMR reside en su cuenta de Studio, realice los siguientes pasos para añadir los permisos necesarios a la política de ejecución de Studio:

1. Añada la política de IAM necesaria para conectarse a los clústeres de Amazon EMR. Para obtener más información, consulte [Configuración de la lista de clústeres de Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md).

1. Conceda permiso para llamar a la API de Amazon EMR `GetClusterSessionCredentials` cuando pase uno o más roles de ejecución en tiempo de ejecución de Amazon EMR permitidos especificados en la política.

1. (Opcional) Conceda permiso para transferir roles de IAM que sigan cualquier convención de nomenclatura definida por el usuario.

1. (Opcional) Conceda permiso para acceder a los clústeres de Amazon EMR etiquetados con cadenas específicas definidas por el usuario.

1. Cargue previamente sus roles de IAM para poder seleccionar el rol que desee utilizar cuando se conecte a su clúster de Amazon EMR. Para obtener más información acerca de cómo precargar los roles de IAM, consulte [Carga previa de sus roles de ejecución en Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

El siguiente ejemplo de política permite a los roles de ejecución en tiempo de ejecución de Amazon EMR que pertenecen a los grupos de modelado y entrenamiento llamar a `GetClusterSessionCredentials`. Además, el titular de la política puede acceder a los clústeres de Amazon EMR etiquetados con las cadenas `modeling` o `training`.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "VisualEditor0",
            "Effect": "Allow",
            "Action": "elasticmapreduce:GetClusterSessionCredentials",
            "Resource": "*",
            "Condition": {
                "ArnLike": {
                    "elasticmapreduce:ExecutionRoleArn": [
                        "arn:aws:iam::111122223333:role/emr-execution-role-ml-modeling*",
                        "arn:aws:iam::111122223333:role/emr-execution-role-ml-training*"
			]},
		"StringLike":{
                    "elasticmapreduce:ResourceTag/group": [
                        "*modeling*",
                        "*training*"
                    ]
                }
            }
        }
    ]
}
```

------

### Configuración de la autenticación de roles en tiempo de ejecución cuando el clúster y Studio están en cuentas diferentes
<a name="studio-notebooks-emr-cluster-iam-diff"></a>

Si su clúster de Amazon EMR no está en su cuenta de Studio, permita que su función de ejecución de SageMaker IA asuma la función de acceso multicuenta a Amazon EMR para que pueda conectarse al clúster. Siga estos pasos para realizar su configuración de varias cuentas:

1. Cree su política de permisos para la función de ejecución de SageMaker IA para que la función de ejecución pueda asumir la función de acceso a Amazon EMR. A continuación, se muestra un ejemplo de política:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowAssumeCrossAccountEMRAccessRole",
               "Effect": "Allow",
               "Action": "sts:AssumeRole",
               "Resource": "arn:aws:iam::111122223333:role/emr-access-role-name"
           }
       ]
   }
   ```

------

1. Cree la política de confianza para especificar en qué cuentas de Studio IDs se confía para asumir la función de acceso a Amazon EMR. A continuación, se muestra un ejemplo de política:

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
         {
           "Sid": "AllowCrossAccountSageMakerExecutionRoleToAssumeThisRole",
           "Effect": "Allow",
           "Principal": {
             "AWS": "arn:aws:iam::111122223333:role/studio_execution_role"
           },
           "Action": "sts:AssumeRole"
         }
       ]
   }
   ```

------

1. Cree la política de permisos del rol de acceso de Amazon EMR, que conceda al rol de ejecución en tiempo de ejecución de Amazon EMR los permisos necesarios para llevar a cabo las tareas previstas en el clúster. Configure la rol de acceso a Amazon EMR para llamar a la API `GetClusterSessionCredentials` con los roles de ejecución en tiempo de ejecución de Amazon EMR especificados en la política de permisos del rol de acceso. A continuación, se muestra un ejemplo de política:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "AllowCallingEmrGetClusterSessionCredentialsAPI",
               "Effect": "Allow",
               "Action": "elasticmapreduce:GetClusterSessionCredentials",
               "Resource": "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/cluster-id",
               "Condition": {
                   "StringLike": {
                       "elasticmapreduce:ExecutionRoleArn": [
                           "arn:aws:iam::111122223333:role/emr-execution-role-name"
                       ]
                   }
               }
           }
       ]
   }
   ```

------

1. Configure la red de varias cuentas para que el tráfico pueda fluir entre sus cuentas. Para obtener instrucciones, consulte *[Configuración de acceso a la red para su clúster de Amazon EMR](studio-notebooks-emr-networking.md)Set up the *. Los pasos de esta sección le ayudarán a completar las siguientes tareas:

   1. Empareje mediante VPC su cuenta de Studio y su cuenta de Amazon EMR para establecer una conexión.

   1. Añada manualmente rutas a las tablas de enrutamiento de las subredes privadas en ambas cuentas. Esto permite crear y conectar clústeres de Amazon EMR desde la cuenta de Studio a la subred privada de la cuenta remota.

   1. Configure el grupo de seguridad asociado a su dominio de Studio para permitir el tráfico saliente y el grupo de seguridad del nodo principal de Amazon EMR para permitir el tráfico de TCP entrante desde el grupo de seguridad de la instancia de Studio.

1. Cargue previamente sus roles de tiempo de ejecución de IAM para poder seleccionar el rol que desee utilizar cuando se conecte a su clúster de Amazon EMR. Para obtener más información acerca de cómo precargar los roles de IAM, consulte [Carga previa de sus roles de ejecución en Studio o Studio Classic](#studio-notebooks-emr-cluster-iam-preload).

### Configuración del acceso a Lake Formation
<a name="studio-notebooks-emr-cluster-iam-lf"></a>

Al acceder a los datos de los lagos de datos gestionados por AWS Lake Formation, puede aplicar el acceso a nivel de tabla y columna mediante políticas asociadas a su función de tiempo de ejecución. Para configurar el permiso de acceso a Lake Formation, consulte [Integración de Amazon EMR con AWS Lake Formation](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-lake-formation.html).

### Carga previa de sus roles de ejecución en Studio o Studio Classic
<a name="studio-notebooks-emr-cluster-iam-preload"></a>

Puede cargar previamente sus roles de tiempo de ejecución de IAM para poder seleccionar el rol que desee utilizar cuando se conecte a su clúster de Amazon EMR. Los usuarios de JupyterLab In Studio pueden usar la consola de SageMaker IA o el script proporcionado.

------
#### [ Preload runtime roles in JupyterLab using the SageMaker AI console ]

Para asociar tus funciones de tiempo de ejecución a tu perfil de usuario o dominio mediante la consola de SageMaker IA:

1. Dirígete a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. En el panel de navegación izquierdo, elige el **dominio** y, a continuación, selecciona el dominio mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado.

1. 
   + Para añadir tu tiempo de ejecución (y tus funciones de acceso en caso de uso multicuenta) a tu dominio: en la pestaña **Configuraciones de aplicaciones** de la página de **detalles del dominio**, navega hasta la **JupyterLab**sección.
   + Para añadir tu tiempo de ejecución (y las funciones de acceso en caso de uso multicuenta) a tu perfil de usuario: en la página de **detalles del dominio**, selecciona la pestaña **Perfiles de usuario** y selecciona el perfil de usuario mediante la función de ejecución de SageMaker IA cuyos permisos has actualizado. En la pestaña **Configuraciones de aplicaciones**, dirígete a la **JupyterLab**sección.

1. Elija **Editar** y añada su función ARNs de acceso (función asumible) y las funciones de ejecución en tiempo de ejecución de EMR Serverless.

1. Seleccione **Enviar**.

La próxima vez que se conecte a un servidor de Amazon EMR, los roles de tiempo de ejecución deberían aparecer en un menú desplegable para poder seleccionarlos.

------
#### [ Preload runtime roles in JupyterLab using a Python script ]

En una JupyterLab aplicación iniciada desde un espacio con el rol de ejecución de SageMaker IA cuyos permisos hayas actualizado, ejecuta el siguiente comando en una terminal. Sustituya `domainID`, `user-profile-name`, `emr-accountID` y `EMRServiceRole` por sus valores adecuados. Este fragmento de código actualiza la configuración de un perfil de usuario (`client.update_user_profile`) dentro de un dominio de SageMaker IA en un caso de uso entre cuentas. Concretamente, establece los roles de servicio de Amazon EMR. También permite que la JupyterLab aplicación asuma una función de IAM concreta (`AssumableRole`o`AccessRole`) para ejecutar Amazon EMR dentro de la cuenta de Amazon EMR.

Como alternativa, utilice `client.update_domain` para actualizar la configuración del dominio si su espacio utiliza un rol de ejecución establecido en el dominio.

```
import botocore.session
import json
sess = botocore.session.get_session()
client = sess.create_client('sagemaker')

client.update_user_profile(
DomainId="domainID", 
UserProfileName="user-profile-name",
UserSettings={
    'JupyterLabAppSettings': {
        'EmrSettings': {
            'AssumableRoleArns': ["arn:aws:iam::emr-accountID:role/AssumableRole"],
            'ExecutionRoleArns': ["arn:aws:iam::emr-accountID:role/EMRServiceRole", 
                             "arn:aws:iam::emr-accountID:role/AnotherServiceRole"]
        }
        
    }
})
resp = client.describe_user_profile(DomainId="domainID", UserProfileName=user-profile-name")

resp['CreationTime'] = str(resp['CreationTime'])
resp['LastModifiedTime'] = str(resp['LastModifiedTime'])
print(json.dumps(resp, indent=2))
```

------
#### [ Preload runtime roles in Studio Classic ]

Proporcione el ARN de `AccessRole` (`AssumableRole`) a su función de ejecución de SageMaker IA. El servidor de Jupyter carga el ARN al inicializarse. El rol de ejecución de Studio asume ese rol de varias cuentas para detectar y conectarse a los clústeres de Amazon EMR en la *cuenta de confianza*.

Puede especificar esta información mediante scripts de configuración del ciclo de vida (LCC). Puede asociar la LCC a su dominio o a un perfil de usuario específico. El script de LCC que utilice debe ser una JupyterServer configuración. Para obtener más información sobre cómo crear un script de LCC, consulte [Use Lifecycle Configurations with Studio Classic](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-lcc.html). 

A continuación se muestra un ejemplo de script. Para modificar el script, sustituya `AssumableRole` y `emr-account` por sus valores correspondientes. El número de cuentas cruzadas está limitado a cinco.

El siguiente fragmento es un script bash de LCC de ejemplo que puede utilizar si la aplicación de Studio Classic y el clúster están en la misma cuenta:

```
#!/bin/bash

set -eux

FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE"
FILE_NAME="emr-configurations-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "emr-execution-role-arns":
    {
      "123456789012": [
          "arn:aws:iam::123456789012:role/emr-execution-role-1",
          "arn:aws:iam::123456789012:role/emr-execution-role-2"
      ]
    }
}
EOF
```

Si la aplicación de Studio Classic y los clústeres están en cuentas diferentes, especifique los roles de acceso de Amazon EMR que puede usar el clúster. *En el siguiente ejemplo de política, *123456789012 es* el ID de cuenta del clúster de Amazon EMR y *212121212121* y 434343434343 son los de las funciones de acceso a Amazon EMR permitidas.* ARNs 

```
#!/bin/bash

set -eux

FILE_DIRECTORY="/home/sagemaker-user/.sagemaker-analytics-configuration-DO_NOT_DELETE"
FILE_NAME="emr-configurations-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "emr-execution-role-arns":
    {
      "123456789012": [
          "arn:aws:iam::212121212121:role/emr-execution-role-1",
          "arn:aws:iam::434343434343:role/emr-execution-role-2"
      ]
    }
}
EOF

# add your cross-account EMR access role
FILE_DIRECTORY="/home/sagemaker-user/.cross-account-configuration-DO_NOT_DELETE"
FILE_NAME="emr-discovery-iam-role-arns-DO_NOT_DELETE.json"
FILE="$FILE_DIRECTORY/$FILE_NAME"

mkdir -p $FILE_DIRECTORY

cat << 'EOF' > "$FILE"
{
    "123456789012": "arn:aws:iam::123456789012:role/cross-account-emr-access-role"
}
EOF
```

------

# Políticas de referencia
<a name="studio-set-up-emr-permissions-reference"></a>
+ **Políticas de enumeración de Amazon EMR**: esta política permite realizar las siguientes acciones:
  + `AllowPresignedUrl`permite URLs generar datos prefirmados para acceder a la interfaz de usuario de Spark desde Studio.
  + `AllowClusterDiscovery` y `AllowClusterDetailsDiscovery` permiten enumerar y describir los clústeres de Amazon EMR en la región y la cuenta proporcionadas.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AllowPresignedUrl",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:CreatePersistentAppUI",
                  "elasticmapreduce:DescribePersistentAppUI",
                  "elasticmapreduce:GetPersistentAppUIPresignedURL",
                  "elasticmapreduce:GetOnClusterAppUIPresignedURL"
              ],
              "Resource": [
                  "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/*"
              ]
          },
          {
              "Sid": "AllowClusterDetailsDiscovery",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:DescribeCluster",
                  "elasticmapreduce:ListInstances",
                  "elasticmapreduce:ListInstanceGroups",
                  "elasticmapreduce:DescribeSecurityConfiguration"
              ],
              "Resource": [
                  "arn:aws:elasticmapreduce:us-east-1:111122223333:cluster/*"
              ]
          },
          {
              "Sid": "AllowClusterDiscovery",
              "Effect": "Allow",
              "Action": [
                  "elasticmapreduce:ListClusters"
              ],
              "Resource": "*"
          }
      ]
  }
  ```

------
+ **Políticas de creación de clústeres de Amazon EMR**: esta política permite realizar las siguientes acciones:
  + `AllowEMRTemplateDiscovery` permite buscar plantillas de Amazon EMR en Service Catalog. Studio y Studio Classic la utilizan para mostrar las plantillas disponibles.
  + `AllowSagemakerProjectManagement` permite la creación de [¿Qué es un proyecto de SageMaker IA?](sagemaker-projects-whatis.md). En Studio o Studio Classic, el acceso a la AWS Service Catalog se gestiona mediante[¿Qué es un proyecto de SageMaker IA?](sagemaker-projects-whatis.md).

  La política de IAM definida en el JSON proporcionado concede esos permisos. Sustituya *region* y *accountID* por sus valores reales de región e ID de AWS cuenta antes de copiar la lista de estados de cuenta a la política interna de su función.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "AllowEMRTemplateDiscovery",
              "Effect": "Allow",
              "Action": [
                  "servicecatalog:SearchProducts"
              ],
              "Resource": "*"
          },
          {
              "Sid": "AllowSagemakerProjectManagement",
              "Effect": "Allow",
              "Action": [
                  "sagemaker:CreateProject",
                  "sagemaker:DeleteProject"
              ],
              "Resource": "arn:aws:sagemaker:us-east-1:111122223333:project/*"
          }
      ]
  }
  ```

------
+ **Política de acciones de actualización de dominios, perfiles de usuario y espacios**: la siguiente política otorga permisos para actualizar los dominios, perfiles de usuario y espacios de SageMaker IA dentro de la región y la AWS cuenta especificadas.

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Sid": "SageMakerUpdateResourcesPolicy",
              "Effect": "Allow",
              "Action": [
                  "sagemaker:UpdateDomain",
                  "sagemaker:UpdateUserprofile",
                  "sagemaker:UpdateSpace"
              ],
              "Resource": [
                  "arn:aws:sagemaker:us-east-1:111122223333:domain/*",
                  "arn:aws:sagemaker:us-east-1:111122223333:user-profile/*"
              ]
          }
      ]
  }
  ```

------

# Guía del usuario
<a name="studio-emr-user-guide"></a>

En esta sección, se explica cómo los científicos de datos y los ingenieros de datos pueden inicializar, detectar, finalizar un clúster de Amazon EMR o conectarse a él desde Studio o Studio Classic.

Para que los usuarios puedan enumerar o inicializar clústeres, los administradores deben haber configurado los ajustes necesarios en el entorno de Studio. Para obtener más información sobre cómo los administradores pueden configurar un entorno de Studio para permitir el autoaprovisionamiento y la enumeración de clústeres de Amazon EMR, consulte [Guía de administración](studio-emr-admin-guide.md).

**Topics**
+ [Imágenes y kernels compatibles para conectarse a un clúster de Amazon EMR desde Studio o Studio Classic](#studio-notebooks-emr-cluster-connect-kernels)
+ [Traiga su propia imagen](#studio-notebooks-emr-byoi)
+ [Inicialización de un clúster de Amazon EMR desde Studio o Studio Classic](studio-notebooks-launch-emr-cluster-from-template.md)
+ [Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic](discover-emr-clusters.md)
+ [Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md)
+ [Finalización de un clúster de Amazon EMR desde Studio o Studio Classic](terminate-emr-clusters.md)
+ [Acceso a la interfaz de usuario de Spark desde Studio o Studio Classic](studio-notebooks-access-spark-ui.md)

## Imágenes y kernels compatibles para conectarse a un clúster de Amazon EMR desde Studio o Studio Classic
<a name="studio-notebooks-emr-cluster-connect-kernels"></a>

Las siguientes imágenes y núcleos vienen con [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/)la JupyterLab extensión que se conecta a un clúster remoto de Spark (Amazon EMR) a través de [SparkMagic](https://github.com/jupyter-incubator/sparkmagic)la biblioteca [mediante](https://livy.apache.org/) Apache Livy.
+ **Para los usuarios de Studio:** SageMaker Distribution es un entorno de Docker para la ciencia de datos que se utiliza como imagen predeterminada de las instancias de notebook. JupyterLab Todas las versiones de [SageMaker AI Distribution](https://github.com/aws/sagemaker-distribution) vienen `sagemaker-studio-analytics-extension` preinstaladas.
+ **Para los usuarios de Studio Classic:** las siguientes imágenes vienen preinstaladas con `sagemaker-studio-analytics-extension`:
  + DataScience — Núcleo de Python 3
  + DataScience 2.0 — Núcleo de Python 3
  + DataScience 3.0 — Núcleo de Python 3
  + SparkAnalytics 1.0 — SparkMagic y PySpark núcleos
  + SparkAnalytics 2.0 — SparkMagic y núcleos PySpark 
  + SparkMagic — SparkMagic y granos PySpark 
  + PyTorch 1.8 — Núcleos de Python 3
  + TensorFlow 2.6 — Núcleo de Python 3
  + TensorFlow 2.11 — Núcleo de Python 3

Para conectarse a los clústeres de Amazon EMR mediante otra imagen integrada o su propia imagen, siga las instrucciones que se indican en [Traiga su propia imagen](#studio-notebooks-emr-byoi).

## Traiga su propia imagen
<a name="studio-notebooks-emr-byoi"></a>

Para incorporar su propia imagen a Studio o Studio Classic y permitir que sus portátiles se conecten a los clústeres de Amazon EMR, instale la [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/)siguiente extensión en el núcleo. Admite la conexión de portátiles SageMaker Studio o Studio Classic a clústeres de Spark (Amazon EMR) a través [SparkMagic](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-studio-magics.html)de la biblioteca.

```
pip install sparkmagic
pip install sagemaker-studio-sparkmagic-lib
pip install sagemaker-studio-analytics-extension
```

Además, para conectarse a Amazon EMR con la autenticación [Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html), debe instalar el cliente kinit. En función del sistema operativo, el comando para instalar el cliente kinit puede variar. Para obtener una imagen de Ubuntu (basada en Debian), utilice el comando `apt-get install -y -qq krb5-user`.

Para obtener más información sobre cómo crear su propia imagen en SageMaker Studio o Studio Classic, consulte [Traiga su propia SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-byoi.html) imagen.

# Inicialización de un clúster de Amazon EMR desde Studio o Studio Classic
<a name="studio-notebooks-launch-emr-cluster-from-template"></a>

Los científicos e ingenieros de datos pueden aprovisionar automáticamente los clústeres de Amazon EMR desde Studio o Studio Classic CloudFormation mediante plantillas configuradas por sus administradores. Para que los usuarios puedan inicializar un clúster, los administradores deben haber configurado los ajustes necesarios en el entorno de Studio. Para obtener más información sobre cómo los administradores pueden configurar un entorno de Studio para permitir el autoaprovisionamiento de clústeres de Amazon EMR, consulte [Configurar las CloudFormation plantillas de Amazon EMR en el Service Catalog](studio-notebooks-set-up-emr-templates.md).

Para aprovisionar un nuevo clúster de Amazon EMR desde Studio o Studio Classic:

1. En el panel izquierdo de la interfaz de usuario de Studio o Studio Classic, seleccione el nodo **Datos** en el menú de navegación de la izquierda. Navegue hasta **Clústeres de Amazon EMR**. Se abrirá una página con una lista de los clústeres de Amazon EMR a los que puede acceder desde Studio o Studio Classic.

1. Seleccione el botón **Crear** situado en la esquina superior derecha. Al hacerlo, se abre un nuevo modal con una lista de las plantillas de clústeres disponibles.

1. Seleccione una plantilla de clúster eligiendo un nombre de plantilla y, a continuación, elija **Siguiente**.

1. Introduzca los detalles del clúster, como el nombre del clúster y cualquier parámetro configurable específico establecido por su administrador, y luego elija **Crear clúster**. La creación del clúster puede tardar un par de minutos.  
![\[Formulario de creación de un clúster de Amazon EMR desde Studio o Studio Classic.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/emr/studio-notebooks-emr-cluster-creation.png)

Una vez aprovisionado el clúster, la interfaz de usuario de Studio o Studio Classic muestra el mensaje *El clúster se ha creado correctamente*.

Para conectarse y utilizar el clúster, consulte [Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md)

# Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic
<a name="discover-emr-clusters"></a>

Los científicos e ingenieros de datos pueden detectar clústeres de Amazon EMR y luego conectarse a ellos desde Studio. Los clústeres de Amazon EMR pueden estar en la misma AWS cuenta que Studio o en una cuenta diferente AWS .

Para que los usuarios puedan enumerar clústeres o conectarse a ellos, los administradores deben haber configurado los ajustes necesarios en el entorno de Studio. Para obtener más información sobre cómo los administradores pueden configurar un entorno de Studio para permitir la detección ejecutando clústeres de Amazon EMR, consulte [Guía de administración](studio-emr-admin-guide.md). Si su administrador [configuró la detección entre cuentas de clústeres de Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md), puede ver una lista consolidada de clústeres. La lista incluye los clústeres de la AWS cuenta utilizada por Studio, así como los clústeres de las cuentas remotas a las que se le ha concedido acceso.

Para ver la lista de clústeres de Amazon EMR disponibles en Studio:

1. En el menú de navegación izquierdo de la interfaz de usuario de Studio, desplácese hacia abajo hasta **Clústeres de EMR**. Se abrirá una página con una lista de los clústeres de Amazon EMR a los que tiene acceso.

   La lista muestra los clústeres en las siguientes etapas: **Proceso de arranque**, **Comenzando** **En ejecución**, **Esperando**. Puede restringir los clústeres mostrados según su estado actual mediante el icono de filtro. 

1. Elija un clúster **En ejecución** concreto al que desee conectarse y, a continuación, consulte[Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic](connect-emr-clusters.md).

# Conéctese a un clúster de Amazon EMR desde SageMaker Studio o Studio Classic
<a name="connect-emr-clusters"></a>

Los científicos e ingenieros de datos pueden detectar un clúster de Amazon EMR, y luego conectarse a él, directamente desde la interfaz de usuario de Studio. Antes de comenzar, asegúrese de haber configurado los permisos necesarios tal y como se describe en la sección [Paso 4: configuración de los permisos para habilitar la enumeración y la inicialización de clústeres de Amazon EMR desde Studio](studio-notebooks-set-up-emr-templates.md#studio-emr-permissions). Estos permisos permiten a Studio crear, iniciar, ver, finalizar los clústeres y acceder a ellos.

Puede conectar un clúster de Amazon EMR a un nuevo JupyterLab bloc de notas directamente desde la interfaz de usuario de Studio, o bien elegir iniciar la conexión en un bloc de notas de una aplicación en ejecución JupyterLab .

**importante**  
Solo puede descubrir clústeres de Amazon EMR y conectarse a ellos para JupyterLab aplicaciones de Studio Classic que se lancen desde espacios privados. Asegúrese de que los clústeres de Amazon EMR estén ubicados en la misma AWS región que su entorno de Studio. Su JupyterLab espacio debe usar una versión SageMaker de imagen de distribución `1.10` o superior.

## Conexión a un clúster de Amazon EMR mediante la IA de Studio
<a name="connect-emr-clusters-ui-options"></a>

Para conectarse a su clúster mediante la interfaz de usuario de Studio o Studio Classic, puede iniciar una conexión desde la lista de clústeres a los que se accede o desde una libreta de SageMaker Studio o Studio Classic. [Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic](discover-emr-clusters.md)

**Para conectar un clúster de Amazon EMR a un nuevo JupyterLab bloc de notas desde la interfaz de usuario de Studio:**

1. En el panel izquierdo de la IA de Studio, seleccione el nodo **Datos** en el menú de navegación izquierdo. Navegue hasta **Aplicaciones y clústeres de Amazon EMR**. Se abrirá una página con una lista de los clústeres de Amazon EMR a los que puede acceder desde Studio en la pestaña **Clústeres de Amazon EMR**.
**nota**  
Si usted o su administrador han configurado los permisos para permitir el acceso entre cuentas a los clústeres de Amazon EMR, podrá ver una lista consolidada de los clústeres de todas las cuentas a las que haya concedido acceso a Studio.

1. Seleccione un clúster de Amazon EMR que desee conectar a un nuevo cuaderno y, a continuación, seleccione **Asociar a cuaderno**. Esto abre una ventana modal que muestra la lista de sus JupyterLab espacios.

1. 
   + Seleccione el espacio desde el que desea iniciar una JupyterLab aplicación y, a continuación, elija **Abrir bloc de notas**. Se abrirá una JupyterLab aplicación desde el espacio elegido y se abrirá un nuevo bloc de notas.
**nota**  
Los usuarios de Studio Classic deben seleccionar una imagen y un kernel. Para obtener una lista de imágenes compatibles, consulte [Imágenes y kernels compatibles para conectarse a un clúster de Amazon EMR desde Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels) o [Traiga su propia imagen](studio-emr-user-guide.md#studio-notebooks-emr-byoi).
   + Como alternativa, puede crear un nuevo espacio privado pulsando el botón **Crear nuevo espacio** en la parte superior de la ventana modal. Introduzca un nombre para su espacio y, a continuación, seleccione **Crear espacio y abrir el cuaderno**. De este modo, se crea un espacio privado con el tipo de instancia predeterminado y la imagen de SageMaker distribución más reciente disponible, se inicia una JupyterLab aplicación y se abre un nuevo bloc de notas.

1. Si el clúster que seleccione no utiliza la autenticación Kerberos, LDAP o de [rol de tiempo de ejecución](), Studio le pedirá que seleccione el tipo de credencial. Elija entre **Http basic authentication (Autenticación básica HTTP)** o **No credentials (Sin credenciales)** e introduzca sus credenciales, si corresponde.

   Si el clúster que selecciona admite roles de tiempo de ejecución, elija el nombre de el rol de IAM que su clúster de Amazon EMR puede asumir para la ejecución del trabajo. 
**importante**  
Para conectar correctamente un JupyterLab bloc de notas a un clúster de Amazon EMR que admita funciones de tiempo de ejecución, primero debe asociar la lista de funciones de tiempo de ejecución a su dominio o perfil de usuario, tal y como se describe en. [Configuración de roles de tiempo de ejecución de IAM para el acceso al clúster de Amazon EMR en Studio](studio-notebooks-emr-cluster-rbac.md) Si no realiza este paso, no podrá establecer la conexión. 

   Al seleccionarlo, un comando de conexión rellena la primera celda del cuaderno e inicia la conexión con el clúster de Amazon EMR.

   Cuando la conexión se realice correctamente, un mensaje confirmará la conexión y el inicio de la aplicación Spark.

**Como alternativa, puede conectarse a un clúster desde una libreta JupyterLab o una de Studio Classic.**

1. Seleccione el botón **Clúster** en la parte superior del cuaderno. Se abrirá una ventana modal con una lista de los clústeres de Amazon EMR en un estado `Running` al que puede acceder. Puede ver los clústeres de Amazon EMR de `Running` en la pestaña **Clústeres de Amazon EMR**.
**nota**  
Para los usuarios de Studio Classic, **Clúster** solo es visible cuando se utiliza un kernel desde [Imágenes y kernels compatibles para conectarse a un clúster de Amazon EMR desde Studio o Studio Classic](studio-emr-user-guide.md#studio-notebooks-emr-cluster-connect-kernels) o desde [Traiga su propia imagen](studio-emr-user-guide.md#studio-notebooks-emr-byoi). Si no puede ver **Clúster** en la parte superior de su cuaderno, asegúrese de que el administrador haya [configurado la capacidad de detección de los clústeres](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-configure-discoverability-emr-cluster.html) y cambie a un kernel compatible.

1. Seleccione el clúster al que desea conectarse y, a continuación, elija **Connect (Conectar)**.

1. Si ha configurado sus clústeres de Amazon EMR para que admitan [roles de IAM en tiempo de ejecución](studio-notebooks-emr-cluster-rbac.md), puede seleccionar su rol en el menú desplegable **Rol de ejecución de Amazon EMR**. 
**importante**  
Para conectar correctamente un JupyterLab bloc de notas a un clúster de Amazon EMR que admita funciones de tiempo de ejecución, primero debe asociar la lista de funciones de tiempo de ejecución a su dominio o perfil de usuario, tal y como se describe en. [Configuración de roles de tiempo de ejecución de IAM para el acceso al clúster de Amazon EMR en Studio](studio-notebooks-emr-cluster-rbac.md) Si no realiza este paso, no podrá establecer la conexión. 

   De lo contrario, si el clúster que elija no utiliza la autenticación Kerberos, LDAP o de roles en tiempo de ejecución, Studio o Studio Classic le pedirá que seleccione el tipo de credencial. Puede elegir entre **HTTP basic authentication (Autenticación básica HTTP)** o **No credential (Sin credenciales)**.

1. Studio añade un bloque de código a una celda activa y, a continuación, ejecuta un bloque de código para establecer la conexión. Esta celda contiene el comando mágico de conexión para conectar el cuaderno a la aplicación según el tipo de autenticación.

   Cuando la conexión se realice correctamente, un mensaje confirmará la conexión y el inicio de la aplicación Spark.

## Conexión a un clúster de Amazon EMR mediante un comando de conexión
<a name="connect-emr-clusters-manually"></a>

Para establecer una conexión a un clúster de Amazon EMR, puede ejecutar comandos de conexión dentro de una celda del cuaderno.

Al establecer la conexión, puede autenticarse mediante [Kerberos](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-kerberos.html), el [Protocolo ligero de acceso a directorios (LDAP)](https://docs.aws.amazon.com/) o la autenticación de [roles de IAM en tiempo de ejecución](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-notebooks-emr-cluster-rbac.html). El método de autenticación que elija depende de la configuración del clúster. 

Puede consultar este ejemplo: [Access Apache Livy using a Network Load Balancer on a Kerberos-enabled Amazon EMR cluster](https://aws.amazon.com/blogs/big-data/access-apache-livy-using-a-network-load-balancer-on-a-kerberos-enabled-amazon-emr-cluster/) para configurar un clúster de Amazon EMR que utilice la autenticación Kerberos. [Como alternativa, puede explorar las plantillas de CloudFormation ejemplo que utilizan la autenticación Kerberos o LDAP en el repositorio aws-samples/. sagemaker-studio-emr](https://github.com/aws-samples/sagemaker-studio-emr/tree/main/cloudformation/getting_started) GitHub 

Si su administrador ha habilitado el acceso entre cuentas, puede conectarse a su clúster de Amazon EMR desde un bloc de notas de Studio Classic, independientemente de si la aplicación y el clúster de Studio Classic residen en la AWS misma cuenta o en cuentas diferentes.

Para cada uno de los siguientes tipos de autenticación, utilice el comando especificado para conectarse al clúster desde su cuaderno de Studio o Studio Classic.
+ **Kerberos**

  Añada el argumento `--assumable-role-arn` si necesita acceso entre cuentas a Amazon EMR. Añada el argumento `--verify-certificate` si se conecta a su clúster mediante HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Kerberos --language python 
  [--assumable-role-arn EMR_access_role_ARN ] 
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **LDAP**

  Añada el argumento `--assumable-role-arn` si necesita acceso entre cuentas a Amazon EMR. Añada el argumento `--verify-certificate` si se conecta a su clúster mediante HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Basic_Access --language python 
  [--assumable-role-arn EMR_access_role_ARN ]
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **NoAuth**

  Añada el argumento `--assumable-role-arn` si necesita acceso entre cuentas a Amazon EMR. Añada el argumento `--verify-certificate` si se conecta a su clúster mediante HTTPS.

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type None --language python
  [--assumable-role-arn EMR_access_role_ARN ]
  [--verify-certificate /home/user/certificateKey.pem]
  ```
+ **Roles de IAM en tiempo de ejecución**

  Añada el argumento `--assumable-role-arn` si necesita acceso entre cuentas a Amazon EMR. Añada el argumento `--verify-certificate` si se conecta a su clúster mediante HTTPS. 

  Para obtener más información acerca de la conexión a un clúster de Amazon EMR utilizando las funciones de IAM en tiempo de ejecución, consulte [Configuración de roles de tiempo de ejecución de IAM para el acceso al clúster de Amazon EMR en Studio](studio-notebooks-emr-cluster-rbac.md).

  ```
  %load_ext sagemaker_studio_analytics_extension.magics
  %sm_analytics emr connect --cluster-id cluster_id \
  --auth-type Basic_Access \
  --emr-execution-role-arn arn:aws:iam::studio_account_id:role/emr-execution-role-name
  [--assumable-role-arn EMR_access_role_ARN]
  [--verify-certificate /home/user/certificateKey.pem]
  ```

## Conectar a un clúster de Amazon EMR a través de HTTPS
<a name="connect-emr-clusters-ssl"></a>

Si ha configurado su clúster de Amazon EMR con el cifrado de tránsito habilitado y el servidor de Apache Livy para HTTPS y desea que Studio o Studio Classic se comunique con Amazon EMR mediante HTTPS, debe configurar Studio o Studio Classic para acceder a su clave de certificado.

En el caso de los certificados autofirmados o firmados por una autoridad de certificación (CA) local, puede hacerlo en dos pasos:

1. Descargue el archivo PEM del certificado en el sistema de archivos local con una de las siguientes opciones:
   + Función de carga de archivos integrada en Jupyter.
   + Una celda de cuaderno.
   + (Solo para usuarios de Studio Classic) Un script de configuración del ciclo de vida (LCC).

     Para obtener información sobre cómo utilizar un script de LCC, consulte [Personalización de una instancia de cuaderno mediante un script de configuración del ciclo de vida](https://docs.aws.amazon.com/sagemaker/latest/dg/notebook-lifecycle-config.html)

1. Habilite la validación del certificado proporcionando la ruta al certificado en el argumento `--verify-certificate` del comando de conexión.

   ```
   %sm_analytics emr connect --cluster-id cluster_id \
   --verify-certificate /home/user/certificateKey.pem ...
   ```

Para los certificados públicos emitidos por una CA, defina la validación del certificado configurando el parámetro `--verify-certificate` como `true`.

Como alternativa, puede deshabilitar la validación del certificado configurando el parámetro `--verify-certificate` como `false`.

Puede encontrar la lista de comandos de conexión disponibles a un clúster de Amazon EMR en [Conexión a un clúster de Amazon EMR mediante un comando de conexión](#connect-emr-clusters-manually).

# Finalización de un clúster de Amazon EMR desde Studio o Studio Classic
<a name="terminate-emr-clusters"></a>

En el siguiente procedimiento se muestra cómo finalizar un clúster de Amazon EMR desde un cuaderno de Studio o Studio Classic.

**Para terminar un clúster en un estado `Running`, diríjase a la lista de clústeres de Amazon EMR disponibles.**

1. En la interfaz de usuario de Studio, desplácese hacia abajo hasta el nodo **Datos** en el menú de navegación de la izquierda.

1. Desplácese hasta el nodo **Clústeres de EMR**. Se abrirá una página con una lista de los clústeres de Amazon EMR a los que tiene acceso.

1. Seleccione el nombre del clúster que desea finalizar y, a continuación, seleccione **Finalizar**.

1. Se abrirá una ventana de confirmación en la que se le informará de que cualquier trabajo o dato pendiente del clúster se perderá permanentemente tras la finalización. Confirme pulsando de nuevo **Terminate (Terminar)**.

# Acceso a la interfaz de usuario de Spark desde Studio o Studio Classic
<a name="studio-notebooks-access-spark-ui"></a>

En las siguientes secciones se proporcionan instrucciones para acceder a la interfaz de usuario de Spark desde las SageMaker libretas AI Studio o Studio Classic. La IU de Spark le permite supervisar y depurar sus trabajos de Spark enviados para ejecutarlos en Amazon EMR desde cuadernos de Studio o Studio Classic. Los túneles SSH y los prefirmados URLs son dos formas de acceder a la interfaz de usuario de Spark.

## Configurar los túneles SSH para acceder a la interfaz de usuario de Spark
<a name="studio-notebooks-emr-ssh-tunneling"></a>

Para configurar los túneles SSH para acceder a la interfaz de usuario de Spark, sigauna de las dos opciones de esta sección.

Opciones para configurar los túneles SSH:
+ [Opción 1: configurar un túnel SSH al nodo maestro utilizando el enrutamiento de puertos local](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel-local.html)
+ [Opción 2, parte 1: configurar un túnel SSH al nodo maestro utilizando el enrutamiento de puertos dinámico](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-ssh-tunnel.html)

  [Opción 2, parte 2: configurar ajustes de proxy para ver sitios web alojados en el nodo maestro](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-connect-master-node-proxy.html)

Para obtener más información sobre la visualización de interfaces web alojadas en clústeres de Amazon EMR, consulte [Ver las interfaces web alojadas en clústeres de Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-web-interfaces.html). También puedes visitar la consola de Amazon EMR para acceder a la interfaz de usuario de Spark.

**nota**  
Puedes configurar un túnel SSH incluso si los prefirmados URLs no están disponibles. 

## Prefirmado URLs
<a name="studio-notebooks-emr-spark-ui-presigned-urls"></a>

Para crear con un solo clic URLs que pueda acceder a la interfaz de usuario de Spark en Amazon EMR SageMaker desde las libretas Studio o Studio Classic, debes habilitar los siguientes permisos de IAM. Elija la opción que más le convenga: 
+ **Para los clústeres de Amazon EMR que estén en la misma cuenta que el bloc de notas de SageMaker Studio o Studio Classic: añada los siguientes permisos a la función de ejecución de IAM de SageMaker Studio o Studio Classic.**
+ **Para los clústeres de Amazon EMR que se encuentran en una cuenta diferente (no en SageMaker Studio ni en un bloc de notas Studio Classic): añada los siguientes permisos al rol multicuenta para el que creó. [Enumeración de clústeres de Amazon EMR desde Studio o Studio Classic](discover-emr-clusters.md)**

**nota**  
Puede acceder a los prefirmados URLs desde la consola en las siguientes regiones:  
Región del Este de EE. UU (Norte de Virginia)
Región del Oeste de EE. UU (Norte de California)
Región de Canadá (centro)
Región Europa (Fráncfort)
Región Europa (Estocolmo)
Región de Europa (Irlanda)
Región de Europa (Londres)
Región Europa (París)
Asia Pacífico (Tokio)
Región de Asia-Pacífico (Seúl)
Asia Pacific (Sydney) Region
Región de Asia-Pacífico (Bombay)
Región de Asia-Pacífico (Singapur)
América del Sur (São Paulo)

 La siguiente política le da acceso a los prefirmados URLs para su función de ejecución. 

```
{
        "Sid": "AllowPresignedUrl",
        "Effect": "Allow",
        "Action": [
            "elasticmapreduce:DescribeCluster",
            "elasticmapreduce:ListInstanceGroups",
            "elasticmapreduce:CreatePersistentAppUI",
            "elasticmapreduce:DescribePersistentAppUI",
            "elasticmapreduce:GetPersistentAppUIPresignedURL",
            "elasticmapreduce:GetOnClusterAppUIPresignedURL"
        ],
        "Resource": [
            "arn:aws:elasticmapreduce:region:account-id:cluster/*"
        ]
}
```

# Blogs y documentos técnicos
<a name="studio-notebooks-emr-resources"></a>

En los siguientes blogs, se utiliza un caso práctico sobre la predicción de sentimientos en la reseña de una película para ilustrar el proceso de ejecución de un flujo de trabajo completo de machine learning. Esto incluye la preparación de datos, la supervisión de los trabajos de Spark y el entrenamiento e implementación de un modelo de machine learning para obtener predicciones directamente desde su cuaderno de Studio o Studio Classic.
+ [Cree y gestione clústeres de Amazon EMR desde SageMaker Studio o Studio Classic para ejecutar cargas de trabajo interactivas de Spark y ML](https://aws.amazon.com/blogs/machine-learning/part-1-create-and-manage-amazon-emr-clusters-from-sagemaker-studio-to-run-interactive-spark-and-ml-workloads/).
+ Para extender el caso de uso a una configuración multicuenta en la que SageMaker Studio o Studio Classic y su clúster de Amazon EMR se implementan en cuentas AWS independientes, [consulte Crear y administrar clústeres de Amazon EMR SageMaker desde Studio o Studio Classic para ejecutar cargas de trabajo interactivas de Spark y ML](https://aws.amazon.com/blogs/machine-learning/part-2-create-and-manage-amazon-emr-clusters-from-sagemaker-studio-to-run-interactive-spark-and-ml-workloads/), parte 2.

Véase también: 
+ Un tutorial de la configuración de [Acceso a Apache Livy mediante un Equilibrador de carga de red en un clúster Amazon EMR habilitado para Kerberos](https://aws.amazon.com/blogs/big-data/access-apache-livy-using-a-network-load-balancer-on-a-kerberos-enabled-amazon-emr-cluster/).
+ AWS documentos técnicos sobre las prácticas recomendadas de [SageMaker Studio o Studio Classic.](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/sagemaker-studio-admin-best-practices.html)

# Resolución de problemas
<a name="studio-notebooks-emr-troubleshooting"></a>

Al trabajar con clústeres de Amazon EMR desde cuadernos de Studio o Studio Classic, es posible que encuentre varios problemas o desafíos potenciales durante el proceso de conexión o uso. Para ayudarle a solucionar y resolver estos errores, en esta sección se proporcionan instrucciones sobre los problemas más comunes que pueden surgir. 

Aprenda a solucionar los errores más comunes que pueden producirse al conectar o utilizar los clústeres de Amazon EMR desde los cuadernos de Studio o Studio Classic.

## Solucionar problemas de conexiones Livy que estén bloqueadas o defectuosas
<a name="studio-notebooks-emr-troubleshooting.memoryerror"></a>

Los siguientes son problemas de conectividad de Livy que pueden producirse al utilizar los clústeres de Amazon EMR de los cuadernos de Studio o Studio Classic.
+ **Se out-of-memory ha producido un error en el clúster de Amazon EMR.**

  Una posible razón por la que una conexión de Livy se `sparkmagic` bloquea o falla es si el clúster de Amazon EMR ha detectado un out-of-memory error. 

  De forma predeterminada, el parámetro de configuración de Java del controlador Apache Spark, `spark.driver.defaultJavaOptions`. está establecido en `-XX:OnOutOfMemoryError='kill -9 %p'`. Esto significa que la acción predeterminada que se toma cuando el programa del controlador encuentra una `OutOfMemoryError` es terminar el programa de controlador enviando una señal SIGKILL. Cuando se cierra el controlador Apache Spark, cualquier conexión de Livy `sparkmagic` que dependa de ese controlador se bloquea o falla. Esto se debe a que el controlador Spark es responsable de administrar los recursos de la aplicación Spark, incluida la programación y ejecución de las tareas. Sin el controlador, la aplicación Spark no puede funcionar y cualquier intento de interactuar con él fracasa.

  Si sospecha que su clúster de Spark tiene problemas de memoria, puede consultar los [registros de Amazon EMR.](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-manage-view-web-log-files.html) Los contenedores bloqueados debido a out-of-memory errores suelen salir con un código de. `137` En esos casos, tendrá que reiniciar la aplicación de Spark y establecer una nueva conexión con Livy para reanudar la interacción con el clúster de Spark.

  Puedes consultar el artículo de la base de conocimientos [¿Cómo resuelvo el error «YARN ha eliminado un contenedor por superar los límites de memoria» en Spark en Amazon EMR](https://repost.aws/knowledge-center/emr-spark-yarn-memory-limit)? aquí AWS re:Post encontrarás información sobre las distintas estrategias y parámetros que se pueden utilizar para solucionar un out-of-memory problema.

  Le recomendamos que consulte las [guías de prácticas recomendadas de Amazon EMR](https://aws.github.io/aws-emr-best-practices/) para conocer las prácticas recomendadas y la orientación de ajuste sobre la ejecución de cargas de trabajo de Apache Spark en sus clústeres de Amazon EMR.
+ **Se agota el tiempo de espera de su sesión de Livy cuando se conecta a un clúster de Amazon EMR por primera vez.**

  Cuando se conecta inicialmente a un clúster de Amazon EMR mediante Apache Livy [sagemaker-studio-analytics-extension](https://pypi.org/project/sagemaker-studio-analytics-extension/), que permite la conexión a un clúster remoto de Spark (Amazon EMR) a través de la [SparkMagic](https://github.com/jupyter-incubator/sparkmagic)biblioteca mediante [Apache Livy](https://livy.apache.org/), es posible que se produzca un error de tiempo de espera de conexión:

  `An error was encountered: Session 0 did not start up in 60 seconds.`

  Si su clúster de Amazon EMR requiere la inicialización de una aplicación Spark al establecer una conexión, existe una mayor probabilidad de que se produzcan errores de tiempo de espera de la conexión.

  Para reducir las probabilidades de que se agoten los tiempos de espera al conectarse a un clúster de Amazon EMR mediante Livy, a través de la extensión de análisis, `sagemaker-studio-analytics-extension` versión `0.0.19` y posteriores, anulan el tiempo de espera predeterminado de la sesión del servidor a `120` segundos en lugar del valor predeterminado de `sparkmagic` de `60` segundos.

  Le recomendamos que actualice la extensión `0.0.18` y, anteriores ejecutando el siguiente comando de actualización.

  ```
  pip install --upgrade sagemaker-studio-analytics-extension
  ```

  Tenga en cuenta que al proporcionar una configuración de tiempo de espera personalizada en `sparkmagic`, `sagemaker-studio-analytics-extension` respeta esta anulación. Sin embargo, si se establece el tiempo de espera de la sesión en `60` segundos, se activa automáticamente el tiempo de espera predeterminado de la sesión del servidor de `120` segundos en `sagemaker-studio-analytics-extension`.

# Preparación de datos mediante sesiones interactivas AWS Glue
<a name="studio-notebooks-glue"></a>

[Las sesiones interactivas de AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-overview.html) son un servicio sin servidor que puede utilizar para recopilar, transformar, limpiar y preparar datos para almacenarlos en sus lagos de datos y canalizaciones de datos. Las sesiones interactivas de AWS Glue proporcionan un entorno de ejecución de Apache Spark, bajo demanda y sin servidores, que puede inicializar en cuestión de segundos en una unidad de procesamiento de datos (DPU) dedicada sin tener que aprovisionar ni administrar una compleja infraestructura de clústeres de computación. Tras la inicialización, puedes navegar por el catálogo de AWS Glue datos, ejecutar consultas de gran tamaño, acceder a los datos regidos por AWS Lake Formation ellos y analizarlos y prepararlos de forma interactiva con Spark, directamente en tus blocs de notas de Studio o Studio Classic. A continuación, puedes usar los datos preparados para entrenar, ajustar e implementar modelos mediante las herramientas de aprendizaje automático diseñadas específicamente en SageMaker Studio o Studio Classic. Deberías considerar las sesiones AWS Glue interactivas para tus cargas de trabajo de preparación de datos si deseas un servicio Spark sin servidor con un control moderado de la configurabilidad y la flexibilidad.

Puedes iniciar una sesión AWS Glue interactiva iniciando un JupyterLab bloc de notas en Studio o Studio Classic. Al iniciar su cuaderno, elija el kernel `Glue PySpark and Ray` o `Glue Spark` integrado. Al hacerlo, se inicia automáticamente una sesión de Spark interactiva y sin servidor. No es necesario aprovisionar ni administrar ningún clúster o infraestructura de computación. Tras la inicialización, puede explorar los datos e interactuar con ellos desde sus cuadernos de Studio o Studio Classic.

Antes de iniciar la sesión AWS Glue interactiva en Studio o Studio Classic, debe establecer las funciones y políticas adecuadas. Además, es posible que tenga que proporcionar acceso a recursos adicionales, como un bucket de almacenamiento de Amazon S3. Para obtener más información sobre las políticas de IAM requeridas, consulte [Permisos para sesiones AWS Glue interactivas en Studio o Studio Classic](getting-started-glue-sm.md#glue-sm-iam).

Studio y Studio Classic ofrecen una configuración predeterminada para la sesión AWS Glue interactiva; sin embargo, puedes usar el catálogo completo AWS Glue de comandos mágicos de Jupyter para personalizar aún más tu entorno. Para obtener información sobre las magias de Jupyter predeterminadas y adicionales que puede utilizar en su AWS Glue sesión interactiva, consulte. [Configura tu sesión AWS Glue interactiva en Studio o Studio Classic](getting-started-glue-sm.md#glue-sm-magics)
+ Los usuarios de Studio Classic que inicien una sesión AWS Glue interactiva pueden seleccionar entre las siguientes imágenes y núcleos:
  + Imágenes: `SparkAnalytics 1.0`, `SparkAnalytics 2.0`
  + Kernel: `Glue Python [PySpark and Ray]` y `Glue Spark`
+ Para los usuarios de Studio, utilice la [imagen de SageMaker distribución](https://github.com/aws/sagemaker-distribution) predeterminada y seleccione un núcleo `Glue Python [PySpark and Ray]` o un `Glue Spark` núcleo.

# Comience con las sesiones AWS Glue interactivas
<a name="getting-started-glue-sm"></a>

En esta guía, aprenderás a iniciar una sesión AWS Glue interactiva en SageMaker AI Studio Classic y a gestionar tu entorno con Jupyter magics.

## Permisos para sesiones AWS Glue interactivas en Studio o Studio Classic
<a name="glue-sm-iam"></a>

En esta sección se enumeran las políticas necesarias para ejecutar sesiones AWS Glue interactivas en Studio o Studio Classic y se explica cómo configurarlas. En concreto, se detalla cómo:
+ Adjunta la política `AwsGlueSessionUserRestrictedServiceRole` gestionada a tu función de ejecución de SageMaker IA.
+ Cree una política personalizada en línea para su función de ejecución de SageMaker IA.
+ Modifique la relación de confianza de su función de ejecución de la SageMaker IA.

**Asociación de la política administrada de `AwsGlueSessionUserRestrictedServiceRole` a su rol de ejecución**

1. Abra la [consola de IAM](https://console.aws.amazon.com/iam/).

1. En el panel izquierdo, seleccione **Roles**.

1. Busque el rol de ejecución de Studio Classic que utiliza su perfil de usuario. Para obtener más información acerca de cómo ver un perfil de usuario, consulte [Visualización de perfiles de usuario en un dominio](domain-user-profile-view.md).

1. Elija el nombre del rol para abrir la página de resumen del rol.

1. En la pestaña **Permisos**, seleccione **Asociar políticas** en el menú desplegable **Agregar permisos**.

1. Seleccione la casilla situada junto a la política administrada `AwsGlueSessionUserRestrictedServiceRole`.

1. Seleccione **Asociar políticas**. 

   La página de resumen muestra las políticas administradas que acaba de añadir.

   

**Creación de la política personalizada insertada en su rol de ejecución**

1. Seleccione **Crear política insertada** en el menú desplegable **Agregar permisos**.

1. Seleccione la pestaña **JSON**.

1. Copie y pegue la siguiente política.

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "uniqueStatementId",
   
               "Effect": "Allow",
               "Action": [
   	     "iam:GetRole",
                   "iam:PassRole",
                   "sts:GetCallerIdentity"
               ],
               "Resource": "arn:aws:iam::*:role/GlueServiceRole*"
           }
       ]
   }
   ```

------

1. Elija **Revisar política**.

1. Introduzca un **Nombre** y, a continuación, elija **Crear política**. 

   La página de resumen muestra la política personalizada que acaba de añadir.

   

**Modificación de la relación de confianza de su rol de ejecución**

1. Seleccione la pestaña **Relaciones de confianza**.

1. Elija **Editar la política de confianza**.

1. Copie y pegue la siguiente política.

------
#### [ JSON ]

****  

   ```
   {
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
           "Effect": "Allow",
           "Principal": {
               "Service": [
                   "glue.amazonaws.com",
                   "sagemaker.amazonaws.com"
               ]
           },
           "Action": "sts:AssumeRole"
       }
   ]
   }
   ```

------

1. Elija **Actualizar política**.

Puede añadir roles y políticas adicionales si necesita acceder a otros recursos de AWS . Para obtener una descripción de las funciones y políticas adicionales que puede incluir, consulte las [sesiones interactivas con IAM](https://docs.aws.amazon.com/glue/latest/dg/glue-is-security.html) en la AWS Glue documentación.

## Propagación de etiquetas
<a name="glue-sm-tag-propagation"></a>

Las etiquetas se utilizan habitualmente para realizar un seguimiento de los costos y asignarlos, para controlar el acceso a la sesión, para aislar los recursos y mucho más. Para obtener más información sobre cómo añadir metadatos a sus recursos de AWS mediante el etiquetado o para obtener más información sobre casos de uso habituales, consulte [Información adicional](#more-information).

Puedes habilitar la propagación automática de AWS etiquetas a las nuevas sesiones AWS Glue interactivas creadas desde la interfaz de usuario de Studio o Studio Classic. Cuando se crea una sesión AWS Glue interactiva desde Studio o Studio Classic, todas las [etiquetas definidas por](https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/custom-tags.html) el usuario adjuntas al perfil de usuario o al espacio compartido se transfieren a la nueva sesión AWS Glue interactiva. Además, Studio y Studio Classic añaden automáticamente dos etiquetas internas AWS generadas (`sagemaker:user-profile-arn`y`sagemaker:domain-arn`) o (`sagemaker:shared-space-arn`y`sagemaker:domain-arn`)) a las nuevas sesiones AWS Glue interactivas creadas a partir de su interfaz de usuario. Puede usar estas etiquetas para agregar los costos de los distintos dominios, perfiles de usuario o espacios.

### Habilitación de la propagación de etiquetas
<a name="enable-propagation"></a>

Para habilitar la propagación automática de las etiquetas a las nuevas sesiones AWS Glue interactivas, establece los siguientes permisos para tu función de ejecución de SageMaker IA y la función de IAM asociada a tu AWS Glue sesión:

**nota**  
De forma predeterminada, la función asociada a la sesión AWS Glue interactiva es la misma que la función de ejecución de la SageMaker IA. Puede especificar un rol de ejecución diferente para la sesión AWS Glue interactiva mediante el comando `%iam_role` mágico. Para obtener más información sobre los comandos mágicos de Jupyter disponibles para configurar sesiones interactivas de AWS Glue , consulte [Configura tu sesión AWS Glue interactiva en Studio o Studio Classic](#glue-sm-magics).
+ *En tu función de ejecución de SageMaker IA*: crea una nueva política en línea y pega el siguiente archivo JSON. La política otorga al rol de ejecución permiso para describir (`DescribeUserProfile``DescribeSpace`,`DescribeDomain`) y enumerar las etiquetas (`ListTag`) configuradas en los perfiles de usuario, los espacios compartidos y el dominio de la SageMaker IA.

  ```
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:ListTags"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:user-profile/*",
          "arn:aws:sagemaker:*:*:space/*"
      ]
  },
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeUserProfile"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:user-profile/*"
      ]
  },
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeSpace"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:space/*"
      ]
  }
  {
      "Effect": "Allow",
      "Action": [
          "sagemaker:DescribeDomain"
      ],
      "Resource": [
          "arn:aws:sagemaker:*:*:domain/*"
      ]
  }
  ```
+ *En el rol de IAM de su sesión de AWS Glue *: cree una nueva política insertada y pegue el siguiente archivo de JSON. La política concede a su rol permiso para asociar etiquetas (`TagResource`) a su sesión o recuperar su lista de etiquetas (`GetTags`).

  ```
  {
      "Effect": "Allow",
      "Action": [
          "glue:TagResource",
          "glue:GetTags"
      ],
      "Resource": [
          "arn:aws:glue:*:*:session/*"
      ]
  }
  ```

**nota**  
Los errores que se producen al aplicar esos permisos no impiden la creación de sesiones AWS Glue interactivas. Puede encontrar detalles sobre el motivo del error en los [CloudWatch](https://docs.aws.amazon.com//sagemaker/latest/dg/monitoring-cloudwatch.html)registros de Studio o Studio Classic.
Debe reiniciar el núcleo de la sesión AWS Glue interactiva para propagar la actualización del valor de una etiqueta.

Es importante tener en cuenta los siguientes puntos:
+ Una vez que se asocia una etiqueta a una sesión, no se puede eliminar por medio de propagación.

  Puede eliminar las etiquetas de una sesión AWS Glue interactiva directamente a través de la AWS CLI, la AWS Glue API o la [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/). Por ejemplo, con el AWS CLI, puede eliminar una etiqueta proporcionando el ARN de la sesión y las claves de etiqueta que desea eliminar de la siguiente manera:

  ```
  aws glue untag-resource \
  --resource-arn arn:aws:glue:region:account-id:session:session-name \
  --tags-to-remove tag-key1,tag-key2
  ```
+ Studio y Studio Classic añaden dos etiquetas internas AWS generadas (`sagemaker:user-profile-arn`y`sagemaker:domain-arn`) o (`sagemaker:shared-space-arn`y`sagemaker:domain-arn`)) a las nuevas sesiones AWS Glue interactivas creadas a partir de su interfaz de usuario. Esas etiquetas se tienen en cuenta para el límite de 50 etiquetas establecido en todos los AWS recursos. Tanto `sagemaker:user-profile-arn` como `sagemaker:shared-space-arn` contienen el ID de dominio al que pertenecen.
+ Las teclas de etiquetas que comiencen por `aws:``AWS:`, o cualquier combinación de letras mayúsculas y minúsculas como prefijo de las claves no se propagan y están reservadas para su uso. AWS 

### Información adicional
<a name="more-information"></a>

Para obtener más información sobre las etiquetas, consulte los siguientes recursos:
+ [Para obtener información sobre cómo agregar metadatos a sus AWS recursos mediante el etiquetado, consulte Etiquetar recursos. AWS](https://docs.aws.amazon.com/tag-editor/latest/userguide/tagging.html)
+ Para obtener más información sobre el seguimiento de los costos mediante etiquetas, consulte el [análisis de costos](https://docs.aws.amazon.com/whitepapers/latest/sagemaker-studio-admin-best-practices/cost-attribution.html) en las prácticas recomendadas de administración de Studio.
+ Para obtener información sobre cómo controlar el acceso a ellos en AWS Glue función de las claves de las etiquetas, consulte [ABAC](glue/latest/dg/security_iam_service-with-iam.html#security_iam_service-with-iam-tags) with. AWS Glue

## Inicie su sesión AWS Glue interactiva en Studio o Studio Classic
<a name="glue-sm-launch"></a>

Después de crear los roles, las políticas y el dominio de SageMaker IA, puede iniciar su sesión AWS Glue interactiva en Studio o Studio Classic.

1. Inicie sesión en la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. En el panel de navegación izquierdo, seleccione **Studio**.

1. En la página de inicio de Studio, seleccione el dominio y perfil de usuario para inicializar Studio.

1. Selecciona **Open Studio** e inicia una aplicación JupyterLab o una de Studio Classic.

1. En la vista de Jupyter, seleccione **Archivo**, **Nuevo** y luego **Cuaderno**.

1. Para los usuarios de Studio Classic: en el menú desplegable **Imagen**, selecciona **SparkAnalytics 1.0** o **SparkAnalytics2.0**. En el menú desplegable **del núcleo**, selecciona **Glue Spark** o **Glue Python [PySpark and Ray]**. Elija **Seleccionar**.

   Para los usuarios de Studio, selecciona un núcleo de **Glue Spark** **o Glue Python [PySpark and Ray]**

1. (Opcional) Utilice los comandos mágicos de Jupyter para personalizar el entorno. Para obtener más información sobre los comandos mágicos de Jupyter, consulte [Configura tu sesión AWS Glue interactiva en Studio o Studio Classic](#glue-sm-magics).

1. Empiece a escribir sus scripts de procesamiento de datos de Spark. El siguiente [cuaderno](https://github.com/aws/amazon-sagemaker-examples/blob/main/use-cases/pyspark_etl_and_training/pyspark-etl-training.ipynb) muestra un end-to-end flujo de trabajo para ETL en un conjunto de datos grande mediante una sesión AWS Glue interactiva, un análisis exploratorio de datos, un preprocesamiento de datos y, por último, el entrenamiento de un modelo con los datos procesados con IA. SageMaker 

## Configura tu sesión AWS Glue interactiva en Studio o Studio Classic
<a name="glue-sm-magics"></a>

**nota**  
Todas las configuraciones mágicas se transfieren a las sesiones posteriores durante la vida útil del núcleo. AWS Glue 

Puede utilizar Jupyter magics en su sesión AWS Glue interactiva para modificar sus parámetros de sesión y configuración. Los comandos mágicos son comandos cortos con el prefijo `%` al principio de las celdas de Jupyter, que proporcionan una forma rápida y sencilla de ayudarle a controlar su entorno. En su sesión AWS Glue interactiva, las siguientes funciones mágicas están configuradas de forma predeterminada:


| Comando mágico | Predeterminado | 
| --- | --- | 
| %glue\$1version |  3.0  | 
| %iam\$1role |  *execution role attached to your SageMaker AI domain*  | 
| %region |  su región  | 

Puede utilizar comandos mágicos para personalizar aún más su entorno. Por ejemplo, si desea cambiar el número de trabajadores asignados a su trabajo de los cinco predeterminados a 10, puede especificar `%number_of_workers 10`. Si desea configurar la sesión para que se detenga tras 10 minutos de inactividad en lugar de los 2880 predeterminados, puede especificar `%idle_timeout 10`.

Todas las magias de Jupyter disponibles actualmente también AWS Glue están disponibles en Studio o Studio Classic. Para ver la lista completa de las AWS Glue magias disponibles, consulta [Cómo configurar sesiones AWS Glue interactivas para las libretas de Jupyter](https://docs.aws.amazon.com/glue/latest/dg/interactive-sessions-magics.html) y Studio. AWS Glue 

# AWS Glue precios de sesiones interactivas
<a name="glue-sm-pricing"></a>

Al utilizar sesiones AWS Glue interactivas en las libretas de Studio o Studio Classic, se te cobrará por separado el uso de los recursos en las libretas de Studio AWS Glue y en las libretas de Studio.

AWS los cargos por las sesiones AWS Glue interactivas se basan en el tiempo que la sesión esté activa y en el número de unidades de procesamiento de datos (DPU) utilizadas. Se le cobrará una tarifa por hora según la cantidad de cargas de trabajo DPUs utilizadas para ejecutar sus cargas de trabajo, que se facturará en incrementos de un segundo. AWS Glue Las sesiones interactivas asignan un valor predeterminado de cinco DPUs y requieren un mínimo de dos. DPUs También hay una duración mínima de facturación de un minuto para cada sesión interactiva. Para ver los ejemplos de AWS Glue tarifas y precios, o para estimar sus costos con la calculadora de AWS precios, consulte [AWS Glue precios](https://aws.amazon.com/glue/pricing).

Su cuaderno Studio o Studio Classic se ejecuta en una instancia de Amazon EC2 y se le cobra por el tipo de instancia que elija, en función de la duración del uso. Studio Classic le asigna un tipo de instancia de EC2 predeterminado `ml-t3-medium` cuando selecciona la imagen `SparkAnalytics` y el kernel asociado. Puede cambiar el tipo de instancia de su cuaderno de Studio Classic para que se ajuste a su carga de trabajo. Para obtener información sobre los precios de Studio y Studio Classic, consulta los [ SageMaker precios de Amazon](https://aws.amazon.com/sagemaker/pricing).

# Prepare datos de aprendizaje automático con Amazon SageMaker Data Wrangler
<a name="data-wrangler"></a>

**importante**  
Amazon SageMaker Data Wrangler se ha integrado en Amazon SageMaker Canvas. Con la nueva experiencia Data Wrangler en SageMaker Canvas, además de la interfaz visual, puede utilizar una interfaz de lenguaje natural para explorar y transformar sus datos. Para obtener más información sobre Data Wrangler en SageMaker Canvas, consulte. [Preparación de datos](canvas-data-prep.md)

Amazon SageMaker Data Wrangler (Data Wrangler) es una función de Amazon SageMaker Studio Classic que proporciona una end-to-end solución para importar, preparar, transformar, caracterizar y analizar datos. Puede integrar un flujo de preparación de datos de Data Wrangler en sus flujos de trabajo de machine learning (ML) a fin de simplificar y agilizar el preprocesamiento de datos y la ingeniería de características sin apenas codificación. También puede añadir sus propios scripts y transformaciones de Python para personalizar flujos de trabajo.

Data Wrangler proporciona las siguientes funcionalidades principales para ayudarle a analizar y preparar los datos para las aplicaciones de machine learning. 
+ **Importación**: Conéctese e importe datos de Amazon Simple Storage Service (Amazon S3), Amazon Athena (Athena), Amazon Redshift, Snowflake y Databricks.
+ **Flujo de datos**: cree un flujo de datos para definir una serie de pasos de preparación de datos para el ML. Puede usar un flujo para combinar conjuntos de datos de diferentes orígenes, identificar el número y los tipos de transformaciones que desea aplicar a los conjuntos de datos y definir un flujo de trabajo de preparación de datos que se pueda integrar en una canalización de ML. 
+ **Transformación**: limpie y transforme su conjunto de datos mediante *transformaciones* estándar, como herramientas de formato para datos numéricos, vectoriales y de cadenas. Personalice sus datos mediante transformaciones como texto, incrustaciones y codificación categórica. date/time 
+ **Generación de información sobre los datos**: verifique automáticamente la calidad de los datos y detecte anomalías en estos con Data Wrangler Data Insights y Quality Report. 
+ **Análisis**: analice las características de su conjunto de datos en cualquier punto del flujo. Data Wrangler incluye herramientas integradas de visualización de datos, como diagramas de dispersión e histogramas; también dispone de herramientas para el análisis de datos, como el análisis de fuga de objetivos y el modelado rápido para comprender la correlación de características. 
+ **Exportación**: exporte su flujo de trabajo de preparación de datos a una ubicación distinta. A continuación, se muestran algunos ejemplos de ubicaciones. 
  + Bucket de Amazon Simple Storage Service (Amazon S3)
  + Amazon SageMaker Pipelines: utilice Pipelines para automatizar la implementación de modelos. Puede exportar los datos que ha transformado directamente en las canalizaciones.
  + Amazon SageMaker Feature Store: almacene las funciones y sus datos en una tienda centralizada.
  + Script de Python. Almacene los datos y sus transformaciones en un script de Python para sus flujos de trabajo personalizados.

Para empezar a utilizar Data Wrangler, consulte [Introducción a Data Wrangler](data-wrangler-getting-started.md).

**importante**  
Data Wrangler ya no es compatible con la versión 1 () de Jupyter Lab. JL1 Para acceder a las últimas características y mejoras, actualice a la versión 3 de Jupyter Lab. Para obtener más información acerca de la actualización, consulte [Vea y actualice la JupyterLab versión de una aplicación desde la consola](studio-jl.md#studio-jl-view).

**importante**  
La información y los procedimientos de esta guía utilizan la versión más reciente de Amazon SageMaker Studio Classic. Para obtener más información sobre cómo actualizar Studio Classic a la última versión, consulte [Descripción general de la interfaz de usuario clásica de Amazon SageMaker Studio](studio-ui.md).

Debe utilizar la versión 1.3.0 de Studio Classic o posteriores. Utilice el siguiente procedimiento para abrir Amazon SageMaker Studio Classic y ver qué versión está ejecutando.

Para abrir Studio Classic y comprobar su versión, consulte el siguiente procedimiento.

1. Sigue los pasos que se indican [Requisitos previos](data-wrangler-getting-started.md#data-wrangler-getting-started-prerequisite) a continuación para acceder a Data Wrangler a través de Amazon SageMaker Studio Classic.

1. Junto al usuario que desee utilizar para inicializar Studio Classic, seleccione **Lanzar aplicación**.

1. Elija **Studio**.

1. Cuando Studio Classic se cargue, seleccione **Archivo**, **Nuevo** y, por último, **Terminal**.  
![\[Las opciones del menú contextual de Studio Classic descritas en el paso 4.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/terminal.png)

1. Tras iniciar Studio Classic, seleccione **Archivo**, **Nuevo** y, por último, **Terminal**.

1. Introduzca `cat /opt/conda/share/jupyter/lab/staging/yarn.lock | grep -A 1 "@amzn/sagemaker-ui-data-prep-plugin@"` para imprimir la versión de su instancia de Studio Classic. Para utilizar Snowflake, debe tener la versión 1.3.0 de Studio Classic.   
![\[Debe tener abierta una ventana de terminal en Studio Classic con el comando del paso 6 copiado y pegado.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/cat-command.png)

Puede actualizar Amazon SageMaker Studio Classic desde Consola de administración de AWS. Para obtener más información sobre la actualización de Studio Classic, consulte [Descripción general de la interfaz de usuario clásica de Amazon SageMaker Studio](studio-ui.md).

**Topics**
+ [Introducción a Data Wrangler](data-wrangler-getting-started.md)
+ [Importación](data-wrangler-import.md)
+ [Creación y uso de un flujo de Data Wrangler](data-wrangler-data-flow.md)
+ [Información sobre los datos y la calidad de los datos](data-wrangler-data-insights.md)
+ [Entrenamiento automático de modelos en su flujo de datos](data-wrangler-autopilot.md)
+ [Datos de transformación](data-wrangler-transform.md)
+ [Análisis y visualización](data-wrangler-analyses.md)
+ [Reutilización de flujos de datos para diferentes conjuntos de datos](data-wrangler-parameterize.md)
+ [Exportación](data-wrangler-data-export.md)
+ [Utilice un widget interactivo de preparación de datos en un bloc de notas clásico de Amazon SageMaker Studio para obtener información valiosa sobre los datos](data-wrangler-interactively-prepare-data-notebook.md)
+ [Seguridad y permisos](data-wrangler-security.md)
+ [Notas de la versión](data-wrangler-release-notes.md)
+ [Solucionar problemas](data-wrangler-trouble-shooting.md)
+ [Aumentar el límite de instancias de Amazon EC2](data-wrangler-increase-instance-limit.md)
+ [Actualización de Data Wrangler](data-wrangler-update.md)
+ [Apagado de Data Wrangler](data-wrangler-shut-down.md)

# Introducción a Data Wrangler
<a name="data-wrangler-getting-started"></a>

Amazon SageMaker Data Wrangler es una función de Amazon SageMaker Studio Classic. Utilice esta sección para obtener información sobre cómo acceder a Data Wrangler y empezar a usarlo. Haga lo siguiente:

1. Complete cada paso en [Requisitos previos](#data-wrangler-getting-started-prerequisite).

1. Siga el procedimiento indicado en [Acceso a Data Wrangler](#data-wrangler-getting-started-access) para empezar a utilizar Data Wrangler.

## Requisitos previos
<a name="data-wrangler-getting-started-prerequisite"></a>

Para utilizar Data Wrangler, debe completar los siguientes requisitos previos. 

1. Para utilizar Data Wrangler, necesita tener acceso a una instancia de Amazon Elastic Compute Cloud (Amazon EC2). Para obtener más información acerca de las instancias de Amazon EC2 que puede utilizar, consulte [instancias](data-wrangler-data-flow.md#data-wrangler-data-flow-instances). Para obtener información sobre cómo ver sus cuotas y, si es necesario, solicitar un aumento de cuota, consulte [AWS service quotas](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html).

1. Configure los permisos requeridos descritos en [Seguridad y permisos](data-wrangler-security.md). 

1. Si su organización utiliza un firewall que bloquea el tráfico de Internet, debe tener acceso a lo siguiente: URLs
   + `https://ui.prod-1.data-wrangler.sagemaker.aws/`
   + `https://ui.prod-2.data-wrangler.sagemaker.aws/`
   + `https://ui.prod-3.data-wrangler.sagemaker.aws/`
   + `https://ui.prod-4.data-wrangler.sagemaker.aws/`

Para utilizar Data Wrangler, necesita una instancia de Studio Classic activa. Para obtener información sobre cómo lanzar una nueva instancia, consulte [Descripción general del dominio Amazon SageMaker AI](gs-studio-onboard.md). Cuando la instancia de Studio Classic esté **Lista**, siga las instrucciones de [Acceso a Data Wrangler](#data-wrangler-getting-started-access).

## Acceso a Data Wrangler
<a name="data-wrangler-getting-started-access"></a>

En el siguiente procedimiento se supone que ya ha completado los [Requisitos previos](#data-wrangler-getting-started-prerequisite).

Para acceder a Data Wrangler en Studio Classic, haga lo siguiente.

1. Inicie sesión en Studio Classic. Para obtener más información, consulte [Descripción general del dominio Amazon SageMaker AI](gs-studio-onboard.md).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. También puede crear un flujo de Data Wrangler de la siguiente manera.

   1. En la barra de navegación superior, seleccione **Archivo**.

   1. Seleccione **Nueva**.

   1. Seleccione **Flujo de Data Wrangler**.  
![\[Pestaña de inicio de la consola de Studio Classic.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/new-flow-file-menu.png)

1. De forma opcional, puede cambiar el nombre del nuevo directorio y del archivo .flow.

1. Al crear un nuevo archivo .flow en Studio Classic, es posible que vea un carrusel que le presenta Data Wrangler.

   **Puede que tarde unos minutos.**

   Este mensaje se conserva mientras la **KernelGateway**aplicación de tu página **de detalles de usuario** esté **pendiente**. Para ver el estado de esta aplicación, en la consola SageMaker AI de la página **Amazon SageMaker Studio Classic**, seleccione el nombre del usuario que está utilizando para acceder a Studio Classic. En la página **de detalles del usuario**, verá una **KernelGateway**aplicación en **Aplicaciones**. Espere hasta que el estado de la aplicación sea **Listo** para empezar a usar Data Wrangler. Esto puede tardar unos 5 minutos la primera vez que inicie Data Wrangler.  
![\[Ejemplo en el que el estado de la KernelGatewayaplicación es Listo en la página de detalles del usuario.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/gatewayKernel-ready.png)

1. Para empezar, elija un origen de datos y úsela para importar un conjunto de datos. Consulte [Importación](data-wrangler-import.md) para obtener más información. 

   Al importar un conjunto de datos, aparece en el flujo de datos. Para obtener más información, consulte [Creación y uso de un flujo de Data Wrangler](data-wrangler-data-flow.md).

1. Después de importar un conjunto de datos, Data Wrangler infiere automáticamente el tipo de datos de cada columna. Seleccione **\$1** junto al paso **Tipos de datos** y seleccione **Editar tipos de datos**. 
**importante**  
Después de añadir las transformaciones al paso **Tipos de datos**, no puede realizar una actualización masiva de los tipos de columnas mediante la opción **Actualizar tipos**. 

1. Utilice el flujo de datos para añadir transformaciones y análisis. Para obtener más información, consulte [Datos de transformación](data-wrangler-transform.md) y [Análisis y visualización](data-wrangler-analyses.md).

1. Para exportar un flujo de datos completo, elija **Exportar** y elija una opción de exportación. Para obtener más información, consulte [Exportación](data-wrangler-data-export.md). 

1. Por último, elija el icono **Componentes y registros** y seleccione **Data Wrangler** en la lista desplegable para ver todos los archivos .flow que ha creado. Puede utilizar este menú para buscar flujos de datos y moverse entre ellos.

Una vez que haya lanzado Data Wrangler, puede utilizar la siguiente sección para ver cómo puede usar Data Wrangler para crear un flujo de preparación de datos de machine learning. 

## Actualización de Data Wrangler
<a name="data-wrangler-update-studio-app"></a>

Se recomienda actualizar periódicamente la aplicación de Data Wrangler Studio Classic para acceder a las características y actualizaciones más recientes. El nombre de la aplicación Data Wrangler comienza por. **sagemaker-data-wrang** Para obtener más información sobre cómo actualizar una aplicación de Studio Classic, consulte [Cierre y actualice las aplicaciones clásicas de Amazon SageMaker Studio](studio-tasks-update-apps.md).

## Demostración: tutorial del conjunto de datos del Titanic de Data Wrangler
<a name="data-wrangler-getting-started-demo"></a>

En las secciones siguientes, encontrará un tutorial para comenzar a utilizar Data Wrangler. En este tutorial se supone que ya ha seguido los pasos descritos en [Acceso a Data Wrangler](#data-wrangler-getting-started-access) y que tiene abierto un nuevo archivo de flujo de datos que va a utilizar en la demostración. Puede que desee cambiar el nombre de este archivo .flow por un nombre similar a `titanic-demo.flow`.

En este tutorial se utiliza el [conjunto de datos del Titanic](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/walkthrough_titanic.csv). Se trata de una versión modificada del [conjunto de datos del Titanic](https://www.openml.org/d/40945) que puede importar a su flujo de Data Wrangler con más facilidad. Este conjunto de datos contiene el estado de supervivencia, la edad, el sexo y la clase (que sirve como indicador de la situación económica) de los pasajeros a bordo del viaje inaugural del *RMS Titanic* en 1912.

En este tutorial, debe realizar los siguientes pasos. 

1. Realice una de las siguientes acciones:
   + Abra su flujo de Data Wrangler y elija **Usar conjunto de datos de muestra**.
   + Cargue el [conjunto de datos del Titanic](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/walkthrough_titanic.csv) en Amazon Simple Storage Service (Amazon S3) y, a continuación, importe este conjunto de datos a Data Wrangler.

1. Analice este conjunto de datos mediante los análisis de Data Wrangler. 

1. Defina un flujo de datos mediante las transformaciones de datos de Data Wrangler.

1. Exporte el flujo a un cuaderno de Jupyter que pueda usar para crear un trabajo de Data Wrangler. 

1. Procesa tus datos e inicia un trabajo de formación para SageMaker entrenar a un clasificador XGBoost binario. 

### Carga del conjunto de datos a S3 e importación
<a name="data-wrangler-getting-started-demo-import"></a>

Para comenzar, puede utilizar uno de los métodos siguientes para importar el conjunto de datos del Titanic a Data Wrangler:
+ Importar el conjunto de datos directamente desde el flujo de Data Wrangler
+ Cargar el conjunto de datos a Amazon S3 y, a continuación, importarlo a Data Wrangler

Para importar el conjunto de datos directamente a Data Wrangler, abra el flujo y elija **Usar conjunto de datos de muestra**.

La carga del conjunto de datos a Amazon S3 y la importación a Data Wrangler se parece más a la experiencia de importar sus propios datos. La siguiente información le indica cómo cargar su conjunto de datos e importarlo.

Antes de empezar a importar los datos a Data Wrangler, descargue el [conjunto de datos del Titanic](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/walkthrough_titanic.csv) y cárguelo en un bucket de Amazon S3 (Amazon S3) de la región de AWS en la que desee realizar esta demostración.

Si es un usuario nuevo de Amazon S3, puede hacerlo mediante arrastrar y soltar en la consola de Amazon S3. Para obtener información al respecto, consulte [Uploading Files and Folders by Using Drag and Drop](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/upload-objects.html#upload-objects-by-drag-and-drop) en la Guía del usuario de Amazon Simple Storage Service.

**importante**  
Cargue su conjunto de datos en un depósito de S3 en la misma AWS región que desee usar para completar esta demostración. 

Cuando el conjunto de datos se haya cargado correctamente en Amazon S3, podrá importarlo a Data Wrangler.

**Importación del conjunto de datos del Titanic a Data Wrangler**

1. Elija el botón **Importar datos** en la pestaña **Flujo de datos** o elija la pestaña **Importar**.

1. Seleccione **Amazon S3**.

1. Use la tabla **Importar un conjunto de datos de S3** para buscar el bucket en el que agregó el conjunto de datos del Titanic. Elija el archivo CSV del conjunto de datos del Titanic para abrir el panel **Detalles**.

1. En **Detalles**, el **Tipo de archivo** debe ser CSV. Marque la **Primera fila es el encabezado** para especificar que la primera fila del conjunto de datos es un encabezado. También puede asignar al conjunto de datos un nombre más descriptivo, como **Titanic-train**.

1. Elija el botón **Importar**.

Cuando el conjunto de datos se importa a Data Wrangler, aparece en la pestaña **Flujo de datos**. Puede hacer doble clic en un nodo para acceder a la vista de detalles del nodo, que le permite añadir transformaciones o análisis. Puede utilizar el icono con el signo más para acceder rápidamente a la navegación. En la siguiente sección, utilizará este flujo de datos para agregar pasos de análisis y transformación.

### Flujo de datos
<a name="data-wrangler-getting-started-demo-data-flow"></a>

En la sección de flujo de datos, los únicos pasos del flujo de datos son el conjunto de datos recién importado y un paso de **Tipo de datos**. Tras aplicar las transformaciones, puede volver a esta pestaña y ver el aspecto del flujo de datos. Ahora, añada algunas transformaciones básicas en las pestañas **Preparar** y **Analizar**. 

#### Preparación y visualización
<a name="data-wrangler-getting-started-demo-prep-visualize"></a>

Data Wrangler tiene transformaciones y visualizaciones integradas que puede utilizar para analizar, limpiar y transformar los datos. 

La pestaña **Datos** de la vista detallada del nodo muestra todas las transformaciones integradas en el panel derecho, que también contiene un área en la que puede agregar transformaciones personalizadas. El siguiente caso de uso muestra cómo utilizar estas transformaciones.

Para obtener información que pueda ayudarle con la exploración de datos y la ingeniería de características, cree un informe de información y calidad de los datos. La información del informe puede ayudarle a limpiar y procesar los datos. Le proporciona información como el número de valores ausentes y el número de valores atípicos. Si tiene problemas con los datos, como una fuga de objetivos o un desequilibrio, el informe de información puede indicarle esos problemas. Para obtener más información acerca de la creación de un informe, consulte [Información sobre los datos y la calidad de los datos](data-wrangler-data-insights.md).

##### Exploración de datos
<a name="data-wrangler-getting-started-demo-explore"></a>

En primer lugar, cree una tabla de resumen de los datos mediante un análisis. Haga lo siguiente:

1. Seleccione el signo **\$1** situado junto al paso **Tipo de datos** del flujo de datos y seleccione **Agregar análisis**.

1. En el área **Análisis**, seleccione **Tabla de resumen** en la lista desplegable.

1. Asigne un **nombre** a la tabla de resumen.

1. Seleccione **Vista previa** para obtener una vista previa de la tabla que se va a crear.

1. Elija **Guardar** para guardarla en su flujo de datos. Aparece en **Todos los análisis**.

Con las estadísticas que ve, puede realizar observaciones similares a las siguientes sobre este conjunto de datos: 
+ La tarifa media (media) ronda los 33 USD, mientras que la máxima supera los 500 USD. Es probable que esta columna tenga valores atípicos. 
+ Este conjunto de datos usa *?* para indicar los valores ausentes. Faltan valores en varias columnas: *cabin*, *embarked* y *home.dest*
+ Faltan más de 250 valores en la categoría de edad.

A continuación, limpie los datos con la información obtenida de estas estadísticas. 

##### Eliminación de columnas sin utilizar
<a name="data-wrangler-getting-started-demo-drop-unused"></a>

Con el análisis de la sección anterior, limpie el conjunto de datos para prepararlo para el entrenamiento. Para añadir una nueva transformación al flujo de datos, seleccione el signo **\$1** junto al paso **Tipo de datos** del flujo de datos y seleccione **Agregar transformación**.

En primer lugar, elimine las columnas que no desee utilizar para el entrenamiento. Para ello, puede usar la biblioteca de análisis de datos de [Pandas](https://pandas.pydata.org/) o una de las transformaciones integradas.

Utilice el siguiente procedimiento para eliminar las columnas sin utilizar.

Para eliminar las columnas sin utilizar.

1. Abra el flujo de Data Wrangler.

1. Hay dos nodos en el flujo de Data Wrangler. Seleccione el signo **\$1** situado a la derecha del nodo **Tipos de datos**.

1. Seleccione **Agregar transformación**.

1. En la columna **Todos los pasos**, seleccione **Agregar paso**.

1. En la lista de transformaciones **Estándar**, elija **Administrar columnas**. Las transformaciones estándar son transformaciones integradas y listas para usar. Asegúrese de que esté seleccionado **Eliminar columna**.

1. En **Columnas a eliminar**, marque los siguientes nombres de columna:
   + cabin
   + ticket
   + name
   + sibsp
   + parch
   + home.dest
   + boat
   + cuerpo

1. Seleccione **Preview** (Versión preliminar).

1. Compruebe que se hayan eliminado las columnas y, a continuación, pulse **Agregar**.

Para hacer esto con Pandas, siga estos pasos.

1. En la columna **Todos los pasos**, seleccione **Agregar paso**.

1. En la lista de transformación **Personalizada**, elija **Transformación personalizada**.

1. Proporcione un nombre para la transformación y elija **Python (Pandas)** en la lista desplegable.

1. Introduzca el siguiente script de Python en el cuadro de código.

   ```
   cols = ['name', 'ticket', 'cabin', 'sibsp', 'parch', 'home.dest','boat', 'body']
   df = df.drop(cols, axis=1)
   ```

1. Elija **Vista previa** para obtener una vista previa del cambio y, a continuación, elija **Agregar** para agregar la transformación. 

##### Eliminación de los valores ausentes
<a name="data-wrangler-getting-started-demo-missing-vals"></a>

Ahora, limpie los valores ausentes. Puede hacerlo con el grupo de transformación **Manejo de valores ausentes**.

Faltan valores en varias columnas. En las columnas restantes, faltan los valores *age* y *fare*. Inspeccione esto mediante una **Transformación personalizada**.

Con la opción **Python (Pandas)**, utilice lo siguiente para revisar rápidamente el número de entradas en cada columna:

```
df.info()
```

![\[Ejemplo de revisión del número de entradas en cada columna.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/inspect-missing-pandas.png)


Para eliminar las filas en las que falten valores en la categoría *age*, haga lo siguiente: 

1. Elija **Manejo de ausentes**. 

1. Elija **Eliminar ausentes** para el **Transformador**.

1. Elija *age* de la **Columna de entrada**.

1. Elija **Vista previa** para ver el nuevo marco de datos y, a continuación, elija **Agregar** para agregar la transformación a su flujo.

1. Repita el mismo proceso para *fare*. 

Puede utilizar `df.info()` en la sección **Transformación personalizada** para confirmar que todas las filas tienen ahora 1045 valores.

##### Pandas personalizados: codificación
<a name="data-wrangler-getting-started-demo-encode"></a>

Pruebe la codificación plana con Pandas. La codificación de datos categóricos es el proceso de crear una representación numérica de las categorías. Por ejemplo, si las categorías son `Dog` y `Cat`, puede codificar esta información en dos vectores: `[1,0]` representar `Dog` y `[0,1]` para representar `Cat`.

1. En la sección **Transformación personalizada**, elija **Python (Pandas)** en la lista desplegable.

1. Introduzca lo siguiente en el cuadro de código.

   ```
   import pandas as pd
   
   dummies = []
   cols = ['pclass','sex','embarked']
   for col in cols:
       dummies.append(pd.get_dummies(df[col]))
       
   encoded = pd.concat(dummies, axis=1)
   
   df = pd.concat((df, encoded),axis=1)
   ```

1. Seleccione **Vista previa** para obtener una vista previa del cambio. La versión codificada de cada columna se añade al conjunto de datos. 

1. Elija **Agregar** para agregar la transformación. 

#### SQL personalizado: columnas SELECT
<a name="data-wrangler-getting-started-demo-sql"></a>

Ahora, seleccione las columnas que desea conservar mediante SQL. Para esta demostración, seleccione las columnas que aparecen en la siguiente instrucción `SELECT`. Como *survived* es su columna objetivo para el entrenamiento, coloque esa columna primero.

1. En la sección **Transformación personalizada**, selecciona **SQL (PySpark SQL)** en la lista desplegable.

1. Introduzca lo siguiente en el cuadro de código.

   ```
   SELECT survived, age, fare, 1, 2, 3, female, male, C, Q, S FROM df;
   ```

1. Seleccione **Vista previa** para obtener una vista previa del cambio. Las columnas que aparecen en la instrucción `SELECT` son las únicas columnas restantes.

1. Elija **Agregar** para agregar la transformación. 

### Exportación a un cuaderno de Data Wrangler
<a name="data-wrangler-getting-started-export"></a>

Cuando haya terminado de crear un flujo de datos, dispondrá de varias opciones de exportación. En la siguiente sección, se explica cómo exportar a un cuaderno de trabajo de Data Wrangler. Un trabajo de Data Wrangler se utiliza para procesar los datos según los pasos definidos en el flujo de datos. Para obtener más información sobre todas las opciones de exportación, consulte [Exportación](data-wrangler-data-export.md).

#### Exportación a un cuaderno de trabajo de Data Wrangler
<a name="data-wrangler-getting-started-export-notebook"></a>

Cuando exporta el flujo de datos mediante un **Trabajo de Data Wrangler**, el proceso crea automáticamente un cuaderno de Jupyter. Este bloc de notas se abre automáticamente en su instancia de Studio Classic y está configurado para ejecutar un trabajo de SageMaker procesamiento que ejecute su flujo de datos de Data Wrangler, lo que se denomina trabajo de Data Wrangler. 

1. Guarde el flujo de datos. Seleccione **Archivo** y, a continuación, seleccione **Guardar flujo de Data Wrangler**.

1. Vuelva a la pestaña **Flujo de datos**, seleccione el último paso del flujo de datos (SQL) y, a continuación, elija el signo **\$1** para abrir la navegación.

1. Elija **Exportar** y **Amazon S3 (a través del cuaderno de Jupyter**). Esto abrirá un cuaderno de Jupyter.  
![\[Ejemplo que muestra cómo abrir la navegación en la pestaña de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/export-select-step.png)

1. Elija cualquier kernel de **Python 3 (ciencia de datos)** para **Kernel**. 

1. Cuando se inicie el núcleo, ejecute las celdas del cuaderno hasta **Kick off SageMaker Training Job (opcional)**. 

1. Si lo desea, puede ejecutar las celdas en **Kick off SageMaker Training Job (opcional)** si desea crear un trabajo de entrenamiento de SageMaker IA para entrenar un XGBoost clasificador. Puedes encontrar el coste de realizar un trabajo de SageMaker formación en [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/). 

   Como alternativa, puedes añadir los bloques de código que se encuentran en [XGBoost Clasificador de entrenamiento](#data-wrangler-getting-started-train-xgboost) el cuaderno y ejecutarlos para usar la biblioteca de código [XGBoost](https://xgboost.readthedocs.io/en/latest/)abierto para entrenar un XGBoost clasificador. 

1. Elimine los comentarios y ejecute la celda en **Cleanup** y ejecútela para revertir el SDK de SageMaker Python a su versión original.

**Puedes monitorizar el estado de tu trabajo en Data Wrangler en la consola de SageMaker IA, en la pestaña Procesamiento.** Además, puede supervisar su trabajo en Data Wrangler con Amazon. CloudWatch Para obtener información adicional, consulta [Supervisar los trabajos SageMaker de procesamiento de Amazon con CloudWatch registros y métricas](https://docs.aws.amazon.com/sagemaker/latest/dg/processing-job.html#processing-job-cloudwatch). 

Si ha iniciado un trabajo de formación, puede supervisar su estado mediante la consola de SageMaker IA, en la sección **Formación de tareas**, en la **sección Formación**.

#### XGBoost Clasificador de entrenamiento
<a name="data-wrangler-getting-started-train-xgboost"></a>

Puedes entrenar un clasificador XGBoost binario con un cuaderno Jupyter o un piloto automático de Amazon. SageMaker Puede usar el piloto automático para entrenar y ajustar modelos de forma automática en los datos que ha transformado directamente en su flujo de Data Wrangler. Para obtener más información acerca del piloto automático, consulte [Entrenamiento automático de modelos en su flujo de datos](data-wrangler-autopilot.md).

En el mismo cuaderno en el que se inició el trabajo de Data Wrangler, puede extraer los datos y entrenar un clasificador XGBoost binario utilizando los datos preparados con una preparación mínima de los datos. 

1. En primer lugar, actualice los módulos necesarios mediante `pip` y elimine el archivo \$1SUCCESS (este último archivo es problemático cuando se utiliza `awswrangler`).

   ```
   ! pip install --upgrade awscli awswrangler boto sklearn
   ! aws s3 rm {output_path} --recursive  --exclude "*" --include "*_SUCCESS*"
   ```

1. Lea los datos de Amazon S3. Puede utilizar `awswrangler` para leer de forma recursiva todos los archivos CSV en el prefijo S3. A continuación, los datos se dividen en características y etiquetas. La etiqueta es la primera columna del marco de datos.

   ```
   import awswrangler as wr
   
   df = wr.s3.read_csv(path=output_path, dataset=True)
   X, y = df.iloc[:,:-1],df.iloc[:,-1]
   ```
   + Por último, cree DMatrices (la estructura XGBoost primitiva de los datos) y realice una validación cruzada mediante la clasificación binaria. XGBoost 

     ```
     import xgboost as xgb
     
     dmatrix = xgb.DMatrix(data=X, label=y)
     
     params = {"objective":"binary:logistic",'learning_rate': 0.1, 'max_depth': 5, 'alpha': 10}
     
     xgb.cv(
         dtrain=dmatrix, 
         params=params, 
         nfold=3,
         num_boost_round=50,
         early_stopping_rounds=10,
         metrics="rmse", 
         as_pandas=True, 
         seed=123)
     ```

#### Apagado de Data Wrangler
<a name="data-wrangler-getting-started-shut-down"></a>

Cuando termine de usar Data Wrangler, se recomienda apagar la instancia en la que se ejecuta para evitar incurrir en cargos adicionales. Para obtener información sobre cómo apagar la aplicación Data Wrangler y la instancia asociada, consulte [Apagado de Data Wrangler](data-wrangler-shut-down.md). 

# Importación
<a name="data-wrangler-import"></a>

Puede utilizar Amazon SageMaker Data Wrangler para importar datos de las siguientes *fuentes de datos*: Amazon Simple Storage Service (Amazon S3), Amazon Athena, Amazon Redshift y Snowflake. El conjunto de datos que importe puede incluir un máximo de 1000 columnas.

**Topics**
+ [Importación de datos de Amazon S3](#data-wrangler-import-s3)
+ [Importación de datos de Athena](#data-wrangler-import-athena)
+ [Importación de datos de Amazon Redshift](#data-wrangler-import-redshift)
+ [Importación de datos de Amazon EMR](#data-wrangler-emr)
+ [Importación de datos de Databricks (JDBC)](#data-wrangler-databricks)
+ [Importación de datos de Salesforce Data Cloud.](#data-wrangler-import-salesforce-data-cloud)
+ [Importación de datos de Snowflake](#data-wrangler-snowflake)
+ [Importación de datos de plataformas de software como servicio (SaaS)](#data-wrangler-import-saas)
+ [Almacenamiento de datos importados](#data-wrangler-import-storage)

Algunos orígenes de datos permiten agregar varias *conexiones de datos*:
+ Puede conectarse a varios clústeres de Amazon Redshift. Cada clúster se convierte en un origen de datos. 
+ Puede consultar cualquier base de datos de Athena de su cuenta para importar datos de esa base de datos.



Al importar un conjunto de datos de un origen de datos, aparece en el flujo de datos. Data Wrangler infiere automáticamente el tipo de datos de cada columna en su conjunto de datos. Para modificar estos tipos, seleccione el paso **Tipos de datos** y seleccione **Editar tipos de datos**.

Al importar datos de Athena o Amazon Redshift, los datos importados se almacenan automáticamente en el depósito de AI S3 SageMaker predeterminado de AWS la región en la que utilice Studio Classic. Además, Athena almacena los datos que previsualiza en Data Wrangler en este bucket. Para obtener más información, consulte [Almacenamiento de datos importados](#data-wrangler-import-storage).

**importante**  
Es posible que el bucket de Amazon S3 predeterminado no tenga la configuración de seguridad menos permisiva, como la política de bucket y el cifrado del servidor (SSE). Se recomienda encarecidamente [Agregar una política de bucket para restringir el acceso a los conjuntos de datos importados a Data Wrangler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-security.html#data-wrangler-security-bucket-policy). 

**importante**  
Además, si utiliza la política administrada para la SageMaker IA, le recomendamos encarecidamente que la limite a la política más restrictiva que le permita llevar a cabo su caso de uso. Para obtener más información, consulte [Conceder permiso a un rol de IAM para que utilice Data Wrangler](data-wrangler-security.md#data-wrangler-security-iam-policy).

Todas los orígenes de datos, excepto Amazon Simple Storage Service (Amazon S3), requieren que especifique una consulta SQL para importar los datos. Para cada consulta, debe especificar lo siguiente:
+ **Catálogo de datos**
+ **Base de datos**
+ **Tabla**

Puede especificar el nombre de la base de datos o del catálogo de datos en los menús desplegables o dentro de la consulta. A continuación, se muestran algunas consultas de ejemplo:
+ `select * from example-data-catalog-name.example-database-name.example-table-name`: la consulta no utiliza nada especificado en los menús desplegables de la interfaz de usuario (UI) para ejecutarse. Realiza consultas `example-table-name` dentro de `example-database-name` dentro de `example-data-catalog-name`.
+ `select * from example-database-name.example-table-name`: la consulta utiliza el catálogo de datos que especificó en el menú desplegable **Catálogo de datos** para ejecutarse. Realiza consultas `example-table-name` dentro de `example-database-name` dentro del catálogo de datos que haya especificado.
+ `select * from example-table-name`: la consulta requiere que seleccione campos para los menús desplegables **Catálogo de datos** y **Nombre de la base de datos**. Realiza consultas `example-table-name` dentro del catálogo de datos dentro de la base de datos y el catálogo de datos que haya especificado.

El enlace entre Data Wrangler y el origen de datos es una *conexión*. La conexión se utiliza para importar datos del origen de datos.

Existen los siguientes tipos de conexiones:
+ Directa
+ Catalogada

Data Wrangler siempre tiene acceso a los datos más recientes en una conexión directa. Si los datos del origen de datos se han actualizado, puede usar la conexión para importar los datos. Por ejemplo, si alguien agrega un archivo a uno de los buckets de Amazon S3, puede importar el archivo.

Una conexión catalogada es el resultado de una transferencia de datos. Los datos de la conexión catalogada no tienen necesariamente los datos más recientes. Por ejemplo, puede configurar una transferencia de datos entre Salesforce y Amazon S3. Si hay una actualización de los datos de Salesforce, debe volver a transferirlos. Puede automatizar el proceso de transferencia de datos. Para obtener más información sobre las transferencias de datos, consulte [Importación de datos de plataformas de software como servicio (SaaS)](#data-wrangler-import-saas).

## Importación de datos de Amazon S3
<a name="data-wrangler-import-s3"></a>

Puede usar Amazon Simple Storage Service (Amazon S3) para almacenar y recuperar cualquier cantidad de datos en cualquier momento y desde cualquier parte de la web. Puede realizar estas tareas mediante la Consola de administración de AWS, que es una interfaz web sencilla e intuitiva, y la API Amazon S3. Si ha almacenado su conjunto de datos de forma local, se recomienda agregarlo a un bucket de S3 para importarlo a Data Wrangler. Para obtener instrucciones, consulte [Cargar un objeto en el bucket](https://docs.aws.amazon.com/AmazonS3/latest/gsg/PuttingAnObjectInABucket.html) en la Guía del usuario de Amazon Simple Storage Service. 

Data Wrangler usa [S3 Select](https://aws.amazon.com/s3/features/#s3-select) para que pueda previsualizar sus archivos de Amazon S3 en Data Wrangler. Se incurre en cargos estándar por cada vista previa de archivos. Para obtener más información sobre los precios, consulte la pestaña **Solicitudes y recuperaciones de datos** en [Precios de Amazon S3](https://aws.amazon.com/s3/pricing/). 

**importante**  
Si planea exportar un flujo de datos y lanzar un trabajo de Data Wrangler, incorporar datos a un feature SageMaker store de IA o crear una canalización de SageMaker IA, tenga en cuenta que estas integraciones requieren que los datos de entrada de Amazon S3 estén ubicados en la misma región. AWS 

**importante**  
Si va a importar un archivo CSV, asegúrese de que cumpla los siguientes requisitos:  
Un registro de un conjunto de datos no puede tener más de una línea.
El único carácter de escape válido es una barra invertida, `\`.
El conjunto de datos debe utilizar uno de los siguientes delimitadores:  
Coma: `,`
Dos puntos: `:`
Punto y coma: `;`
Barra: `|`
Tabulador: `[TAB]`
Para ahorrar espacio, puede importar archivos CSV comprimidos.

Data Wrangler le permite importar todo el conjunto de datos o tomar una muestra de una parte del mismo. Para Amazon S3, proporciona las siguientes opciones de muestreo:
+ Ninguno: se importa todo el conjunto de datos.
+ Primeros K: toma una muestra de las primeras filas K del conjunto de datos, donde K es un número entero que especifique.
+ Aleatorio: toma una muestra aleatoria del tamaño que especifique.
+ Estratificado: toma una muestra aleatoria estratificada. Una muestra estratificada conserva la relación de valores de una columna.

Después de importar los datos, también puede usar el transformador de muestreo para tomar una o más muestras de todo el conjunto de datos. Para obtener más información sobre el transformador de muestreo, consulte [Muestreo](data-wrangler-transform.md#data-wrangler-transform-sampling).

Puede utilizar uno de los siguientes identificadores de recursos para importar los datos:
+ Un URI de Amazon S3 que utiliza un bucket de Amazon S3 o un punto de acceso de Amazon S3
+ Un alias de punto de acceso de Amazon S3
+ Un nombre de recurso de Amazon (ARN) que utiliza un bucket de Amazon S3 o un punto de acceso de Amazon S3

Los puntos de acceso de Amazon S3 son puntos de conexión de red con nombre que están asociados a los buckets. Cada punto de acceso tiene permisos y controles de red distintos. Para obtener más información acerca de los puntos de acceso, consulte [Administración del acceso a datos con puntos de acceso de Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-points.html).

**importante**  
Si utiliza un nombre de recurso de Amazon (ARN) para importar los datos, debe ser para un recurso ubicado en el mismo lugar Región de AWS que utiliza para acceder a Amazon SageMaker Studio Classic.

Puede importar un solo archivo o varios archivos como un conjunto de datos. Puede utilizar la operación de importación de varios archivos si tiene un conjunto de datos que está particionado en archivos independientes. Toma todos los archivos de un directorio de Amazon S3 y los importa como un único conjunto de datos. Para obtener información sobre los tipos de archivos que puede importar y cómo importarlos, consulte las siguientes secciones.

------
#### [ Single File Import ]

Puede importar archivos individuales en los siguientes formatos:
+ Valores separados por comas (CSV)
+ Parquet
+ Notación de objetos de JavaScript (JSON)
+ Optimized Row Columnar (ORC)
+ Imagen: Data Wrangler usa OpenCV para importar imágenes. Para obtener más información sobre los formatos de imagen compatibles, consulte [Image file reading and writing](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56).

Para los archivos formateados en JSON, Data Wrangler admite tanto JSON lines (.jsonl) como documentos JSON (.json). Al previsualizar los datos, se muestra automáticamente el JSON en formato tabular. En el caso de documentos JSON anidados de más de 5 MB, Data Wrangler muestra el esquema de la estructura y las matrices como valores en el conjunto de datos. Utilice los operadores **Consulta estructurada** y **Desglosar matriz** para mostrar los valores anidados en formato tabular. Para obtener más información, consulte [Datos JSON de Unnest](data-wrangler-transform.md#data-wrangler-transform-flatten-column) y [Desglosar matriz](data-wrangler-transform.md#data-wrangler-transform-explode-array).

Al elegir un conjunto de datos, puede cambiarle el nombre, especificar el tipo de archivo e identificar la primera fila como un encabezado.

Puede importar un conjunto de datos que haya particionado en varios archivos en un bucket de Amazon S3 en un solo paso de importación.

**Para importar un conjunto de datos a Data Wrangler desde un único archivo que haya almacenado en Amazon S3:**

1. Si no se encuentra actualmente en la pestaña **Importar**, elija **Importar**.

1. En **Disponible**, seleccione **Amazon S3**.

1. En la sección **Importar datos tabulares, de imágenes o de series temporales de S3**, realice una de las siguientes acciones:
   + Elija un bucket de Amazon S3 de la vista tabular y vaya al archivo que va a importar.
   + En **Origen de S3**, especifique un bucket de Amazon S3 o un URI de Amazon S3 y seleccione **Ir**. El Amazon S3 URIs puede tener uno de los siguientes formatos:
     + `s3://amzn-s3-demo-bucket/example-prefix/example-file`
     + *example-access-point*- *aqfqprnstn7aefdfbarligizwgyfouse1a* -s3alias/datasets/ *example-file*
     + `s3://arn:aws:s3:AWS-Region:111122223333:accesspoint/example-prefix/example-file`

1. Elija el conjunto de datos para abrir el panel **Configuración de importación**.

1. Si el archivo CSV tiene un encabezado, seleccione la casilla de verificación situada junto a **Agregar encabezado a la tabla**.

1. Usa la tabla **Vista previa** para obtener una vista previa del conjunto de datos. En esta tabla se muestran un máximo de 100 filas. 

1. En el panel **Detalles**, compruebe o cambie el **Nombre** y el **Tipo de archivo** del conjunto de datos. Si agrega un **Nombre** que contenga espacios, estos espacios se sustituirán por guiones bajos al importar el conjunto de datos. 

1. Especifique la configuración de muestreo que desee utilizar. 

1. Seleccione **Importar**.

------
#### [ Multifile Import ]

Los requisitos para importar varios archivos son los siguientes:
+ Los archivos deben estar en la misma carpeta que el bucket de Amazon S3.
+ Los archivos deben compartir el mismo encabezado o no tenerlo.

El ARN debe estar en uno de los siguientes formatos:
+ CSV
+ Parquet
+ Optimized Row Columnar (ORC)
+ Imagen: Data Wrangler usa OpenCV para importar imágenes. Para obtener más información sobre los formatos de imagen compatibles, consulte [Image file reading and writing](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56).

Utilice el siguiente procedimiento para importar varios archivos.

**Para importar un conjunto de datos a Data Wrangler desde varios archivos que haya almacenado en un directorio de Amazon S3**

1. Si no se encuentra actualmente en la pestaña **Importar**, elija **Importar**.

1. En **Disponible**, seleccione **Amazon S3**.

1. En la sección **Importar datos tabulares, de imágenes o de series temporales de S3**, realice una de las siguientes acciones:
   + Elija un bucket de Amazon S3 de la vista tabular y vaya a la carpeta que contiene los archivos que va a importar.
   + En **Origen de S3**, especifique el bucket de Amazon S3 o un URI de Amazon S3 con sus archivos y seleccione **Ir**. Son válidos los siguientes datos: URIs
     + `s3://amzn-s3-demo-bucket/example-prefix/example-prefix`
     + `example-access-point-aqfqprnstn7aefdfbarligizwgyfouse1a-s3alias/example-prefix/`
     + `s3://arn:aws:s3:AWS-Region:111122223333:accesspoint/example-prefix`

1. Seleccione la carpeta que contiene los archivos que desea importar. Cada archivo debe estar en uno de los siguientes formatos: Los archivos deben ser del mismo tipo de datos.

1. Si la carpeta contiene archivos CSV con encabezados, seleccione la casilla situada junto a la **Primera fila es el encabezado**.

1. Si los archivos están anidados en otras carpetas, seleccione la casilla de verificación situada junto a **Incluir directorios anidados**.

1. De forma opcional, puede seleccionar la columna **Agregar columna de nombre de archivo** y agregue una columna al conjunto de datos que muestre el nombre de archivo de cada observación.

1. (Opcional) De forma predeterminada, Data Wrangler no muestra una vista previa de una carpeta. Para activar la vista previa, pulse el botón azul de **Desactivación de vista previa**. Una vista previa muestra las 10 primeras filas de los 10 primeros archivos de la carpeta.

1. En el panel **Detalles**, compruebe o cambie el **Nombre** y el **Tipo de archivo** del conjunto de datos. Si agrega un **Nombre** que contenga espacios, estos espacios se sustituirán por guiones bajos al importar el conjunto de datos. 

1. Especifique la configuración de muestreo que desee utilizar. 

1. Elija **Importar conjunto de datos**.

------

También puede usar parámetros para importar un subconjunto de archivos que se correspondan con un patrón. Los parámetros le ayudan a seleccionar de forma más selectiva los archivos que va a importar. Para empezar a utilizar los parámetros, edite el origen de datos y aplíquelos a la ruta que va a utilizar para importar los datos. Para obtener más información, consulte [Reutilización de flujos de datos para diferentes conjuntos de datos](data-wrangler-parameterize.md).

## Importación de datos de Athena
<a name="data-wrangler-import-athena"></a>

Utilice Amazon Athena para importar los datos de Amazon Simple Storage Service (Amazon S3) a Data Wrangler. En Athena, escribe consultas SQL estándar para seleccionar los datos que va a importar de Amazon S3. Para obtener más información, consulte [¿Qué es Amazon Athena?](https://docs.aws.amazon.com/athena/latest/ug/what-is.html)

Puede utilizarla Consola de administración de AWS para configurar Amazon Athena. Debe crear al menos una base de datos en Athena antes de comenzar a ejecutar consultas. Para obtener más información sobre cómo empezar a utilizar Athena, consulte [Introducción](https://docs.aws.amazon.com/athena/latest/ug/getting-started.html).

Athena se integra directamente con Data Wrangler. Puede escribir consultas de Athena sin tener que salir de la interfaz de usuario de Data Wrangler.

Además de escribir consultas sencillas de Athena en Data Wrangler, también puede usar:
+ Grupos de trabajo de Athena para la administración de los resultados de las consultas. Para obtener información acerca de los grupos de trabajo, consulte [Administración de resultados de las consultas](#data-wrangler-import-manage-results).
+ Configuraciones del ciclo de vida para establecer los períodos de retención de datos. Para obtener más información acerca de la retención de datos, consulte [Configuración de periodo de retención de datos](#data-wrangler-import-athena-retention).

### Consulta a Athena en Data Wrangler
<a name="data-wrangler-import-athena-query"></a>

**nota**  
Data Wrangler no admite consultas federadas.

Si lo usa AWS Lake Formation con Athena, asegúrese de que sus permisos de IAM de Lake Formation no anulen los permisos de IAM para la base de datos. `sagemaker_data_wrangler`

Data Wrangler le permite importar todo el conjunto de datos o tomar una muestra de una parte del mismo. Para Athena, proporciona las siguientes opciones de muestreo:
+ Ninguno: se importa todo el conjunto de datos.
+ Primeros K: toma una muestra de las primeras filas K del conjunto de datos, donde K es un número entero que especifique.
+ Aleatorio: toma una muestra aleatoria del tamaño que especifique.
+ Estratificado: toma una muestra aleatoria estratificada. Una muestra estratificada conserva la relación de valores de una columna.

En el procedimiento siguiente, se muestra cómo importar un conjunto de datos de Athena a Data Wrangler.

**Para importar un conjunto de datos a Data Wrangler desde Athena**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Amazon Athena**.

1. En **Catálogo de datos**, elija un catálogo de datos.

1. Utilice la lista desplegable **Base de datos** para seleccionar la base de datos que desea consultar. Al seleccionar una base de datos, puede obtener una vista previa de todas las tablas de la base de datos mediante las **Tablas** que aparecen en **Detalles**.

1. De forma opcional, elija **Configuración avanzada**.

   1. Elija un **Grupo de trabajo**.

   1. Si su grupo de trabajo no ha impuesto la ubicación de salida de Amazon S3 o si no utiliza un grupo de trabajo, especifique un valor para la **Ubicación de Amazon S3 de los resultados de la consulta**.

   1. De forma opcional, para **Período de retención de datos**, seleccione la casilla de verificación para establecer un período de retención de datos y especifique el número de días que se almacenarán los datos antes de que se eliminen.

   1. (Opcional) De forma predeterminada, Data Wrangler guarda la conexión. Puede optar por quitar la marca de selección de la casilla de verificación y no guardar la conexión.

1. En **muestreo**, elija un método de muestreo. Elija **Ninguno** para desactivar el muestreo.

1. Ingrese la consulta en el editor de consultas y utilice el botón **Ejecutar** para ejecutar la consulta. Una vez que la consulta se haya realizado correctamente, puede obtener una vista previa del resultado en el editor.
**nota**  
Los datos de Salesforce utilizan el tipo `timestamptz`. Si va a consultar la columna de fecha y hora que ha importado a Athena desde Salesforce, asigne los datos de la columna al tipo `timestamp`. La siguiente consulta convierte la columna de fecha y hora en el tipo correcto.  

   ```
   # cast column timestamptz_col as timestamp type, and name it as timestamp_col
   select cast(timestamptz_col as timestamp) as timestamp_col from table
   ```

1. Para importar los resultados de la consulta, seleccione **Importar**.

Tras completar el procedimiento anterior, el conjunto de datos que ha consultado e importado aparece en el flujo de Data Wrangler.

De forma predeterminada, Data Wrangler guarda la configuración de conexión como una conexión nueva. Al importar los datos, la consulta que ya especificó aparece como una conexión nueva. Las conexiones guardadas almacenan información sobre los grupos de trabajo de Athena y los buckets de Amazon S3 que utiliza. Cuando vuelva a conectarse al origen de datos, podrá elegir la conexión guardada.

### Administración de resultados de las consultas
<a name="data-wrangler-import-manage-results"></a>

Data Wrangler admite el uso de grupos de trabajo de Athena para administrar los resultados de las consultas dentro de una cuenta de AWS . Puede especificar una ubicación de salida de Amazon S3 para cada grupo de trabajo. También puede especificar si el resultado de la consulta puede ir a diferentes ubicaciones de Amazon S3. Para obtener más información, consulte [Uso de grupos de trabajo para controlar el acceso a las consultas y los costos](https://docs.aws.amazon.com/athena/latest/ug/manage-queries-control-costs-with-workgroups.html).

Es posible que el grupo de trabajo esté configurado para aplicar la ubicación de salida de la consulta de Amazon S3. No puede cambiar la ubicación de salida de los resultados de la consulta para esos grupos de trabajo.

Si no utilizas un grupo de trabajo ni especificas una ubicación de salida para tus consultas, Data Wrangler utiliza el bucket predeterminado de Amazon S3 en la misma AWS región en la que se encuentra tu instancia de Studio Classic para almacenar los resultados de las consultas de Athena. Crea tablas temporales en esta base de datos para mover el resultado de la consulta a este bucket de Amazon S3. Elimina estas tablas después de importar los datos; sin embargo, la base de datos, `sagemaker_data_wrangler`, persiste. Para obtener más información, consulte [Almacenamiento de datos importados](#data-wrangler-import-storage).

Para usar los grupos de trabajo de Athena, configure la política de IAM que da acceso a los grupos de trabajo. Si utiliza un `SageMaker AI-Execution-Role`, se recomienda agregar la política al rol. Para obtener más información sobre las políticas de IAM para los grupos de trabajo, consulte [Políticas de IAM para acceder a los grupos de trabajo](https://docs.aws.amazon.com/athena/latest/ug/workgroups-iam-policy.html). Para ver ejemplos de políticas de grupos de trabajo, consulte [Ejemplos de políticas de grupos de trabajo](https://docs.aws.amazon.com/athena/latest/ug/example-policies-workgroup.html).

### Configuración de periodo de retención de datos
<a name="data-wrangler-import-athena-retention"></a>

Data Wrangler establece automáticamente un período de retención de datos para los resultados de la consulta. Los resultados se eliminan una vez transcurrido el período de retención. Por ejemplo, el período de retención predeterminado es de cinco días. Los resultados de la consulta se eliminan al cabo de cinco días. Esta configuración está diseñada para ayudarle a limpiar los datos que ya no utiliza. La limpieza de los datos evita que usuarios no autorizados accedan a ellos. También ayuda a controlar los costos de almacenamiento de los datos en Amazon S3.

Si no establece un período de retención, la configuración del ciclo de vida de Amazon S3 determina el tiempo durante el que se almacenan los objetos. La política de retención de datos que especificó para la configuración del ciclo de vida elimina los resultados de las consultas que sean anteriores a la configuración del ciclo de vida que especificó. Para obtener más información, consulte [Configurar el ciclo de vida de un bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html).

Data Wrangler utiliza las configuraciones del ciclo de vida de Amazon S3 para administrar la retención y el vencimiento de los datos. Debe conceder a su función de ejecución de IAM de Amazon SageMaker Studio Classic los permisos para gestionar las configuraciones del ciclo de vida de los buckets. Utilice el siguiente procedimiento para conceder permisos.

Para conceder permisos para administrar la configuración del ciclo de vida, haga lo siguiente.

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Elija **Roles**.

1. En la barra de búsqueda, especifique la función de ejecución de Amazon SageMaker AI que utiliza Amazon SageMaker Studio Classic.

1. Elija el rol .

1. Elija **Añadir permisos**.

1. Elija **Crear política insertada**.

1. En **Servicio**, especifique **S3** y elíjalo.

1. En la sección **Leer**, selecciona **GetLifecycleConfiguration**.

1. En la sección **Escribir**, selecciona **PutLifecycleConfiguration**.

1. En **Recursos**, elija **Específico**.

1. En **Acciones**, seleccione el icono de flecha situado junto a **Administración de permisos**.

1. Elija **PutResourcePolicy**.

1. En **Recursos**, elija **Específico**.

1. Elija la casilla de verificación situada junto a **Cualquiera de esta cuenta**.

1. Elija **Revisar política**.

1. En **Nombre**, especifique un nombre.

1. Elija **Crear política**.

## Importación de datos de Amazon Redshift
<a name="data-wrangler-import-redshift"></a>

Amazon Redshift es un servicio de almacenamiento de datos administrado a escala de petabytes en la nube . El primer paso para crear un almacenamiento de datos es el lanzamiento de un conjunto de nodos, llamado un clúster de Amazon Redshift. Después de aprovisionar el clúster, puede cargar su conjunto de datos y, luego, realizar consultas de análisis de datos. 

Puede conectarse a uno o más clústeres de Amazon Redshift y consultarlos en Data Wrangler. Para utilizar esta opción de importación, debe crear al menos un clúster en Amazon Redshift. Para obtener información sobre cómo hacerlo, consulte [Introducción a Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/gsg/getting-started.html).

Puede enviar los resultados de la consulta de Amazon Redshift a una de las siguientes ubicaciones:
+ El bucket de Amazon S3 predeterminado
+ Una ubicación de salida de Amazon S3 que especifique

Puede importar todo el conjunto de datos o tomar una muestra de una parte del mismo. Para Amazon Redshift, proporciona las siguientes opciones de muestreo:
+ Ninguno: se importa todo el conjunto de datos.
+ Primeros K: toma una muestra de las primeras filas K del conjunto de datos, donde K es un número entero que especifique.
+ Aleatorio: toma una muestra aleatoria del tamaño que especifique.
+ Estratificado: toma una muestra aleatoria estratificada. Una muestra estratificada conserva la relación de valores de una columna.

El bucket de Amazon S3 predeterminado se encuentra en la misma AWS región en la que se encuentra la instancia de Studio Classic para almacenar los resultados de las consultas de Amazon Redshift. Para obtener más información, consulte [Almacenamiento de datos importados](#data-wrangler-import-storage).

Para el bucket de Amazon S3 predeterminado o para el bucket que especifique, dispone de las siguientes opciones de cifrado:
+ El cifrado predeterminado del AWS lado del servicio con una clave gestionada de Amazon S3 (SSE-S3)
+  Una clave AWS Key Management Service (AWS KMS) que especifique

Una AWS KMS clave es una clave de cifrado que usted crea y administra. Para obtener más información sobre claves de KMS, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).

Puede especificar una AWS KMS clave mediante la clave ARN o el ARN de su cuenta. AWS 

Si utiliza la política administrada de IAM, `AmazonSageMakerFullAccess`, para conceder a un rol permiso para que utilice Data Wrangler en Studio Classic, el nombre de **Usuario de la base de datos** debe tener el prefijo `sagemaker_access`.

Utilice los siguientes procedimientos para obtener información sobre cómo agregar un nuevo clúster. 

**nota**  
Data Wrangler utiliza la API de datos de Amazon Redshift con credenciales temporales. Para obtener más información sobre esta API, consulte [Uso de la API de datos de Amazon Redshift](https://docs.aws.amazon.com//redshift/latest/mgmt/data-api.html) en la Guía de administración de Amazon Redshift. 

**Para conectarse a un clúster de Amazon Redshift**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Amazon Athena**.

1. Elija **Amazon Redshift**.

1. Elija **Credenciales temporales (IAM)** como **Tipo**.

1. Especifique un **Nombre de la conexión**. Data Wrangler utiliza este nombre para identificar esta conexión. 

1. Ingrese el **Identificador del clúster** para especificar a qué clúster desea conectarse. Nota: Ingrese solo el identificador del clúster y no el punto de conexión completo del clúster de Amazon Redshift.

1. Especifique el **Nombre de la base de datos** a la que desea conectarse.

1. Ingrese un **Usuario de la base de datos** para identificar el usuario que desea utilizar para conectarse a la base de datos. 

1. En **Rol de IAM UNLOAD**, ingrese el ARN del rol de IAM del rol que debe asumir el clúster de Amazon Redshift para mover y escribir datos en Amazon S3. Para obtener más información sobre esta función, consulte [Autorizar a Amazon Redshift a acceder a AWS otros servicios en su nombre en la Guía](https://docs.aws.amazon.com/redshift/latest/mgmt/authorizing-redshift-service.html) de administración de Amazon Redshift. 

1. Elija **Conectar**.

1. De forma opcional, en **Ubicación de salida de Amazon S3**, especifique el URI de S3 en el que almacenar los resultados de la consulta.

1. De forma opcional, en **ID de clave de KMS**, especifique el ARN de la clave de AWS KMS o el alias. La siguiente imagen muestra dónde se encuentra cada clave en la Consola de administración de AWS.  
![\[La ubicación del AWS KMS alias ARN, el nombre del alias y la clave ARN en la consola. AWS KMS\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/kms-alias-redacted.png)

La imagen siguiente muestra todos los campos del procedimiento anterior.

![\[El panel Añadir conexión de Amazon Redshift.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/redshift-connection.png)


Cuando la conexión se haya establecido correctamente, aparecerá como origen de datos en la sección **Importación de datos**. Seleccione este origen de datos para consultar la base de datos e importar datos.

**Para consultar e importar datos de Amazon Redshift**

1. Seleccione la conexión que desee consultar de **Orígenes de datos**.

1. Seleccione un **Esquema**. Para obtener más información acerca de los esquemas de Amazon Redshift, consulte [Esquemas](https://docs.aws.amazon.com/redshift/latest/dg/r_Schemas_and_tables.html) en la Guía para desarrolladores de bases de datos de Amazon Redshift.

1. De forma opcional, en **Configuración avanzada**, especifique el método de **Muestreo** que desee utilizar.

1. Ingrese la consulta en el editor de consultas y elija **Ejecutar** para ejecutar la consulta. Una vez que la consulta se haya realizado correctamente, puede obtener una vista previa del resultado en el editor.

1. Seleccione **Importar conjunto de datos** para importar el conjunto de datos que se ha consultado. 

1. Introduzca un **Nombre del conjunto de datos**. Si agrega un **Nombre del conjunto de datos** que contenga espacios, estos espacios se sustituirán por guiones bajos al importar el conjunto de datos. 

1. Elija **Añadir**.

Para editar un conjunto de datos, haga lo siguiente.

1. Vaya a su flujo de Data Wrangler.

1. Elija el signo \$1 situado junto a **Origen: muestreado**.

1. Cambie los datos que está importando.

1. Seleccione **Apply (Aplicar)**

## Importación de datos de Amazon EMR
<a name="data-wrangler-emr"></a>

Puede utilizar Amazon EMR como fuente de datos para su flujo de Amazon SageMaker Data Wrangler. Amazon EMR es una plataforma de clúster administrada que puede utilizar para procesar y analizar grandes cantidades de datos. Para obtener más información sobre Amazon EMR, consulte [¿Qué es Amazon EMR?](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html) Para importar un conjunto de datos de EMR, debe conectarse a él y consultarlo. 

**importante**  
Debe cumplir los siguientes requisitos previos para conectarse a un clúster de Amazon EMR:  
Tiene una Amazon VPC en la región que utiliza para lanzar Amazon SageMaker Studio Classic y Amazon EMR.
Tanto Amazon EMR como Amazon SageMaker Studio Classic deben lanzarse en subredes privadas. Pueden estar en la misma subred o en subredes diferentes.
Amazon SageMaker Studio Classic debe estar en modo solo VPC.  
Para obtener información acerca de la creación de una VPC, consulte [Creación de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/working-with-vpcs.html#Create-VPC).  
Para obtener más información sobre la creación de una VPC, consulte [Connect SageMaker Studio Classic Notebooks de una VPC](https://docs.aws.amazon.com/vpc/latest/userguide/studio-notebooks-and-internet-access.html) con recursos externos.
Los clústeres de Amazon EMR que ejecuta deben estar en la misma Amazon VPC.
Los clústeres de Amazon EMR y la VPC de Amazon deben estar en la misma cuenta. AWS 
Sus clústeres de Amazon EMR se ejecutan en Hive o Presto.  
Los clústeres de Hive deben permitir el tráfico entrante de los grupos de seguridad de Studio Classic en el puerto 10000.
Los clústeres de Presto deben permitir el tráfico entrante de los grupos de seguridad de Studio Classic en el puerto 8889.  
El número de puerto es diferente para los clústeres de Amazon EMR que utilizan roles de IAM. Vaya al final de la sección de requisitos previos para obtener más información.
Amazon SageMaker Studio Classic debe ejecutar la versión 3 de Jupyter Lab. Para obtener información sobre la actualización de la versión de Jupyter Lab, consulte [Vea y actualice la JupyterLab versión de una aplicación desde la consola](studio-jl.md#studio-jl-view).
Amazon SageMaker Studio Classic tiene una función de IAM que controla el acceso de los usuarios. La función de IAM predeterminada que utiliza para ejecutar Amazon SageMaker Studio Classic no tiene políticas que le permitan acceder a los clústeres de Amazon EMR. Debe asociar la política que otorga permisos al rol de IAM. Para obtener más información, consulte [Configuración de la lista de clústeres de Amazon EMR](studio-notebooks-configure-discoverability-emr-cluster.md).
El rol de IAM también debe tener la siguiente política asociada: `secretsmanager:PutResourcePolicy`.
Si utiliza un dominio de Studio Classic que ya haya creado, asegúrese de que `AppNetworkAccessType` esté en modo solo VPC. Para obtener información sobre cómo actualizar un dominio para que utilice el modo solo VPC, consulte [Cierre y actualice Amazon SageMaker Studio Classic](studio-tasks-update-studio.md).
Debe tener Hive o Presto instalados en el clúster.
La versión de Amazon EMR debe ser 5.5.0 o posterior.  
Amazon EMR admite la terminación automática. La terminación automática impide que los clústeres inactivos se ejecuten y evita que usted incurra en costos. Las siguientes versiones admiten la terminación automática:  
Para las versiones 6.x, versión 6.1.0 o posterior.
Para las versiones 5.x, versión 5.30.0 o posterior.
Utilice las siguientes páginas para configurar los roles de tiempo de ejecución de IAM para el clúster de Amazon EMR. Cuando utilice roles de tiempo de ejecución, debe habilitar el cifrado en tránsito:  
[Requisitos previos para lanzar un clúster de Amazon EMR con un rol de tiempo de ejecución](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html#emr-steps-runtime-roles-configure)
[Lanzamiento de un clúster de Amazon EMR con un control de acceso basado en roles](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-steps-runtime-roles.html#emr-steps-runtime-roles-launch)
Debe usar Lake Formation como herramienta de gobernanza para los datos de sus bases de datos. También debe utilizar un filtrado de datos externo para el control de acceso.  
Para obtener más información sobre Lake Formation, consulte [¿Qué es AWS Lake Formation?](https://docs.aws.amazon.com/lake-formation/latest/dg/what-is-lake-formation.html)
Para obtener más información sobre la integración de Lake Formation en Amazon EMR, consulte [Integrating third-party services with Lake Formation](https://docs.aws.amazon.com/lake-formation/latest/dg/Integrating-with-LakeFormation.html).
La versión del clúster debe ser 6.9.0 o posterior.
Acceso a AWS Secrets Manager. Para obtener más información sobre Secrets Manager, consulte [¿Qué es AWS Secrets Manager Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)
Los clústeres de Hive deben permitir el tráfico entrante de los grupos de seguridad de Studio Classic en el puerto 10000.

Una Amazon VPC es una red virtual aislada de forma lógica de otras redes de la nube. AWS Amazon SageMaker Studio Classic y su clúster de Amazon EMR solo existen en la VPC de Amazon.

Utilice el siguiente procedimiento para lanzar Amazon SageMaker Studio Classic en una Amazon VPC.

Para inicializar Studio Classic en una VPC, haga lo siguiente.

1. Diríjase a la consola de SageMaker IA en [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/).

1. Elige **Launch SageMaker Studio Classic**.

1. Elija **Configuración estándar**.

1. En **Rol de ejecución predeterminado**, elija el rol de IAM para configurar Studio Classic.

1. Elija la VPC en la que lanzó los clústeres de Amazon EMR.

1. En **Subred**, elija una subred privada.

1. En **Grupo(s) de seguridad**, especifique los grupos de seguridad que utilizar para el control entre las VPC.

1. Elija **Solo VPC**.

1. (Opcional) AWS utiliza una clave de cifrado predeterminada. También puede especificar una clave de AWS Key Management Service para cifrar los datos.

1. Elija **Siguiente**.

1. En **Configuración de Studio**, elija las configuraciones que mejor se adapten a su caso.

1. Elija **Siguiente** para omitir la configuración de SageMaker Canvas.

1. Elija **Siguiente** para omitir los RStudio ajustes.

Si no tiene un clúster de Amazon EMR listo, puede utilizar el siguiente procedimiento para crear uno. Para obtener más información sobre Amazon EMR, consulte [¿Qué es Amazon EMR?](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-what-is-emr.html)

Para crear un clúster, haga lo siguiente.

1. Vaya a Consola de administración de AWS.

1. En la barra de búsqueda, especifique **Amazon EMR**.

1. Elija **Create cluster**.

1. En **Nombre del clúster**, ingrese el nombre del clúster.

1. En **Versión**, seleccione la versión de lanzamiento del clúster.
**nota**  
Amazon EMR admite la terminación automática en las siguientes versiones:  
Para las versiones 6.x, versión 6.1.0 o posterior
Para las versiones 5.x, versión 5.30.0 o posterior
La terminación automática impide que los clústeres inactivos se ejecuten y evita que usted incurra en costos.

1. De forma opcional, en **Aplicaciones**, elija **Presto**.

1. Elija la aplicación que está ejecutando en el clúster.

1. En **Redes**, para **Configuración de hardware**, especifique las opciones de configuración del hardware.
**importante**  
Para **redes**, elija la VPC que ejecuta Amazon SageMaker Studio Classic y elija una subred privada.

1. En **Seguridad y acceso**, especifique la configuración de seguridad.

1. Seleccione **Crear**.

Para ver un tutorial sobre cómo crear un clúster de Amazon EMR, consulte [Introducción a Amazon EMR](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-gs.html). Para obtener información sobre las prácticas recomendadas para configurar un clúster, consulte [Consideraciones y prácticas recomendadas](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-ha-considerations.html).

**nota**  
Como prácticas recomendadas de seguridad, Data Wrangler solo puede conectarse a VPCs subredes privadas. No puede conectarse al nodo principal a menos que lo utilice AWS Systems Manager para sus instancias de Amazon EMR. Para obtener más información, consulte [Securing access to EMR clusters using AWS Systems Manager](https://aws.amazon.com/blogs/big-data/securing-access-to-emr-clusters-using-aws-systems-manager/).

Actualmente, puede utilizar los siguientes métodos para acceder a un clúster de Amazon EMR:
+ Sin autenticación
+ Protocolo ligero de acceso a directorios (LDAP)
+ IAM (rol de tiempo de ejecución)

Si no se utiliza la autenticación o si se usa un LDAP puede que sea necesario crear varios clústeres y perfiles de instancias de Amazon EC2. Si es un administrador, es posible que deba proporcionar a grupos de usuarios diferentes niveles de acceso a los datos. Estos métodos pueden generar una sobrecarga administrativa que dificulte la administración de los usuarios.

Se recomienda utilizar un rol de tiempo de ejecución de IAM que permita a varios usuarios conectarse al mismo clúster de Amazon EMR. Un rol de tiempo de ejecución es un rol de IAM que puede asignar a un usuario que se está conectando a un clúster de Amazon EMR. Puede configurar el rol de IAM en tiempo de ejecución para que tenga permisos concretos para cada grupo de usuarios.

Utilice las siguientes secciones para crear un clúster de Amazon EMR de Presto o Hive con el LDAP activado.

------
#### [ Presto ]

**importante**  
Para usarlo AWS Glue como metaalmacén para tablas de Presto, seleccione **Usar** **metadatos de tablas de Presto** para almacenar los resultados de sus consultas de Amazon EMR en un catálogo de AWS Glue datos cuando lance un clúster de EMR. Almacenar los resultados de las consultas en un catálogo AWS Glue de datos puede ahorrarle gastos.  
Para consultar conjuntos de datos de gran tamaño en clústeres de Amazon EMR, debe agregar las siguientes propiedades al archivo de configuración de Presto en los clústeres de Amazon EMR:  

```
[{"classification":"presto-config","properties":{
"http-server.max-request-header-size":"5MB",
"http-server.max-response-header-size":"5MB"}}]
```
También puede modificar las opciones de configuración al lanzar el clúster de Amazon EMR.  
El archivo de configuración del clúster de Amazon EMR se encuentra en la siguiente ruta: `/etc/presto/conf/config.properties`.

Utilice el siguiente procedimiento para crear un clúster de Presto con el LDAP activado.

Para crear un clúster, haga lo siguiente.

1. Vaya a Consola de administración de AWS.

1. En la barra de búsqueda, especifique **Amazon EMR**.

1. Elija **Create cluster**.

1. En **Nombre del clúster**, ingrese el nombre del clúster.

1. En **Versión**, seleccione la versión de lanzamiento del clúster.
**nota**  
Amazon EMR admite la terminación automática en las siguientes versiones:  
Para las versiones 6.x, versión 6.1.0 o posterior
Para las versiones 5.x, versión 5.30.0 o posterior
La terminación automática impide que los clústeres inactivos se ejecuten y evita que usted incurra en costos.

1. Elija la aplicación que está ejecutando en el clúster.

1. En **Redes**, para **Configuración de hardware**, especifique las opciones de configuración del hardware.
**importante**  
Para **redes**, elija la VPC que ejecuta Amazon SageMaker Studio Classic y elija una subred privada.

1. En **Seguridad y acceso**, especifique la configuración de seguridad.

1. Seleccione **Crear**.

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

**importante**  
Para usarlo AWS Glue como metaalmacén para las tablas de Hive, seleccione **Usar** para **metadatos de tablas de Hive** para almacenar los resultados de sus consultas de Amazon EMR en un catálogo de AWS Glue datos cuando lance un clúster de EMR. Almacenar los resultados de las consultas en un catálogo AWS Glue de datos puede ahorrarle gastos.  
Para poder consultar conjuntos de datos de gran tamaño en clústeres de Amazon EMR, agregue las siguientes propiedades al archivo de configuración de Hive en los clústeres de Amazon EMR:  

```
[{"classification":"hive-site", "properties"
:{"hive.resultset.use.unique.column.names":"false"}}]
```
También puede modificar las opciones de configuración al lanzar el clúster de Amazon EMR.  
El archivo de configuración del clúster de Amazon EMR se encuentra en la siguiente ruta: `/etc/hive/conf/hive-site.xml`. Puede especificar la siguiente propiedad y reiniciar el clúster:  

```
<property>
    <name>hive.resultset.use.unique.column.names</name>
    <value>false</value>
</property>
```

Utilice el siguiente procedimiento para crear un clúster de Hive con el LDAP activado.

Para crear un clúster de Hive con el LDAP activado, haga lo siguiente.

1. Vaya a Consola de administración de AWS.

1. En la barra de búsqueda, especifique **Amazon EMR**.

1. Elija **Create cluster**.

1. Elija **Go to advanced options (Ir a las opciones avanzadas)**.

1. En **Versión**, seleccione una versión de lanzamiento de Amazon EMR.

1. La opción de configuración **Hive** está seleccionada de forma predeterminada. Asegúrese de que la opción **Hive** tenga una casilla de verificación a su lado.

1. De forma opcional, también puede seleccionar **Presto** como opción de configuración para activar Hive y Presto en el clúster.

1. (Opcional) Seleccione **Usar para los metadatos de la tabla Hive** para almacenar los resultados de las consultas de Amazon EMR en AWS Glue un catálogo de datos. Almacenar los resultados de las consultas en un AWS Glue catálogo puede ahorrarle gastos. Para obtener más información, consulte [Uso del catálogo AWS Glue de datos como metaalmacén de](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-hive-metastore-glue.html) Hive.
**nota**  
El almacenamiento de los resultados de la consulta en un catálogo de datos requiere la versión 5.8.0 o posterior de Amazon EMR.

1. En **Ingresar la configuración**, especifique el siguiente JSON:

   ```
   [
     {
       "classification": "hive-site",
       "properties": {
         "hive.server2.authentication.ldap.baseDN": "dc=example,dc=org",
         "hive.server2.authentication": "LDAP",
         "hive.server2.authentication.ldap.url": "ldap://ldap-server-dns-name:389"
       }
     }
   ]
   ```
**nota**  
Como práctica recomendada de seguridad, se recomienda habilitar el SSL HiveServer añadiendo algunas propiedades en el JSON anterior del sitio colmenar. Para obtener más información, consulte [Habilitar SSL en HiveServer 2](https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.0.1/configuring-wire-encryption/content/enable_ssl_on_hiveserver2.html).

1. Especifique el resto de la configuración del clúster y cree un clúster.

------

Utilice las siguientes secciones para utilizar la autenticación LDAP para los clústeres de Amazon EMR que ya haya creado.

------
#### [ LDAP for Presto ]

El uso de LDAP en un clúster que ejecute Presto requiere acceso al coordinador de Presto a través de HTTPS. Para otorgar acceso, haga lo siguiente:
+ Active el acceso en el puerto 636
+ Habilite el SSL para el coordinador de Presto

Utilice la siguiente plantilla para configurar Presto:

```
- Classification: presto-config
     ConfigurationProperties:
        http-server.authentication.type: 'PASSWORD'
        http-server.https.enabled: 'true'
        http-server.https.port: '8889'
        http-server.http.port: '8899'
        node-scheduler.include-coordinator: 'true'
        http-server.https.keystore.path: '/path/to/keystore/path/for/presto'
        http-server.https.keystore.key: 'keystore-key-password'
        discovery.uri: 'http://master-node-dns-name:8899'
- Classification: presto-password-authenticator
     ConfigurationProperties:
        password-authenticator.name: 'ldap'
        ldap.url: !Sub 'ldaps://ldap-server-dns-name:636'
        ldap.user-bind-pattern: "uid=${USER},dc=example,dc=org"
        internal-communication.authentication.ldap.user: "ldap-user-name"
        internal-communication.authentication.ldap.password: "ldap-password"
```

Para obtener más información sobre cómo configurar LDAP en Presto, consulte los siguientes recursos:
+ [LDAP Authentication](https://prestodb.io/docs/current/security/ldap.html)
+ [Uso de la autenticación LDAP para Presto en Amazon EMR](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto-ldap.html)

**nota**  
Como práctica recomendada de seguridad, se recomienda habilitar SSL para Presto. Para obtener más información, consulte [Secure Internal Communication](https://prestodb.io/docs/current/security/internal-communication.html).

------
#### [ LDAP for Hive ]

Para usar LDAP para Hive en un clúster que haya creado, siga el siguiente procedimiento para [Volver a configurar un grupo de instancias en la consola](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-configure-apps-running-cluster.html#emr-configure-apps-running-cluster-considerations).

Va a especificar el nombre del clúster al que se está conectando.

```
[
  {
    "classification": "hive-site",
    "properties": {
      "hive.server2.authentication.ldap.baseDN": "dc=example,dc=org",
      "hive.server2.authentication": "LDAP",
      "hive.server2.authentication.ldap.url": "ldap://ldap-server-dns-name:389"
    }
  }
]
```

------

Utilice el siguiente procedimiento para importar datos de un clúster.

Para importar datos de un clúster, haga lo siguiente.

1. Abra un flujo de Data Wrangler.

1. Elija **Create Connection (Crear conexión)**.

1. Elija **Amazon EMR**.

1. Aplique alguna de las siguientes acciones.
   + De forma opcional, en el **ARN del secreto**, especifique el número de recurso de Amazon (ARN) de la base de datos del clúster. Los secretos proporcionan seguridad adicional. Para obtener más información sobre los secretos, consulte [¿Qué es AWS Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) Para obtener más información acerca de la creación de un secreto para el clúster, consulte [Crear un AWS Secrets Manager secreto para el clúster](#data-wrangler-emr-secrets-manager).
**importante**  
Debe especificar un secreto si utiliza un rol de tiempo de ejecución de IAM para la autenticación.
   + Seleccione un clúster de la lista desplegable.

1. Elija **Siguiente**.

1. En **Seleccione un punto final para el *example-cluster-name* clúster**, elija un motor de consultas.

1. De forma opcional, seleccione **Guardar conexión**.

1. Elija **Siguiente, seleccione inicio de sesión** y elija una de estas opciones:
   + Sin autenticación
   + LDAP
   + IAM

1. En **Iniciar sesión en el *example-cluster-name* clúster**, especifique el **nombre de usuario** y la **contraseña** del clúster.

1. Elija **Conectar**.

1. En el editor de consultas, especifique una consulta SQL.

1. Seleccione **Ejecutar**.

1. Seleccione **Importar**.

### Crear un AWS Secrets Manager secreto para el clúster
<a name="data-wrangler-emr-secrets-manager"></a>

Si utiliza un rol de tiempo de ejecución de IAM para acceder a su clúster de Amazon EMR, debe almacenar las credenciales que utiliza para acceder a Amazon EMR como un secreto de Secrets Manager. Todas las credenciales que utiliza para acceder al clúster se almacenan en el secreto.

Debe almacenar la siguiente información en el secreto:
+ Punto de conexión de JDBC: `jdbc:hive2://`.
+ Nombre de DNS: el nombre de DNS de su clúster de Amazon EMR. Puede ser el punto de conexión del nodo principal o el nombre de host.
+ Puerto: `8446`.

También puede almacenar la siguiente información adicional en el secreto:
+ Rol de IAM: el rol de IAM que utiliza para acceder al clúster. Data Wrangler usa tu función de ejecución de SageMaker IA de forma predeterminada.
+ Ruta del almacén de confianza: de forma predeterminada, Data Wrangler crea una ruta del almacén de confianza para usted. También puede utilizar su propia ruta del almacén de confianza. Para obtener más información sobre las rutas de los almacenes de confianza, consulte Cifrado [en tránsito en 2](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/hs2-encryption-intransit.html). HiveServer
+ Contraseña del almacén de confianza: de forma predeterminada, Data Wrangler crea una contraseña del almacén de confianza para usted. También puede utilizar su propia ruta del almacén de confianza. Para obtener más información sobre las rutas de los almacenes de confianza, consulte Cifrado [en tránsito en la sección 2](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/hs2-encryption-intransit.html). HiveServer

Utilice el siguiente procedimiento para almacenar las credenciales en un secreto de Secrets Manager.

Para almacenar las credenciales como un secreto, haga lo siguiente.

1. Vaya a Consola de administración de AWS.

1. En la barra de búsqueda, especifique Secrets Manager.

1. Elija **AWS Secrets Manager**.

1. Elija **Almacenar un secreto nuevo**.

1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

1. En pares **clave-valor**, seleccione **Texto sin formato**.

1. Para los clústeres que ejecutan Hive, puede utilizar la siguiente plantilla para la autenticación de IAM.

   ```
   {"jdbcURL": ""
    "iam_auth": {"endpoint": "jdbc:hive2://", #required
                   "dns": "ip-xx-x-xxx-xxx.ec2.internal", #required 
                   "port": "10000", #required
                 "cluster_id": "j-xxxxxxxxx", #required
                 "iam_role": "arn:aws:iam::xxxxxxxx:role/xxxxxxxxxxxx", #optional
                 "truststore_path": "/etc/alternatives/jre/lib/security/cacerts", #optional
                 "truststore_password": "changeit" #optional
                 
                 }}
   ```
**nota**  
Después de importar los datos, se les aplican transformaciones. A continuación, exporta los datos que ha transformado a una ubicación específica. Si utiliza un cuaderno de Jupyter para exportar los datos transformados a Amazon S3, debe utilizar la ruta del almacén de confianza especificada en el ejemplo anterior.

Un secreto de Secrets Manager almacena la URL de JDBC del clúster de Amazon EMR como un secreto. El uso de un secreto es más seguro que introducir directamente las credenciales.

Utilice el siguiente procedimiento para almacenar la URL de JDBC como un secreto.

Para almacenar la URL de JDBC como un secreto, haga lo siguiente.

1. Vaya a Consola de administración de AWS.

1. En la barra de búsqueda, especifique Secrets Manager.

1. Elija **AWS Secrets Manager**.

1. Elija **Almacenar un secreto nuevo**.

1. En **Secret type** (Tipo de secreto), elija **Other type of secret** (Otro tipo de secreto).

1. Para **Pares clave-valor**, especifique `jdbcURL` como clave y una URL de JDBC válida como valor.

   El formato de una URL de JDBC válida depende de si se utiliza la autenticación y de si se utiliza Hive o Presto como motor de consulta. La siguiente lista muestra los formatos de URL de JBDC válidos para las distintas configuraciones posibles.
   + Hive, sin autenticación: `jdbc:hive2://emr-cluster-master-public-dns:10000/;`
   + Hive, autenticación LDAP: `jdbc:hive2://emr-cluster-master-public-dns-name:10000/;AuthMech=3;UID=david;PWD=welcome123;`
   + En el caso de Hive con SSL habilitado, el formato de URL de JDBC depende de si se utiliza un archivo de almacén de claves de Java para la configuración de TLS. El archivo de almacén de claves de Java ayuda a verificar la identidad del nodo maestro del clúster de Amazon EMR. Para usar un archivo de almacén de claves de Java, genérelo en un clúster de EMR y cárguelo en Data Wrangler. Para generar un archivo, utilice el siguiente comando en el clúster de Amazon EMR: `keytool -genkey -alias hive -keyalg RSA -keysize 1024 -keystore hive.jks`. Para obtener información sobre la ejecución de comandos en un clúster de Amazon EMR, consulte [Securing access to EMR clusters using AWS Systems Manager](https://aws.amazon.com/blogs/big-data/securing-access-to-emr-clusters-using-aws-systems-manager/). Para cargar un archivo, elija la flecha hacia arriba en la barra de navegación izquierda de la interfaz de usuario de Data Wrangler.

     Los siguientes son los formatos de URL de JDBC válidos para Hive con SSL habilitado:
     + Sin un archivo de almacén de claves de Java: `jdbc:hive2://emr-cluster-master-public-dns:10000/;AuthMech=3;UID=user-name;PWD=password;SSL=1;AllowSelfSignedCerts=1;`
     + Con un archivo de almacén de claves de Java: `jdbc:hive2://emr-cluster-master-public-dns:10000/;AuthMech=3;UID=user-name;PWD=password;SSL=1;SSLKeyStore=/home/sagemaker-user/data/Java-keystore-file-name;SSLKeyStorePwd=Java-keystore-file-passsword;`
   + Listo, sin autenticación: jdbc:presto: //:8889/; *emr-cluster-master-public-dns*
   + En el caso de Presto con autenticación LDAP y SSL habilitado, el formato de URL de JDBC depende de si se utiliza un archivo de almacén de claves de Java para la configuración de TLS. El archivo de almacén de claves de Java ayuda a verificar la identidad del nodo maestro del clúster de Amazon EMR. Para usar un archivo de almacén de claves de Java, genérelo en un clúster de EMR y cárguelo en Data Wrangler. Para cargar un archivo, elija la flecha hacia arriba en la barra de navegación izquierda de la interfaz de usuario de Data Wrangler. Para obtener información sobre cómo crear un archivo de almacén de claves de Java para Presto, consulte [Java Keystore File for TLS](https://prestodb.io/docs/current/security/tls.html#server-java-keystore). Para obtener información sobre la ejecución de comandos en un clúster de Amazon EMR, consulte [Securing access to EMR clusters using AWS Systems Manager](https://aws.amazon.com/blogs/big-data/securing-access-to-emr-clusters-using-aws-systems-manager/).
     + Sin un archivo de almacén de claves de Java: `jdbc:presto://emr-cluster-master-public-dns:8889/;SSL=1;AuthenticationType=LDAP Authentication;UID=user-name;PWD=password;AllowSelfSignedServerCert=1;AllowHostNameCNMismatch=1;`
     + Con un archivo de almacén de claves de Java: `jdbc:presto://emr-cluster-master-public-dns:8889/;SSL=1;AuthenticationType=LDAP Authentication;SSLTrustStorePath=/home/sagemaker-user/data/Java-keystore-file-name;SSLTrustStorePwd=Java-keystore-file-passsword;UID=user-name;PWD=password;`

Durante el proceso de importación de datos desde un clúster de Amazon EMR, podría tener problemas. Para obtener información acerca de la solución de problemas, consulte [Solución de problemas con Amazon EMR](data-wrangler-trouble-shooting.md#data-wrangler-trouble-shooting-emr).

## Importación de datos de Databricks (JDBC)
<a name="data-wrangler-databricks"></a>

Puede usar Databricks como fuente de datos para su flujo de Amazon SageMaker Data Wrangler. Para importar un conjunto de datos de Databricks, utilice la funcionalidad de importación de JDBC (Java Database Connectivity) para acceder a su base de datos de Databricks. Después de acceder a la base de datos, especifique una consulta SQL para obtener los datos e importarlos.

Suponemos que tiene un clúster de Databricks en ejecución y que ha configurado su controlador JDBC para él. Para obtener más información, consulte las siguientes páginas de documentación de Databricks.
+ [Controlador JDBC](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-driver)
+ [JDBC configuration and connection parameters](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-configuration-and-connection-parameters)
+ [Authentication parameters](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#authentication-parameters)

Data Wrangler almacena su URL de JDBC. AWS Secrets Manager Debe conceder permisos a su función de ejecución de IAM de Amazon SageMaker Studio Classic para usar Secrets Manager. Utilice el siguiente procedimiento para conceder permisos.

Para conceder permisos a Secrets Manager, haga lo siguiente.

1. Inicie sesión en la consola de IAM Consola de administración de AWS y ábrala en. [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)

1. Elija **Roles**.

1. En la barra de búsqueda, especifique la función de ejecución de Amazon SageMaker AI que utiliza Amazon SageMaker Studio Classic.

1. Elija el rol .

1. Elija **Añadir permisos**.

1. Elija **Crear política insertada**.

1. En **Servicio**, especifique **Secrets Manager** y elíjalo.

1. En **Acciones**, seleccione el icono de flecha situado junto a **Administración de permisos**.

1. Elija **PutResourcePolicy**.

1. En **Recursos**, elija **Específico**.

1. Elija la casilla de verificación situada junto a **Cualquiera de esta cuenta**.

1. Elija **Revisar política**.

1. En **Nombre**, especifique un nombre.

1. Elija **Crear política**.

Puede usar particiones para importar los datos con mayor rapidez. Las particiones dan a Data Wrangler la capacidad de procesar los datos en paralelo. De forma predeterminada, Data Wrangler usa 2 particiones. Para la mayoría de los casos de uso, 2 particiones ofrecen velocidades de procesamiento de datos casi óptimas.

Si decide especificar más de 2 particiones, también puede especificar una columna para particionar los datos. El tipo de valores de la columna debe ser numérico o de fecha.

Se recomienda usar particiones solo si comprende la estructura de los datos y cómo se procesan.

Puede importar todo el conjunto de datos o tomar una muestra de una parte del mismo. Para una base de datos de Databricks, proporciona las siguientes opciones de muestreo:
+ Ninguno: se importa todo el conjunto de datos.
+ Primeros K: toma una muestra de las primeras filas K del conjunto de datos, donde K es un número entero que especifique.
+ Aleatorio: toma una muestra aleatoria del tamaño que especifique.
+ Estratificado: toma una muestra aleatoria estratificada. Una muestra estratificada conserva la relación de valores de una columna.

Utilice el siguiente procedimiento para importar datos de una base de datos de Databricks.

Para importar datos de Databricks, haga lo siguiente.

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. En la pestaña **Importar datos** de su flujo de Data Wrangler, elija **Databricks**.

1. Especifique los siguientes campos:
   + **Nombre del conjunto de datos**: un nombre que desee usar para el conjunto de datos en el flujo de Data Wrangler.
   + **Controlador**: **com.simba.spark.jdbc.Driver**.
   + **URL de JDBC**: la URL de la base de datos de Databricks. El formato de la URL puede variar entre las instancias de Databricks. Para obtener información sobre cómo encontrar la URL y especificar los parámetros que contiene, consulte [JDBC configuration and connection parameters](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#jdbc-configuration-and-connection-parameters). El siguiente es un ejemplo de cómo se puede formatear una URL: jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default; transportMode=http; ssl=1; httpPath= /3122619508517275/0909-200301-cut318; =3; UID=; PWD=. sql/protocolv1/o AuthMech *token* *personal-access-token*
**nota**  
Puede especificar el ARN del secreto que contenga la URL de JDBC en lugar de especificar la propia URL de JDBC. El secreto debe contener un par clave-valor con el siguiente formato: `jdbcURL:JDBC-URL`. Para obtener más información, consulte [¿Qué es Secrets Manager?](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html)

1. Especifique una instrucción SQL SELECT.
**nota**  
Data Wrangler no admite expresiones de tabla común (CTE) ni tablas temporales dentro de una consulta.

1. En **muestreo**, elija un método de muestreo.

1. Seleccione **Ejecutar**. 

1. De forma opcional, en **VISTA PREVIA**, elija el engranaje para abrir la **Configuración de la partición**. 

   1. Especifique el número de particiones. Puede particionar por columna si especifica el número de particiones:
     + **Ingrese el número de particiones**: especifique un valor superior a 2.
     + (Opcional) **Partición por columna**: especifique los siguientes campos. Solo puede particionar por una columna si ha especificado un valor para **Ingresar número de particiones**.
       + **Seleccionar columna**: seleccione la columna que va a utilizar para la partición de datos. El tipo de valores de la columna debe ser numérico o de fecha.
       + **Límite superior**: el límite superior de los valores de la columna que ha especificado es el valor que utiliza en la partición. El valor que especifique no cambia los datos que importe. Solo afecta a la velocidad de la importación. Para obtener el mejor rendimiento, especifique un límite superior cercano al máximo de la columna.
       + **Límite inferior**: el límite inferior de los valores de la columna que ha especificado es el valor que utiliza en la partición. El valor que especifique no cambia los datos que importe. Solo afecta a la velocidad de la importación. Para obtener el mejor rendimiento, especifique un límite inferior cercano al mínimo de la columna.

1. Seleccione **Importar**.

## Importación de datos de Salesforce Data Cloud.
<a name="data-wrangler-import-salesforce-data-cloud"></a>

Puede utilizar Salesforce Data Cloud como fuente de datos en Amazon SageMaker Data Wrangler para preparar los datos de su Salesforce Data Cloud para el aprendizaje automático.

Con Salesforce Data Cloud como origen de datos en Data Wrangler, puede conectarse rápidamente a los datos de Salesforce sin necesidad de escribir una sola línea de código. Puede unir sus datos de Salesforce con datos de cualquier otro origen de datos en Data Wrangler.

Una vez que se conecte a la nube de datos, puede hacer lo siguiente:
+ Visualizar los datos con visualizaciones integradas
+ Comprender los datos e identificar posibles errores y valores extremos
+ Transformar los datos con más de 300 transformaciones integradas
+ Exportar los datos que ha transformado

**Topics**
+ [Configuración de administrador](#data-wrangler-import-salesforce-data-cloud-administrator)
+ [Guía para científicos de datos](#data-wrangler-salesforce-data-cloud-ds)

### Configuración de administrador
<a name="data-wrangler-import-salesforce-data-cloud-administrator"></a>

**importante**  
Antes de empezar, asegúrese de que sus usuarios utilizan Amazon SageMaker Studio Classic versión 1.3.0 o posterior. Para obtener más información sobre cómo comprobar la versión de Studio Classic y cómo actualizarla, consulte [Prepare datos de aprendizaje automático con Amazon SageMaker Data Wrangler](data-wrangler.md).

Al configurar el acceso a Salesforce Data Cloud, debe completar las siguientes tareas:
+ Obtener la URL del dominio de Salesforce. Salesforce también hace referencia a la URL del dominio como URL de la organización.
+ Obtener OAuth credenciales de Salesforce. 
+ Obtener la URL de autorización y la URL del token del dominio de Salesforce.
+ Crear un AWS Secrets Manager secreto con la OAuth configuración.
+ Crear una configuración de ciclo de vida que Data Wrangler utilizará para leer las credenciales del secreto.
+ Otorgar permisos a Data Wrangler para leer el secreto.

Tras realizar las tareas anteriores, sus usuarios pueden iniciar sesión en Salesforce Data Cloud mediante OAuth.

**nota**  
Es posible que sus usuarios tengan problemas una vez que haya configurado todo esto. Para obtener más información acerca de la solución de problemas, consulte [Solución de problemas con Salesforce](data-wrangler-trouble-shooting.md#data-wrangler-troubleshooting-salesforce-data-cloud).

Utilice el siguiente procedimiento para obtener la URL del dominio.

1. Vaya a la página de inicio de sesión de [Salesforce](login.salesforce.com).

1. En **Quick find**, especifique **My Domain**.

1. Copie el valor de **Current My Domain URL** en un archivo de texto.

1. Agregue `https://` al principio de la URL. 

Tras obtener la URL del dominio de Salesforce, puede utilizar el siguiente procedimiento para obtener las credenciales de inicio de sesión de Salesforce y permitir que Data Wrangler acceda a los datos de Salesforce.

Para obtener las credenciales de inicio de sesión de Salesforce y proporcionar acceso a Data Wrangler, haga lo siguiente.

1. Vaya a la URL del dominio de Salesforce e inicie sesión en su cuenta.

1. Seleccione el ícono de la rueda.

1. En la barra de búsqueda que aparece, especifique **App Manager**.

1. Seleccione **New Connected App**.

1. Especifique los siguientes campos:
   + Nombre de la aplicación conectada: puede especificar cualquier nombre, pero se recomienda elegir uno que incluya Data Wrangler. Por ejemplo, puede especificar **Integración de Salesforce Data Cloud y Data Wrangler**.
   + Nombre de la API: utilice el valor predeterminado.
   + Correo electrónico de contacto: especifique su dirección de correo electrónico.
   + En el **encabezado API (Habilitar OAuth configuración)**, seleccione la casilla de verificación para activar OAuth la configuración.
   + En la **URL de devolución de llamada**, especifique la URL de Amazon SageMaker Studio Classic. Para obtener la URL de Studio Classic, acceda a ella desde Consola de administración de AWS y cópiela.

1. En ** OAuth Ámbitos seleccionados, mueva lo siguiente de los ámbitos** **disponibles a OAuth los ámbitos** **seleccionados OAuth**:
   + Administre los datos de los usuarios mediante () APIs `api`
   + Realizar solicitudes en cualquier momento (`refresh_token`, `offline_access`)
   + Realizar consultas SQL ANSI en los datos de Salesforce Data Cloud (`cdp_query_api`)
   + Administrar los datos de perfil de la plataforma de datos de clientes de Salesforce (`cdp_profile_api`)

1. Seleccione **Save**. Tras guardar los cambios, Salesforce abre una página nueva.

1. Elija **Continue**

1. Vaya a **Consumer Key and Secret**.

1. Elija **Manage Consumer Details**. Salesforce lo redirige a una nueva página en la que puede que tendrá que superar una autenticación de dos factores.

1. 
**importante**  
Copie la clave del consumidor y el secreto del consumidor en un editor de texto. Necesitará esta información para conectar la nube de datos a Data Wrangler.

1. Vuelva a **Manage Connected Apps**.

1. Vaya **Connected App Name **y el nombre de su aplicación.

1. Elija **Administrar**.

   1. Seleccione **Edit Policies**.

   1. Cambie **IP Relaxation** a **Relax IP restrictions**.

   1. Seleccione **Save**.

Después de proporcionar acceso a su Salesforce Data Cloud, debe proporcionar permisos a sus usuarios. Utilice el siguiente procedimiento para concederles permisos.

Para proporcionar permisos a los usuarios, haga lo siguiente.

1. Diríjase a la página de inicio de configuración.

1. En la barra de navegación de la izquierda, busque **Users** y elija la opción de menú **Users**.

1. Elija el hipervínculo con su nombre de usuario.

1. Vaya a **Permission Set Assignments**.

1. Elija **Edit Assignments**.

1. Agregue los siguientes permisos:
   + **Customer Data Platform Admin**
   + **Customer Data Platform Data Aware Specialist**

1. Seleccione **Save**.

Después de obtener la información de su dominio de Salesforce, debe obtener la URL de autorización y la URL del token del AWS Secrets Manager secreto que está creando.

Utilice el procedimiento siguiente para obtener la URL de autorización y la URL del token.

**Para obtener la URL de autorización y la URL del token**

1. Vaya a la URL de su dominio de Salesforce.

1. Utilice uno de los siguientes métodos para obtener el URLs. Si utiliza una distribución de Linux con `curl` y `jq` instalados, se recomienda utilizar el método que solo funciona en Linux.
   + Solo en Linux, especifique el siguiente comando en su terminal.

     ```
     curl salesforce-domain-URL/.well-known/openid-configuration | \
     jq '. | { authorization_url: .authorization_endpoint, token_url: .token_endpoint }' | \
     jq '.  += { identity_provider: "SALESFORCE", client_id: "example-client-id", client_secret: "example-client-secret" }'
     ```
   + 

     1. En el navegador, vaya a **example-org-URL*/.well-known/openid-configuration*.

     1. Copie `authorization_endpoint` y `token_endpoint` a un editor de texto.

     1. Cree el siguiente objeto JSON:

        ```
        {
          "identity_provider": "SALESFORCE",
          "authorization_url": "example-authorization-endpoint", 
          "token_url": "example-token-endpoint",
          "client_id": "example-consumer-key",
          "client_secret": "example-consumer-secret"
        }
        ```

Tras crear el objeto OAuth de configuración, puede crear un AWS Secrets Manager secreto que lo almacene. Utilice el siguiente procedimiento para crear el secreto.

Para crear un secreto, haga lo siguiente:

1. Vaya a la [consola de AWS Secrets Manager](https://console.aws.amazon.com/secretsmanager/).

1. Elija **Almacenar un secreto**.

1. Seleccione **Otro tipo de secreto**.

1. En pares **clave-valor**, seleccione **Texto sin formato**.

1. Sustituya el JSON vacío por los siguientes ajustes de configuración.

   ```
   {
     "identity_provider": "SALESFORCE",
     "authorization_url": "example-authorization-endpoint", 
     "token_url": "example-token-endpoint",
     "client_id": "example-consumer-key",
     "client_secret": "example-consumer-secret"
   }
   ```

1. Elija **Siguiente**.

1. En **Nombre del secreto**, especifique el nombre del secreto.

1. En **Etiquetas**, elija **Agregar**.

   1. En **Clave**, especifique **sagemaker:partner**. En **Valor**, se recomienda especificar un valor que sea útil para su caso de uso. Sin embargo, puede especificar cualquier cosa.
**importante**  
Tiene que crear la clave. No puede importar sus datos de Salesforce si no los ha creado.

1. Elija **Siguiente**.

1. Elija **Almacenar**.

1. Elija el secreto que ha creado.

1. Tome nota de los siguientes campos:
   + El número de recurso de Amazon (ARN) del secreto
   + El nombre del secreto.

Una vez creado el secreto, debe agregar permisos para que Data Wrangler lo lea. Utilice el siguiente procedimiento para agregar permisos.

Para agregar permisos de lectura a Data Wrangler, haga lo siguiente.

1. Navega hasta la [consola Amazon SageMaker AI](https://console.aws.amazon.com/sagemaker/).

1. Elija **Dominios**.

1. Elija el dominio que utiliza para acceder a Data Wrangler.

1. Elija su **Perfil de usuario**.

1. En **Detalles**, busque el **Rol de ejecución**. El ARN tiene el siguiente formato: `arn:aws:iam::111122223333:role/example-role`. Tome nota de la función de ejecución de la SageMaker IA. Dentro de la ARN, es todo lo que viene después de `role/`.

1. Vaya a la [consola de IAM](https://console.aws.amazon.com/iam).

1. En la barra **de búsqueda de IAM** de Search, especifique el nombre de la función de ejecución de la SageMaker IA.

1. Elija el rol .

1. Elija **Añadir permisos**.

1. Elija **Crear política insertada**.

1. Seleccione la pestaña JSON.

1. Especifique la siguiente política en el editor.

------
#### [ JSON ]

****  

   ```
   {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:GetSecretValue",
                "secretsmanager:PutSecretValue"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:*",
            "Condition": {
                "ForAnyValue:StringLike": {
                    "aws:ResourceTag/sagemaker:partner": "*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "secretsmanager:UpdateSecret"
            ],
            "Resource": "arn:aws:secretsmanager:*:*:secret:AmazonSageMaker-*"
        }
    ]
   }
   ```

------

1. Elija **Revisar la política**.

1. En **Nombre**, especifique un nombre.

1. Elija **Crear política**.

Tras conceder a Data Wrangler los permisos para leer el secreto, debe añadir una configuración del ciclo de vida que utilice el secreto de Secrets Manager a su perfil de usuario de Amazon SageMaker Studio Classic.

Utilice el siguiente procedimiento para crear una configuración de ciclo de vida y añadirla al perfil de Studio Classic.

Para crear una configuración de ciclo de vida y añadirla al perfil de Studio Classic, haga lo siguiente.

1. Navega hasta la [consola Amazon SageMaker AI](console.aws.amazon.com/sagemaker).

1. Elija **Dominios**.

1. Elija el dominio que utiliza para acceder a Data Wrangler.

1. Elija su **Perfil de usuario**.

1. Si ve las siguientes aplicaciones, elimínelas:
   + KernelGateway
   + JupyterKernel
**nota**  
Al eliminar las aplicaciones, Studio Classic se actualiza. Las actualizaciones pueden tardar un poco.

1. Mientras espera a que se produzcan las actualizaciones, elija las **Configuraciones de ciclo de vida**.

1. Asegúrese de que la página en la que se encuentra indique **Configuraciones del ciclo de vida de Studio Classic**.

1. Seleccione **Crear configuración**.

1. Asegúrese de que se haya seleccionado la **Aplicación de servidor de Jupyter**.

1. Elija **Siguiente**.

1. En **Nombre**, especifique un nombre para la configuración.

1. En **Scripts**, especifique el siguiente script:

   ```
   #!/bin/bash
   set -eux
   
   cat > ~/.sfgenie_identity_provider_oauth_config <<EOL
   {
       "secret_arn": "secrets-arn-containing-salesforce-credentials"
   }
   EOL
   ```

1. Seleccione **Enviar**.

1. En el panel de navegación izquierdo, elija **Dominios**.

1. Seleccione su dominio.

1. Seleccione **Entorno**.

1. En **Configuraciones de ciclo de vida para aplicaciones de Studio Classic personales**, elija **Asociar**. 

1. Seleccione **Configuración existente**.

1. En **Configuraciones del ciclo de vida de Studio Classic**, seleccione la configuración del ciclo de vida que ha creado.

1. Elija **Asociar al dominio**.

1. Seleccione la casilla situada junto a la configuración del ciclo de vida que ha asociado.

1. Seleccione **Establecer como predeterminado**.

Podría tener problemas al configurar el ciclo de vida. Para obtener información para depurarlo, consulte [Depuración de configuraciones del ciclo de vida en Amazon SageMaker Studio Classic](studio-lcc-debug.md).

### Guía para científicos de datos
<a name="data-wrangler-salesforce-data-cloud-ds"></a>

Utilice lo siguiente para conectarse a Salesforce Data Cloud y acceder a sus datos en Data Wrangler.

**importante**  
Su administrador tiene que usar la información de las secciones anteriores para configurar Salesforce Data Cloud. Si tiene problemas, póngase en contacto con ellos para obtener ayuda con la solución de problemas.

Para abrir Studio Classic y comprobar su versión, consulte el siguiente procedimiento.

1. Sigue los pasos que se indican [Requisitos previos](data-wrangler-getting-started.md#data-wrangler-getting-started-prerequisite) a continuación para acceder a Data Wrangler a través de Amazon SageMaker Studio Classic.

1. Junto al usuario que desee utilizar para inicializar Studio Classic, seleccione **Lanzar aplicación**.

1. Elija **Studio**.

**Para crear un conjunto de datos en Data Wrangler con datos de Salesforce Data Cloud**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Salesforce Data Cloud**.

1. En **Nombre de la conexión**, especifique un nombre para su conexión a Salesforce Data Cloud.

1. En **URL de la organización**, especifique la URL de la organización en su cuenta de Salesforce. Puede obtener la URL de sus administradores.

1. Elija **Conectar**.

1. Especifique sus credenciales para iniciar sesión en Salesforce.

Puede empezar a crear un conjunto de datos con datos de Salesforce Data Cloud después de conectarse.

Una vez que seleccione una tabla, puede escribir consultas y ejecutarlas. El resultado de la consulta se muestra en **Resultados de la consulta**.

Una vez que haya establecido el resultado de la consulta, puede importarlo a un flujo de Data Wrangler para realizar transformaciones de datos. 

Una vez que haya creado un conjunto de datos, vaya a hasta la pantalla **Flujo de datos** para empezar a transformar los datos.

## Importación de datos de Snowflake
<a name="data-wrangler-snowflake"></a>

Puede usar Snowflake como fuente de datos en Data Wrangler para preparar SageMaker los datos de Snowflake para el aprendizaje automático.

Con Snowflake como origen de datos en Data Wrangler, puede conectarse rápidamente a Snowflake sin escribir una sola línea de código. Puede unir sus datos de Snowflake con datos de cualquier otro origen de datos en Data Wrangler.

Una vez conectado, puede consultar de forma interactiva los datos almacenados en Snowflake, transformarlos con más de 300 transformaciones de datos preconfiguradas, comprender los datos e identificar posibles errores y valores extremos con un conjunto de sólidas plantillas de visualización preconfiguradas, identificar rápidamente las incoherencias en el flujo de trabajo de preparación de datos y diagnosticar los problemas antes de implementar los modelos en producción. Por último, puede exportar su flujo de trabajo de preparación de datos a Amazon S3 para usarlo con otras funciones de SageMaker IA, como Amazon SageMaker Autopilot, Amazon SageMaker Feature Store y Amazon SageMaker Pipelines.

Puede cifrar el resultado de sus consultas con una AWS Key Management Service clave que haya creado. Para obtener más información al respecto AWS KMS, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).

**Topics**
+ [Guía del administrador](#data-wrangler-snowflake-admin)
+ [Guía para científicos de datos](#data-wrangler-snowflake-ds)

### Guía del administrador
<a name="data-wrangler-snowflake-admin"></a>

**importante**  
Para obtener más información sobre el control de acceso detallado y las prácticas recomendadas, consulte [Security Access Control](https://docs.snowflake.com/en/user-guide/security-access-control.html). 

Esta sección es para los administradores de Snowflake que están configurando el acceso a Snowflake desde Data Wrangler. SageMaker 

**importante**  
Usted es responsable de administrar y supervisar el control de acceso de Snowflake. Data Wrangler no agrega una capa de control de acceso con respecto a Snowflake.   
El control de acceso incluye lo siguiente:  
Los datos a los que accede un usuario
De forma opcional, la integración de almacenamiento que proporciona a Snowflake la capacidad de escribir los resultados de consultas en un bucket de Amazon S3
Las consultas que un usuario puede ejecutar

#### Configuración de permisos de importación de datos de Snowflake (opcional)
<a name="data-wrangler-snowflake-admin-config"></a>

De forma predeterminada, Data Wrangler consulta los datos en Snowflake sin crear una copia de los mismos en una ubicación de Amazon S3. Utilice la siguiente información si va a configurar una integración de almacenamiento con Snowflake. Los usuarios pueden usar una integración de almacenamiento para almacenar los resultados de las consultas en una ubicación de Amazon S3.

Es posible que los usuarios tengan diferentes niveles de acceso a los datos confidenciales. Para lograr una seguridad de datos óptima, proporcione a cada usuario su propia integración de almacenamiento. Cada integración de almacenamiento debe tener su propia política de gobierno de datos.

Esta característica no está disponible actualmente en la región de suscripción voluntaria.

Snowflake necesita los siguientes permisos en un bucket y un directorio de S3 para poder acceder a los archivos del directorio:
+ `s3:GetObject`
+ `s3:GetObjectVersion`
+ `s3:ListBucket`
+ `s3:ListObjects`
+ `s3:GetBucketLocation`

**Creación de una política de IAM**

Tiene que crear una política de IAM para configurar los permisos de acceso para que Snowflake cargue y descargue datos de un bucket de Amazon S3.

A continuación, encontrará un documento de política de JSON que se utiliza para crear la política:

```
# Example policy for S3 write access
# This needs to be updated
{
"Version": "2012-10-17",		 	 	 
"Statement": [
  {
    "Effect": "Allow",
    "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:GetObjectVersion",
        "s3:DeleteObject",
        "s3:DeleteObjectVersion"
    ],
    "Resource": "arn:aws:s3:::bucket/prefix/*"
  },
  {
    "Effect": "Allow",
    "Action": [
        "s3:ListBucket"
    ],
    "Resource": "arn:aws:s3:::bucket/",
    "Condition": {
        "StringLike": {
            "s3:prefix": ["prefix/*"]
        }
    }
  }
 ]
}
```

Para obtener información y procedimientos sobre la creación de políticas con documentos de políticas, consulte [Crear políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html).

Para ver la documentación que proporciona una descripción general del uso de los permisos de IAM con Snowflake, consulte los siguientes recursos:
+ [¿Qué es IAM?](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)
+ [Cree el rol de IAM en AWS](https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html#step-2-create-the-iam-role-in-aws)
+ [Create a Cloud Storage Integration in Snowflake](https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html#step-3-create-a-cloud-storage-integration-in-snowflake)
+ [Recupere el usuario de AWS IAM de su cuenta de Snowflake](https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html#step-4-retrieve-the-aws-iam-user-for-your-snowflake-account)
+ [Grant the IAM User Permissions to Access Bucket](https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html#step-5-grant-the-iam-user-permissions-to-access-bucket-objects).

Para conceder al científico de datos el permiso de uso del rol de Snowflake para la integración del almacenamiento, debe ejecutar `GRANT USAGE ON INTEGRATION integration_name TO snowflake_role;`.
+ `integration_name` es el nombre de la integración de almacenamiento.
+ `snowflake_role` es el nombre del [rol de Snowflake](https://docs.snowflake.com/en/user-guide/security-access-control-overview.html#roles) predeterminado que se asigna al científico de datos.

#### Configuración de Snowflake Access OAuth
<a name="data-wrangler-snowflake-oauth-setup"></a>

En lugar de hacer que los usuarios introduzcan directamente sus credenciales en Data Wrangler, puede hacer que usen un proveedor de identidades para acceder a Snowflake. Los siguientes son enlaces a la documentación de Snowflake para los proveedores de identidades compatibles con Data Wrangler.
+ [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
+ [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
+ [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

Utilice la documentación de los enlaces anteriores para configurar el acceso a su proveedor de identidades. La información y los procedimientos de esta sección le ayudarán a entender cómo utilizar correctamente la documentación para acceder a Snowflake desde Data Wrangler.

El proveedor de identidades debe reconocer a Data Wrangler como una aplicación. Utilice el siguiente procedimiento para registrar Data Wrangler como una aplicación dentro del proveedor de identidades:

1. Seleccione la configuración que inicia el proceso de registro de Data Wrangler como aplicación.

1. Proporcione acceso a Data Wrangler a los usuarios del proveedor de identidades.

1. Active la autenticación OAuth del cliente almacenando las credenciales del cliente como un AWS Secrets Manager secreto.

1. Especifique una URL de redireccionamiento con el siguiente formato: https://*domain-ID*.studio. *Región de AWS*.sagemaker. aws/jupyter/default/lab
**importante**  
Estás especificando el ID de dominio de Amazon SageMaker AI y Región de AWS que estás utilizando para ejecutar Data Wrangler.
**importante**  
Debes registrar una URL para cada dominio de Amazon SageMaker AI y para el Región de AWS lugar en el que ejecutes Data Wrangler. Los usuarios de un dominio Región de AWS que no tengan URLs configurada la redirección no podrán autenticarse con el proveedor de identidad para acceder a la conexión de Snowflake.

1. Asegúrese de que los tipos de concesión de código de autorización y token de actualización estén permitidos para la aplicación Data Wrangler.

En tu proveedor de identidad, debes configurar un servidor que envíe los OAuth tokens a Data Wrangler a nivel de usuario. El servidor envía los tokens con Snowflake como público.

Snowflake utiliza el concepto de funciones que son funciones distintas de las funciones de IAM utilizadas. AWS Debe configurar el proveedor de identidades para que utilice cualquier rol a fin de usar el rol predeterminado asociado a la cuenta de Snowflake. Por ejemplo, si un usuario tiene `systems administrator` como rol predeterminado en su perfil de Snowflake, la conexión de Data Wrangler a Snowflake utiliza `systems administrator` como rol.

Utilice el siguiente procedimiento para configurar el servidor.

Para configurar el servidor, haga lo siguiente: Trabajará en Snowflake en todos los pasos excepto en el último.

1. Comience a configurar el servidor o la API.

1. Configure el servidor de autorización para que utilice los tipos de concesión de código de autorización y token de actualización.

1. Especifique la duración del token de acceso.

1. Establezca el tiempo de espera de inactividad del token de actualización. El tiempo de espera de inactividad es el momento en que el token de actualización vence si no se utiliza.
**nota**  
Si va a programar trabajos en Data Wrangler, se recomienda que el tiempo de espera de inactividad sea mayor que la frecuencia del trabajo de procesamiento. De lo contrario, algunos trabajos de procesamiento podrían producir un error porque el token de actualización vence antes de que pudieran ejecutarse. Cuando el token de actualización vence, el usuario debe volver a autenticarse accediendo a la conexión que ha establecido con Snowflake a través de Data Wrangler.

1. Especifique `session:role-any` como nuevo ámbito.
**nota**  
En el caso de Azure AD, copie el identificador único del ámbito. Data Wrangler requiere que le proporcione el identificador.

1. 
**importante**  
En la integración de OAuth seguridad externa de Snowflake, habilite. `external_oauth_any_role_mode`

**importante**  
Data Wrangler no admite los tokens de actualización rotativos. El uso de tokens de actualización rotativos puede provocar errores de acceso o que los usuarios tengan que iniciar sesión con frecuencia.

**importante**  
Si el token de actualización vence, los usuarios deben volver a autenticarse accediendo a la conexión que ha establecido con Snowflake a través de Data Wrangler.

Después de configurar el OAuth proveedor, proporciona a Data Wrangler la información que necesita para conectarse con el proveedor. Puede usar la documentación de su proveedor de identidades para obtener los valores de los siguientes campos:
+ URL del token: la URL del token que el proveedor de identidades envía a Data Wrangler.
+ URL de autorización: la URL del servidor de autorización del proveedor de identidades.
+ ID de cliente: el ID del proveedor de identidades.
+ Secreto de cliente: el secreto que solo reconoce la API o el servidor de autorización.
+ (Solo en Azure AD) Las credenciales del OAuth ámbito que has copiado.

Los campos y valores se guardan en AWS Secrets Manager secreto y se añaden a la configuración del ciclo de vida de Amazon SageMaker Studio Classic que se utiliza para Data Wrangler. Una configuración del ciclo de vida es un script de intérprete de comandos. Se utiliza para que Data Wrangler pueda acceder al nombre de recurso de Amazon (ARN) del secreto. Para obtener información sobre cómo crear secretos, consulte [Mover secretos codificados](https://docs.aws.amazon.com/secretsmanager/latest/userguide/hardcoded.html) a. AWS Secrets Manager Para obtener más información sobre el uso de las configuraciones de ciclo de vida en Studio Classic, consulte [Utilice las configuraciones del ciclo de vida para personalizar Amazon SageMaker Studio Classic](studio-lcc.md).

**importante**  
Antes de crear un secreto de Secrets Manager, asegúrate de que el rol de ejecución de SageMaker IA que utilizas para Amazon SageMaker Studio Classic tenga permisos para crear y actualizar secretos en Secrets Manager. Para obtener más información, consulte [Ejemplo: permiso para crear secretos](https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_examples.html#auth-and-access_examples_create).

Para Okta y Ping Federate, el formato del secreto es el siguiente:

```
{
    "token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
    "client_id":"example-client-id",
    "client_secret":"example-client-secret",
    "identity_provider":"OKTA"|"PING_FEDERATE",
    "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize"
}
```

Para Azure AD, el formato del secreto es el siguiente:

```
{
    "token_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/token",
    "client_id":"example-client-id",
    "client_secret":"example-client-secret",
    "identity_provider":"AZURE_AD",
    "authorization_url":"https://identityprovider.com/oauth2/example-portion-of-URL-path/v2/authorize",
    "datasource_oauth_scope":"api://appuri/session:role-any)"
}
```

Debe tener una configuración de ciclo de vida que utilice el secreto de Secrets Manager que ha creado. Puede crear la configuración del ciclo de vida o modificar una que ya se haya creado. La configuración debe usar el siguiente script.

```
#!/bin/bash

set -eux

## Script Body

cat > ~/.snowflake_identity_provider_oauth_config <<EOL
{
    "secret_arn": "example-secret-arn"
}
EOL
```

Para obtener información sobre la definición de las configuraciones de ciclo de vida, consulte [Creación y asociación de una configuración de ciclo de vida con Amazon SageMaker Studio Classic](studio-lcc-create.md). Cuando realice el proceso de configuración, haga lo siguiente:
+ Defina el tipo de aplicación de la configuración en `Jupyter Server`.
+ Adjunta la configuración al dominio de Amazon SageMaker AI que contiene tus usuarios.
+ Haga que la configuración se ejecute de forma predeterminada. Debe ejecutarse cada vez que un usuario inicie sesión en Studio Classic. De lo contrario, las credenciales guardadas en la configuración no estarán disponibles para sus usuarios cuando usen Data Wrangler.
+ La configuración del ciclo de vida crea un archivo con el nombre `snowflake_identity_provider_oauth_config` en la carpeta principal del usuario. El archivo contiene el secreto de Secrets Manager. Asegúrese de que esté en la carpeta de inicio del usuario cada vez que se inicialice la instancia del servidor de Jupyter.

#### Conectividad privada entre Data Wrangler y Snowflake a través de AWS PrivateLink
<a name="data-wrangler-security-snowflake-vpc"></a>

En esta sección se explica cómo establecer una conexión privada entre Data Wrangler y Snowflake. AWS PrivateLink Los pasos se explican en las siguientes secciones. 

##### Creación de una VPC
<a name="data-wrangler-snowflake-snowflake-vpc-setup"></a>

Si no tiene una VPC configurada, siga las instrucciones de [Create a new VPC](https://docs.aws.amazon.com/directoryservice/latest/admin-guide/gsg_create_vpc.html#create_vpc) para crear una.

Una vez que haya elegido la VPC que desee utilizar para establecer una conexión privada, proporcione las siguientes credenciales al administrador de Snowflake para que habilite AWS PrivateLink:
+ ID de VPC
+ AWS ID de cuenta
+ La URL de la cuenta correspondiente que utiliza para acceder a Snowflake

**importante**  
Como se describe en la documentación de Snowflake, la activación de la cuenta de Snowflake puede tardar hasta dos días laborables. 

##### Configure la integración con Snowflake AWS PrivateLink
<a name="data-wrangler-snowflake-snowflake-vpc-privatelink-setup"></a>

Una vez AWS PrivateLink activada, recupere la AWS PrivateLink configuración de su región ejecutando el siguiente comando en una hoja de trabajo de Snowflake. Inicie sesión en la consola de Snowflake e introduzca lo siguiente en las **Hojas de trabajo**: `select SYSTEM$GET_PRIVATELINK_CONFIG();`. 

1. Recupere los valores de lo siguiente: `privatelink-account-name`, `privatelink_ocsp-url`, `privatelink-account-url` y `privatelink_ocsp-url` del objeto JSON resultante. En el siguiente fragmento de código se muestran ejemplos de cada valor. Guarde estos valores para usarlos más adelante.

   ```
   privatelink-account-name: xxxxxxxx.region.privatelink
   privatelink-vpce-id: com.amazonaws.vpce.region.vpce-svc-xxxxxxxxxxxxxxxxx
   privatelink-account-url: xxxxxxxx.region.privatelink.snowflakecomputing.com
   privatelink_ocsp-url: ocsp.xxxxxxxx.region.privatelink.snowflakecomputing.com
   ```

1. Cambie a su AWS consola y navegue hasta el menú de la VPC.

1. En el panel lateral izquierdo, elija el enlace **Puntos de conexión** para ir a la configuración de **Puntos de conexión de VPC**.

   Una vez allí, elija **Crear punto de conexión**. 

1. Seleccione el botón de opción para **Buscar servicio por nombre**, como se muestra en la siguiente captura de pantalla.   
![\[La sección Crear punto de conexión de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-radio.png)

1. En el campo **Nombre del servicio**, pegue el valor de `privatelink-vpce-id` que recuperó en el paso anterior y elija **Verificar**. 

   Si la conexión se realiza correctamente, aparece en la pantalla una alerta verde que indica **Nombre del servicio encontrado** y las opciones **VPC** y **Subred** se expanden automáticamente, como se muestra en la siguiente captura de pantalla. En función de la región de destino, es posible que la pantalla resultante muestre el nombre de otra región de AWS .   
![\[La sección Crear punto de conexión de la consola muestra que la conexión se ha realizado correctamente.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-service-name-found.png)

1. Seleccione el mismo ID de VPC que envió a Snowflake en la lista desplegable **VPC**.

1. Si aún no ha creado una subred, siga el siguiente conjunto de instrucciones para crear una subred. 

1. Seleccione **Subredes** en la lista desplegable **VPC**. A continuación, seleccione **Crear subred** y siga las instrucciones para crear un subconjunto en la VPC. Asegúrese de seleccionar el ID de VPC que envió a Snowflake. 

1. En **Configuración del grupo de seguridad**, seleccione **Crear un nuevo grupo de seguridad** para abrir la pantalla del **Grupo de seguridad** predeterminado en una pestaña nueva. En esta nueva pestaña, seleccione **Crear grupo de seguridad**. 

1. Escriba un nombre y una descripción para el nuevo grupo de seguridad (como `datawrangler-doc-snowflake-privatelink-connection`). Asegúrese de seleccionar el ID de VPC que utilizó en los pasos anteriores. 

1. Agregue dos reglas para permitir el tráfico desde su VPC a este punto de conexión de VPC. 

   Diríjase a su VPC en la sección **Su**, VPCs en una pestaña independiente, y recupere el bloque CIDR para su VPC. Elija **Agregar regla** en la sección **Reglas de entrada**. Seleccione `HTTPS` para el tipo, deje el **Origen** como **Personalizado** en el formulario y pegue el valor recuperado de la llamada `describe-vpcs` anterior (como `10.0.0.0/16`). 

1. Elija **Creación de grupo de seguridad**. Recupere el **ID del grupo de seguridad** del grupo de seguridad recién creado (como `sg-xxxxxxxxxxxxxxxxx`).

1. En la pantalla de configuración de **Punto de conexión de VPC**, elimine el grupo de seguridad predeterminado. Pegue el ID del grupo de seguridad en el campo de búsqueda y seleccione la casilla de verificación.  
![\[La sección Grupo de seguridad de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-security-group.png)

1. Seleccione **Crear punto de conexión**. 

1. Si la creación del punto de conexión se realiza correctamente, verá una página con un enlace a la configuración del punto de conexión de VPC, especificado mediante el ID de la VPC. Seleccione el enlace para ver la configuración completa.   
![\[La sección Detalles del punto de conexión.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-success-endpoint.png)

   Tome el registro que encabeza la lista de nombres DNS. Se puede diferenciar de otros nombres de DNS porque solo incluye el nombre de la región (como `us-west-2`) y no incluye ninguna notación con las letras de la zona de disponibilidad (como `us-west-2a`). Guarde esta información para utilizarla más adelante.

##### Configuración del DNS para los puntos de conexión de Snowflake en su VPC
<a name="data-wrangler-snowflake-vpc-privatelink-dns"></a>

En esta sección se explica cómo configurar el DNS para los puntos de conexión de Snowflake en su VPC. Esto permite que su VPC resuelva las solicitudes al punto de conexión AWS PrivateLink de Snowflake. 

1. Navegue hasta el [menú Route 53](https://console.aws.amazon.com/route53) de AWS la consola.

1. Seleccione la opción **Zonas alojadas** (si es necesario, expanda el menú de la izquierda para encontrar esta opción).

1. Elija **Create Hosted Zone (Crear zona alojada)**.

   1. En el campo **Nombre de dominio**, haga referencia al valor que se almacenó para `privatelink-account-url` en los pasos anteriores. En este campo, el ID de su cuenta de Snowflake se elimina del nombre de DNS y solo usa el valor que comienza por el identificador de región. Más adelante, también se crea un **Conjunto de registros de recursos** para el subdominio, por ejemplo, `region.privatelink.snowflakecomputing.com`.

   1. Seleccione el botón de opción correspondiente a la **Zona alojada privada** en la sección **Tipo**. Es posible que el código de región no sea `us-west-2`. Haga referencia al nombre de DNS que le devolvió Snowflake.  
![\[La página Crear una zona alojada de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-create-hosted-zone.png)

   1. En la sección **VPCs Para asociarse a la zona alojada**, seleccione la región en la que se encuentra la VPC y el ID de VPC utilizado en los pasos anteriores.  
![\[La sección VPCs para asociar a la zona alojada de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-vpc-hosted-zone.png)

   1. Elija **Crear zona alojada**.

1. A continuación, cree dos registros, uno para `privatelink-account-url` y otro para `privatelink_ocsp-url`.
   + En el menú **Zona alojada**, elija **Crear un conjunto de registros**.

     1. En **Nombre del registro**, ingrese únicamente su ID de cuenta de Snowflake (los primeros 8 caracteres en `privatelink-account-url`).

     1. En **Tipo de registro**, seleccione **CNAME**.

     1. En **Valor**, ingrese el nombre de DNS del punto de conexión de VPC regional que ha recuperado en el último paso de la sección *Configuración de la integración de AWS PrivateLink con Snowflake*.   
![\[La sección Registro de creación rápida de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-quick-create-record.png)

     1. Elija **Crear registros**.

     1. Repita los pasos anteriores para el registro OCSP del que tomó nota como `privatelink-ocsp-url`, comenzando con `ocsp` hasta el ID de Snowflake de 8 caracteres para el nombre del registro (como `ocsp.xxxxxxxx`).  
![\[La sección Registro de creación rápida de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-quick-create-ocsp.png)

##### Configuración del punto de conexión entrante del solucionador de Route 53 para su VPC
<a name="data-wrangler-snowflake-vpc-privatelink-route53"></a>

En esta sección se explica cómo configurar el DNS para los puntos de conexión de los solucionadores de Route 53 en su VPC.

1. Navegue hasta el [menú Route 53](https://console.aws.amazon.com/route53) de AWS la consola.
   + En el panel izquierdo de la sección **Seguridad**, seleccione la opción **Grupos de seguridad**.

1. Elija **Creación de grupo de seguridad**. 
   + Escriba un nombre y una descripción para el grupo de seguridad (como `datawranger-doc-route53-resolver-sg`).
   + Seleccione el ID de VPC que utilizó en los pasos anteriores.
   + Cree reglas que permitan el DNS a través de UDP y TCP desde el bloque CIDR de la VPC.   
![\[La sección Reglas de entrada de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-inbound-rules.png)
   + Elija **Creación de grupo de seguridad**. Tome nota del **ID del grupo de seguridad** porque agrega una regla para permitir el tráfico al grupo de seguridad del punto de conexión de VPC.

1. Navegue hasta el [menú Route 53](https://console.aws.amazon.com/route53) de AWS la consola.
   + En la sección **Solucionador**, seleccione la opción **Punto de conexión de entrada**.

1. Elija **Crear un punto de conexión de entrada**. 
   + Proporcione un nombre para el punto de conexión.
   + En la lista desplegable **VPC de la región**, seleccione el ID de VPC que utilizó en todos los pasos anteriores. 
   + En la lista desplegable **Grupo de seguridad para este punto de conexión**, seleccione el ID del grupo de seguridad del paso 2 de esta sección.   
![\[La sección Configuración general del punto de conexión de entrada de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-inbound-endpoint.png)
   + En la sección **Dirección IP**, seleccione una zona de disponibilidad, seleccione una subred y deje el selector de opción de **Usar una dirección IP seleccionada automáticamente** para cada dirección IP.   
![\[La sección Dirección IP de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-ip-address-1.png)
   + Seleccione **Enviar**.

1. Seleccione el **Punto de conexión de entrada** después de haberlo creado.

1. Una vez creado el punto de conexión de entrada, tome nota de las dos direcciones IP de los solucionadores.  
![\[La sección Direcciones IP de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/snowflake-ip-addresses-2.png)

##### SageMaker Puntos finales de VPC con IA
<a name="data-wrangler-snowflake-sagemaker-vpc-endpoints"></a>

 En esta sección se explica cómo crear puntos de enlace de VPC para lo siguiente: Amazon SageMaker Studio Classic, SageMaker Notebooks, la SageMaker API, SageMaker Runtime Runtime y Amazon SageMaker Feature Store Runtime.

**Creación de un grupo de seguridad que se aplique a todos los puntos de conexión**

1. Navegue hasta el [menú EC2 de](https://console.aws.amazon.com/ec2) la consola. AWS 

1. En la sección **Red y seguridad**, seleccione la opción **Grupos de seguridad**.

1. Elija **Creación de grupo de seguridad**.

1. Proporcione un nombre y una descripción para el grupo de seguridad (como `datawrangler-doc-sagemaker-vpce-sg`). Más adelante se agrega una regla para permitir el tráfico a través de HTTPS desde SageMaker AI a este grupo. 

**Creación de los puntos de conexión**

1. Navegue hasta el [menú de VPC](https://console.aws.amazon.com/vpc) en la AWS consola.

1. Seleccione la opción **Puntos de conexión**.

1. Seleccione **Crear punto de conexión**.

1. Para buscar el servicio, introduzca el nombre en el campo **Buscar**.

1. En la lista desplegable de **VPC**, seleccione la VPC en la que existe la conexión de Snowflake. AWS PrivateLink 

1. En la sección Subredes, selecciona **las subredes** que tienen acceso a la conexión de Snowflake. PrivateLink 

1. En **Habilitar nombre de DNS**, deje la casilla seleccionada.

1. En la sección **Grupos de seguridad**, seleccione el grupo de seguridad que creó en la sección anterior.

1. Seleccione **Crear punto de conexión**.

**Configuración de Studio Classic y Data Wrangler**

En esta sección, se explica cómo configurar Studio Classic y Data Wrangler.

1. Configure el grupo de seguridad.

   1. Navegue hasta el menú Amazon EC2 de la AWS consola.

   1. Seleccione la opción **Grupos de seguridad** en la sección **Red y seguridad**.

   1. Elija **Creación de grupo de seguridad**. 

   1. Proporcione un nombre y una descripción para el grupo de seguridad (como `datawrangler-doc-sagemaker-studio`). 

   1. Cree las siguientes reglas de entrada.
      + La conexión HTTPS al grupo de seguridad que aprovisionó para la PrivateLink conexión con Snowflake que creó en el paso de *configuración* de la integración con Snowflake. PrivateLink 
      + *La conexión HTTP al grupo de seguridad que aprovisionó para la conexión con Snowflake que creó en el paso Configurar la PrivateLink integración con Snowflake. PrivateLink *
      + El grupo de seguridad UDP y TCP para DNS (puerto 53) al punto de conexión del solucionador de Route 53 que creó en el paso 2 de la *Configuración del punto de conexión entrante del solucionador de Route 53 para su VPC*.

   1. Elija el botón **Crear grupo de seguridad** en la esquina inferior derecha.

1. Configure Studio Classic.
   + Navegue hasta el menú SageMaker AI de la consola. AWS 
   + En la consola de la izquierda, selecciona la opción **SageMaker AI Studio Classic**.
   + Si no tiene ningún dominio configurado, aparecerá el menú **Introducción**.
   + Seleccione la opción **Configuración estándar** en el menú **Introducción**.
   + En **Método de autenticación**, elija **AWS Identity and Access Management (IAM)**.
   + En el menú **Permisos**, puede crear un rol nuevo o usar un rol que ya exista, según su caso de uso.
     + Si elige **Crear un nuevo rol**, tendrá la opción de proporcionar un nombre de bucket de S3 y se generará una política en su nombre.
     + Si ya ha creado un rol con permisos para los buckets de S3 a los que necesita acceso, seleccione el rol en la lista desplegable. Este rol debe tener asociada la política de `AmazonSageMakerFullAccess`.
   + Seleccione la lista desplegable **Red y almacenamiento** para configurar la VPC, la seguridad y las SageMaker subredes que utiliza la IA.
     + En **VPC, seleccione la VPC** en la que existe la conexión de Snowflake. PrivateLink 
     + En **Subredes**, seleccione las subredes que tienen acceso a la conexión de Snowflake. PrivateLink
     + En **Acceso de red para Studio Classic **, seleccione **Solo VPC**.
     + En **Grupos de seguridad**, seleccione el grupo de seguridad que creó en el paso 1.
   + Seleccione **Enviar**.

1. Edite el grupo de seguridad de SageMaker IA.
   + Cree las siguientes reglas de entrada:
     + Puerto 2049 para los grupos de seguridad NFS entrantes y salientes creados automáticamente por SageMaker AI en el paso 2 (los nombres de los grupos de seguridad contienen el ID de dominio de Studio Classic).
     + Acceso a todos los puertos TCP consigo mismo (necesario solo para SageMaker AI para VPC).

1. Edite los grupos de seguridad de puntos de conexión de VPC:
   + Navegue hasta el menú Amazon EC2 de la AWS consola.
   + Busque el grupo de seguridad que ha creado en un paso anterior.
   + Agregue una regla de entrada que permita el tráfico HTTPS desde el grupo de seguridad creado en el paso 1.

1. Cree un perfil de usuario.
   + En el **panel de control de SageMaker Studio Classic**, seleccione **Añadir usuario**.
   + Proporcione un nombre de usuario. 
   + En **Rol de ejecución**, elija crear un nuevo rol o utilizar uno que ya exista.
     + Si elige **Crear un nuevo rol**, tendrá la opción de proporcionar un nombre de bucket de Amazon S3 y se generará una política en su nombre.
     + Si ya ha creado un rol con permisos para los buckets de Amazon S3 a los que necesita acceso, seleccione el rol en la lista desplegable. Este rol debe tener asociada la política de `AmazonSageMakerFullAccess`.
   + Seleccione **Enviar**. 

1. Cree un flujo de datos (siga la guía para científicos de datos descrita en la sección anterior). 
   + Al añadir una conexión con Snowflake, introduzca el valor de `privatelink-account-name` (del paso de *configuración de la PrivateLink integración con Snowflake*) en el campo del nombre de la cuenta de **Snowflake (alfanumérico), en lugar del nombre simple de la cuenta** de Snowflake. Todo lo demás permanece inalterado.

#### Proporcionar información al científico de datos
<a name="data-wrangler-snowflake-admin-ds-info"></a>

Proporcione al científico de datos la información que necesita para acceder a Snowflake desde Amazon SageMaker AI Data Wrangler.

**importante**  
Sus usuarios deben ejecutar Amazon SageMaker Studio Classic, versión 1.3.0 o posterior. Para obtener más información sobre cómo comprobar la versión de Studio Classic y cómo actualizarla, consulte [Prepare datos de aprendizaje automático con Amazon SageMaker Data Wrangler](data-wrangler.md).

1. Para que su científico de datos pueda acceder a Snowflake desde SageMaker Data Wrangler, bríndele una de las siguientes opciones:
   + Para la autenticación básica, un nombre de cuenta, un nombre de usuario y una contraseña de Snowflake.
   + Para OAuth, un nombre de usuario y una contraseña en el proveedor de identidad.
   + Para ARN, el nombre de recurso de Amazon (ARN) del secreto de Secrets Manager.
   + Un secreto creado con [AWS Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) y el ARN del secreto. Utilice el siguiente procedimiento para crear el secreto de Snowflake si elige esta opción.
**importante**  
Si los científicos de datos utilizan la opción **Credenciales de Snowflake (nombre de usuario y contraseña)** para conectarse a Snowflake, puede usar [Secrets Manager](https://docs.aws.amazon.com/secretsmanager/latest/userguide/intro.html) para almacenar las credenciales en un secreto. Secrets Manager rota los secretos como parte de un plan de seguridad de prácticas recomendadas. Solo se puede acceder al secreto creado en Secrets Manager con el rol de Studio Classic configurado al definir un perfil de usuario de Studio Classic. Esto requiere que añada este permiso, `secretsmanager:PutResourcePolicy`, a la política asociada a su rol de Studio Classic.  
Se recomienda encarecidamente modificar la política de roles para usar diferentes roles para distintos grupos de usuarios de Studio Classic. Puede agregar permisos adicionales basados en recursos para los secretos de Secrets Manager. Consulte [Manage Secret Policy](https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_secret-policy.html) para ver las claves de condición que puede usar.  
Para obtener información acerca de cómo crear un secreto, consulte [Creación de un secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create_secret.html). Se le cobrará por los secretos que cree.

1. De forma opcional, puede proporcionar al científico de datos el nombre de la integración de almacenamiento que creó mediante el siguiente procedimiento: [Create a Cloud Storage Integration in Snowflake](                                      https://docs.snowflake.com/en/user-guide/data-load-s3-config-storage-integration.html#step-3-create-a-cloud-storage-integration-in-snowflake). Este es el nombre de la nueva integración y se llama `integration_name` en el comando SQL `CREATE INTEGRATION` que ejecutó, que se muestra en el siguiente fragmento: 

   ```
     CREATE STORAGE INTEGRATION integration_name
     TYPE = EXTERNAL_STAGE
     STORAGE_PROVIDER = S3
     ENABLED = TRUE
     STORAGE_AWS_ROLE_ARN = 'iam_role'
     [ STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control' ]
     STORAGE_ALLOWED_LOCATIONS = ('s3://bucket/path/', 's3://bucket/path/')
     [ STORAGE_BLOCKED_LOCATIONS = ('s3://bucket/path/', 's3://bucket/path/') ]
   ```

### Guía para científicos de datos
<a name="data-wrangler-snowflake-ds"></a>

Utilice lo siguiente para conectarse a Snowflake y acceder a sus datos en Data Wrangler.

**importante**  
Su administrador tiene que usar la información de las secciones anteriores para configurar Snowflake. Si tiene problemas, póngase en contacto con ellos para obtener ayuda con la solución de problemas.

Puede conectarse a Snowflake de una de las siguientes formas:
+ Especifique sus credenciales de Snowflake (nombre de cuenta, nombre de usuario y contraseña) en Data Wrangler. 
+ Proporcione un nombre de recurso de Amazon (ARN) de un secreto que contenga las credenciales.
+ Uso de un proveedor de delegación de acceso (OAuth) estándar abierto que se conecte a Snowflake. El administrador puede darle acceso a uno de los siguientes proveedores: OAuth 
  + [Azure AD](https://docs.snowflake.com/en/user-guide/oauth-azure.html)
  + [Okta](https://docs.snowflake.com/en/user-guide/oauth-okta.html)
  + [Ping Federate](https://docs.snowflake.com/en/user-guide/oauth-pingfed.html)

Hable con su administrador sobre el método que debe utilizar para conectarse a Snowflake.

En las siguientes secciones se proporciona información acerca de la conexión a Snowflake mediante los métodos anteriores.

------
#### [ Specifying your Snowflake Credentials ]

**Para importar un conjunto de datos a Data Wrangler desde Snowflake con sus credenciales**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Snowflake**.

1. En **Nombre de la conexión**, especifique un nombre que identifique la conexión de forma exclusiva.

1. En **Método de autenticación**, elija **Nombre de usuario y contraseña básicos**.

1. En **Nombre de la cuenta de Snowflake (alfanumérico)**, especifique el nombre completo de la cuenta de Snowflake.

1. En **Nombre de usuario**, especifique el nombre de usuario que utiliza para acceder a la cuenta de Snowflake.

1. En **Contraseña**, especifique la contraseña asociada con la cuenta de usuario.

1. De forma opcional, en **Configuración avanzada**, especifique lo siguiente:
   + **Rol**: un rol de Snowflake. Algunos roles tienen acceso a diferentes conjuntos de datos. Si no especifica un rol, Data Wrangler utiliza el rol predeterminado de su cuenta de Snowflake.
   + **Integración de almacenamiento**: si especifica y ejecuta una consulta, Data Wrangler crea una copia temporal de los resultados de la consulta en la memoria. Para almacenar una copia permanente de los resultados de la consulta, especifique la ubicación de Amazon S3 para la integración de almacenamiento. El administrador le proporcionó el URI de S3.
   + **ID de clave de KMS**: la clave de KMS que ha creado. Puede especificar su ARN para cifrar el resultado de la consulta de Snowflake. De no ser así, Data Wrangler utiliza el cifrado predeterminado.

1. Elija **Conectar**.

------
#### [ Providing an Amazon Resource Name (ARN) ]

**Para importar un conjunto de datos a Data Wrangler desde Snowflake con un ARN**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Snowflake**.

1. En **Nombre de la conexión**, especifique un nombre que identifique la conexión de forma exclusiva.

1. En **Método de autenticación**, elija **ARN**.

1. **Secrets Manager ARN**: el ARN del AWS Secrets Manager secreto utilizado para almacenar las credenciales utilizadas para conectarse a Snowflake.

1. De forma opcional, en **Configuración avanzada**, especifique lo siguiente:
   + **Rol**: un rol de Snowflake. Algunos roles tienen acceso a diferentes conjuntos de datos. Si no especifica un rol, Data Wrangler utiliza el rol predeterminado de su cuenta de Snowflake.
   + **Integración de almacenamiento**: si especifica y ejecuta una consulta, Data Wrangler crea una copia temporal de los resultados de la consulta en la memoria. Para almacenar una copia permanente de los resultados de la consulta, especifique la ubicación de Amazon S3 para la integración de almacenamiento. El administrador le proporcionó el URI de S3.
   + **ID de clave de KMS**: la clave de KMS que ha creado. Puede especificar su ARN para cifrar el resultado de la consulta de Snowflake. De no ser así, Data Wrangler utiliza el cifrado predeterminado.

1. Elija **Conectar**.

------
#### [ Using an OAuth Connection ]

**importante**  
El administrador ha personalizado el entorno de Studio Classic para proporcionar la funcionalidad que se utiliza para utilizar una conexión. OAuth Puede que tenga que reiniciar la aplicación del servidor de Jupyter para utilizar la funcionalidad.  
Utilice el siguiente procedimiento para actualizar la aplicación del servidor de Jupyter.  
En Studio Classic, elija **Archivo**
Elija **Apagar**.
Elija **Apagar el servidor**.
Cierre la pestaña o ventana que utiliza para acceder a Studio Classic.
Desde la consola Amazon SageMaker AI, abre Studio Classic.

**Para importar un conjunto de datos a Data Wrangler desde Snowflake con sus credenciales**

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, seleccione **Snowflake**.

1. En **Nombre de la conexión**, especifique un nombre que identifique la conexión de forma exclusiva.

1. Para el **método de autenticación**, elija **OAuth**.

1. De forma opcional, en **Configuración avanzada**, especifique lo siguiente:
   + **Rol**: un rol de Snowflake. Algunos roles tienen acceso a diferentes conjuntos de datos. Si no especifica un rol, Data Wrangler utiliza el rol predeterminado de su cuenta de Snowflake.
   + **Integración de almacenamiento**: si especifica y ejecuta una consulta, Data Wrangler crea una copia temporal de los resultados de la consulta en la memoria. Para almacenar una copia permanente de los resultados de la consulta, especifique la ubicación de Amazon S3 para la integración de almacenamiento. El administrador le proporcionó el URI de S3.
   + **ID de clave de KMS**: la clave de KMS que ha creado. Puede especificar su ARN para cifrar el resultado de la consulta de Snowflake. De no ser así, Data Wrangler utiliza el cifrado predeterminado.

1. Elija **Conectar**.

------

Puede iniciar el proceso de importación de los datos desde Snowflake una vez que se haya conectado.

En Data Wrangler, puede ver sus almacenamientos de datos, bases de datos y esquemas, junto con el icono en forma de ojo con el que puede obtener una vista previa de la tabla. Tras seleccionar el icono de **Vista previa de la tabla**, se genera la vista previa del esquema de esa tabla. Tiene que seleccionar un almacén para poder previsualizar una tabla.

**importante**  
Si va a importar un conjunto de datos con columnas del tipo `TIMESTAMP_TZ` o `TIMESTAMP_LTZ`, agregue `::string` a los nombres de las columnas de su consulta. Para obtener más información, consulte [How To: Unload TIMESTAMP\$1TZ and TIMESTAMP\$1LTZ data to a Parquet file](https://community.snowflake.com/s/article/How-To-Unload-Timestamp-data-in-a-Parquet-file).

Tras seleccionar un almacenamiento de datos, una base de datos y un esquema, ya puede escribir consultas y ejecutarlas. El resultado de la consulta se muestra en **Resultados de la consulta**.

Una vez que haya establecido el resultado de la consulta, puede importarlo a un flujo de Data Wrangler para realizar transformaciones de datos. 

Después de importar los datos, vaya al flujo de Data Wrangler y comience a agregar transformaciones. Para ver la lista de transformaciones disponibles, consulte [Datos de transformación](data-wrangler-transform.md).

## Importación de datos de plataformas de software como servicio (SaaS)
<a name="data-wrangler-import-saas"></a>

Puede utilizar Data Wrangler para importar datos de más de cuarenta plataformas de software como servicio (SaaS). Para importar los datos de su plataforma SaaS, usted o su administrador deben utilizar Amazon AppFlow para transferir los datos de la plataforma a Amazon S3 o Amazon Redshift. Para obtener más información sobre Amazon AppFlow, consulta [¿Qué es Amazon AppFlow?](https://docs.aws.amazon.com/appflow/latest/userguide/what-is-appflow.html) Si no necesita usar Amazon Redshift, se recomienda transferir los datos a Amazon S3 para simplificar el proceso.

Data Wrangler admite la transferencia de datos desde las siguientes plataformas SaaS:
+ [Amplitude](https://docs.aws.amazon.com/appflow/latest/userguide/amplitude.html)
+ [Asana](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-asana.html)
+ [Braintree](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-braintree.html)
+ [CircleCI](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-circleci.html)
+ [DocuSign Monitorización](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-docusign-monitor.html)
+ [Delighted](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-delighted.html)
+ [Domo](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-domo.html)
+ [Datadog](https://docs.aws.amazon.com/appflow/latest/userguide/datadog.html)
+ [Dynatrace](https://docs.aws.amazon.com/appflow/latest/userguide/dynatrace.html)
+ [Facebook Ads](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-ads.html)
+ [Insights de la página de Facebook](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-facebook-page-insights.html)
+ [Google Ads](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-ads.html)
+ [Google Analytics 4](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-analytics-4.html)
+ [Google Calendar](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-calendar.html)
+ [Consola de búsqueda de Google](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-google-search-console.html)
+ [GitHub](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-github.html)
+ [GitLab](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-gitlab.html)
+ [Infor Nexus](https://docs.aws.amazon.com/appflow/latest/userguide/infor-nexus.html)
+ [Publicidad en Instagram](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-instagram-ads.html)
+ [Intercom](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-intercom.html)
+ [JDBC (sinc)](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-jdbc.html)
+ [Jira Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-jira-cloud.html)
+ [LinkedIn ¿Anuncios](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-linkedin-ads.html)
+ [Mailchimp](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mailchimp.html)
+ [Marketo](https://docs.aws.amazon.com/appflow/latest/userguide/marketo.html)
+ [Microsoft Dynamics 365](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-microsoft-dynamics-365.html)
+ [Microsoft Teams](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-microsoft-teams.html)
+ [Mixpanel](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-mixpanel.html)
+ [Okta](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-okta.html)
+ [Oracle HCM](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-oracle-hcm.html)
+ [Paypal Checkout](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-paypal.html)
+ [Pendo](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-pendo.html)
+ [Salesforce](https://docs.aws.amazon.com/appflow/latest/userguide/salesforce.html)
+ [Salesforce Marketing Cloud](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-salesforce-marketing-cloud.html)
+ [Salesforce Pardot](https://docs.aws.amazon.com/appflow/latest/userguide/pardot.html)
+ [SAP OData](https://docs.aws.amazon.com/appflow/latest/userguide/sapodata.html)
+ [SendGrid](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-sendgrid.html)
+ [ServiceNow](https://docs.aws.amazon.com/appflow/latest/userguide/servicenow.html)
+ [Singular](https://docs.aws.amazon.com/appflow/latest/userguide/singular.html)
+ [Slack](https://docs.aws.amazon.com/appflow/latest/userguide/slack.html)
+ [Smartsheet](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-smartsheet.html)
+ [Snapchat Ads](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-snapchat-ads.html)
+ [Stripe](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-stripe.html)
+ [Trend Micro](https://docs.aws.amazon.com/appflow/latest/userguide/trend-micro.html)
+ [Typeform](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-typeform.html)
+ [Veeva](https://docs.aws.amazon.com/appflow/latest/userguide/veeva.html)
+ [WooCommerce](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-woocommerce.html)
+ [Zendesk](https://docs.aws.amazon.com/appflow/latest/userguide/slack.html)
+ [Zendesk Chat](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-chat.html)
+ [Zendesk Sell](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sell.html)
+ [Zendesk Sunshine](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zendesk-sunshine.html)
+ [Zoho CRM](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zoho-crm.html)
+ [Zoom Meetings](https://docs.aws.amazon.com/appflow/latest/userguide/connectors-zoom-meetings.html)

La lista anterior contiene enlaces a más información sobre la configuración del origen de datos. Usted o su administrador pueden consultar los enlaces anteriores después de leer la siguiente información.

Cuando vaya a la pestaña **Importación** de su flujo de Data Wrangler, verá los orígenes de datos en las siguientes secciones:
+ **Disponible**
+ **Configurar orígenes de datos**

Puede conectarse a los orígenes de datos en **Disponible** sin necesidad de una configuración adicional. Puede elegir el origen de datos e importar los datos.

Fuentes de datos en **Configurar fuentes de datos**, requiere que usted o su administrador utilicen Amazon AppFlow para transferir los datos de la plataforma SaaS a Amazon S3 o Amazon Redshift. Para obtener información sobre cómo realizar una transferencia, consulte [Cómo usar Amazon AppFlow para transferir tus datos](#data-wrangler-import-saas-transfer).

Tras realizar la transferencia de datos, la plataforma SaaS aparece como origen de datos en **Disponible**. Puede elegirla e importar los datos que ha transferido a Data Wrangler. Los datos que ha transferido aparecen en forma de tablas que puede consultar.

### Cómo usar Amazon AppFlow para transferir tus datos
<a name="data-wrangler-import-saas-transfer"></a>

Amazon AppFlow es una plataforma que puede utilizar para transferir datos desde su plataforma SaaS a Amazon S3 o Amazon Redshift sin tener que escribir ningún código. Para realizar una transferencia de datos, utilice la Consola de administración de AWS.

**importante**  
Tiene que asegurarse de haber configurado los permisos para realizar una transferencia de datos. Para obtener más información, consulte [AppFlow Permisos de Amazon](data-wrangler-security.md#data-wrangler-appflow-permissions).

Una vez que haya agregado los permisos, podrá transferir los datos. En Amazon AppFlow, se crea un *flujo* para transferir los datos. Un flujo es una serie de configuraciones. Sirve para especificar si va a ejecutar la transferencia de datos de forma programada o si va a particionar los datos en archivos independientes. Una vez configurado el flujo, lo ejecuta para transferir los datos.

Para obtener información sobre cómo crear un flujo, consulta [Crear flujos en Amazon AppFlow](https://docs.aws.amazon.com/appflow/latest/userguide/create-flow.html). Para obtener información sobre cómo ejecutar un flujo, consulta [Activar un AppFlow flujo de Amazon](https://docs.aws.amazon.com/appflow/latest/userguide/run-flow.html).

Una vez transferidos los datos, utilice el siguiente procedimiento para acceder a los datos en Data Wrangler.
**importante**  
Antes de intentar acceder a los datos, asegúrese de que su rol de IAM tenga la siguiente política:  

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "glue:SearchTables",
            "Resource": [
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:catalog"
            ]
        }
    ]
}
```
De forma predeterminada, el rol de IAM que utiliza para acceder a Data Wrangler es `SageMakerExecutionRole`. Para obtener más información acerca de la adición de políticas, consulte [Adición de permisos de identidad de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

Para conectarse a un origen de datos, haga lo siguiente.

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker).

1. Elija **Studio**.

1. Elija **Lanzar aplicación**.

1. En la lista desplegable, seleccione **Studio**.

1. Elija el icono Inicio.

1. Elija **Datos**.

1. Elija **Data Wrangler**.

1. Elija **Importar datos**.

1. En **Disponible**, elija el origen de datos.

1. En el campo **Nombre**, especifique el nombre de la conexión.

1. De forma opcional, elija **Configuración avanzada**.

   1. Elija un **Grupo de trabajo**.

   1. Si su grupo de trabajo no ha impuesto la ubicación de salida de Amazon S3 o si no utiliza un grupo de trabajo, especifique un valor para la **Ubicación de Amazon S3 de los resultados de la consulta**.

   1. De forma opcional, para **Período de retención de datos**, seleccione la casilla de verificación para establecer un período de retención de datos y especifique el número de días que se almacenarán los datos antes de que se eliminen.

   1. (Opcional) De forma predeterminada, Data Wrangler guarda la conexión. Puede optar por quitar la marca de selección de la casilla de verificación y no guardar la conexión.

1. Elija **Conectar**.

1. Especifique una consulta.
**nota**  
Para ayudarle a especificar una consulta, puede elegir una tabla en el panel de navegación de la izquierda. Data Wrangler muestra el nombre de la tabla y una vista previa de la misma. Elija el icono situado junto al nombre de la tabla para copiarlo. Puede utilizar el nombre de la tabla en la consulta.

1. Seleccione **Ejecutar**.

1. Elija **Importar consulta**.

1. En **Nombre del conjunto de datos**, especifique el nombre del conjunto de datos.

1. Elija **Añadir**.

Cuando acceda a la pantalla **importar datos**, verá la conexión que ha creado. Puede usar la conexión para importar más datos.

## Almacenamiento de datos importados
<a name="data-wrangler-import-storage"></a>

**importante**  
 Se recomienda encarecidamente seguir las prácticas recomendadas para proteger el bucket de Amazon S3 según las [Prácticas recomendadas de seguridad](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html). 

Cuando consulta datos de Amazon Athena o Amazon Redshift, el conjunto de datos consultado se almacena automáticamente en Amazon S3. Los datos se almacenan en el depósito de SageMaker AI S3 predeterminado de la AWS región en la que utilice Studio Classic.

Los buckets de S3 predeterminados tienen la siguiente convención de nomenclatura: `sagemaker-region-account number`. Por ejemplo, si su número de cuenta es 111122223333 y utiliza Studio Classic en `us-east-1`, los conjuntos de datos importados se almacenan en `sagemaker-us-east-1-`111122223333. 

 Los flujos de Data Wrangler dependen de la ubicación de este conjunto de datos de Amazon S3, por lo que no debe modificar este conjunto de datos en Amazon S3 mientras utilice un flujo dependiente. Si modifica esta ubicación de S3 y desea seguir utilizando su flujo de datos, debe eliminar todos los objetos en `trained_parameters` en su archivo .flow. Para ello, descargue el archivo .flow de Studio Classic y elimine todas las entradas para cada instancia de `trained_parameters`. Cuando termine, `trained_parameters` debería ser un objeto JSON vacío:

```
"trained_parameters": {}
```

Cuando exporta y utiliza su flujo de datos para procesar sus datos, el archivo .flow que exporta hace referencia a este conjunto de datos en Amazon S3. Consulte las siguientes secciones para obtener más información. 

### Almacenamiento de importación en Amazon Redshift
<a name="data-wrangler-import-storage-redshift"></a>

Data Wrangler almacena los conjuntos de datos que resultan de su consulta en un archivo Parquet en su depósito de SageMaker AI S3 predeterminado. 

Este archivo se almacena con el siguiente prefijo (directorio): redshift/ *uuid* /data/, donde *uuid* se crea un identificador único para cada consulta. 

Por ejemplo, si su bucket predeterminado es`sagemaker-us-east-1-111122223333`, un único conjunto de datos consultado desde Amazon Redshift se encuentra en s3:sagemaker-us-east//-1-111122223333/redshift/ /data/. *uuid*

### Almacenamiento de importación de Amazon Athena
<a name="data-wrangler-import-storage-athena"></a>

Cuando consulta una base de datos de Athena e importa un conjunto de datos, Data Wrangler almacena el conjunto de datos, así como un subconjunto de ese conjunto de datos, o *archivos vista previa*, en Amazon S3. 

El conjunto de datos que importe al seleccionar **Importar conjunto de datos** se almacena en formato Parquet en Amazon S3. 

Los archivos de vista previa se escriben en formato CSV al seleccionar **Ejecutar** en la pantalla de importación de Athena y contienen hasta 100 filas del conjunto de datos consultado. 

El conjunto de datos que consulta se encuentra bajo el prefijo (directorio): *uuid* athena/ /data/, donde se crea un identificador único para cada consulta. *uuid*

Por ejemplo, si tu bucket predeterminado es`sagemaker-us-east-1-111122223333`, un único conjunto de datos consultado desde Athena se encuentra `s3://sagemaker-us-east-1-111122223333` en *uuid* /athena/ /data/. *example\$1dataset.parquet*

El subconjunto del conjunto de datos que se almacena para previsualizar los marcos de datos en Data Wrangler se almacena con el prefijo: athena/.

# Creación y uso de un flujo de Data Wrangler
<a name="data-wrangler-data-flow"></a>

Utilice un flujo de Amazon SageMaker Data Wrangler, o un flujo de *datos*, para crear y modificar una canalización de preparación de datos. El flujo de datos conecta los conjuntos de datos, las transformaciones y los análisis, o *pasos*, que cree, y puede usarse para definir su canalización. 

## instancias
<a name="data-wrangler-data-flow-instances"></a>

Cuando crea un flujo de Data Wrangler en Amazon SageMaker Studio Classic, Data Wrangler utiliza una instancia de Amazon EC2 para ejecutar los análisis y las transformaciones de su flujo. De forma predeterminada, Data Wrangler usa la instancia m5.4xlarge. Las instancias m5 son instancias de uso general que proporcionan un equilibrio entre computación y memoria. Puede usar instancias m5 para una variedad de cargas de trabajo de computación.

Data Wrangler también le ofrece la opción de usar instancias r5. Las instancias r5 están diseñadas para ofrecer un rendimiento rápido al procesar grandes conjuntos de datos en la memoria.

Se recomienda elegir la instancia que esté mejor optimizada en función de sus cargas de trabajo. Por ejemplo, r5.8xlarge puede tener un precio más alto que m5.4xlarge, pero r5.8xlarge podría estar mejor optimizada para sus cargas de trabajo. Con instancias mejor optimizadas, puede ejecutar flujos de datos en menos tiempo y a un costo menor.

La siguiente tabla muestra las instancias que puede utilizar para ejecutar el flujo de Data Wrangler.


| Instancia estándar | vCPU | Memoria | 
| --- | --- | --- | 
| ml.m5.4xlarge | 16 | 64 GiB | 
| ml.m5.8xlarge | 32 | 128 GiB | 
| ml.m5.16xlarge | 64 |  256 GiB  | 
| ml.m5.24xlarge | 96 | 384 GiB | 
| r5.4xlarge | 16 | 128 GiB | 
| r5.8xlarge | 32 | 256 GiB | 
| r5.24xlarge | 96 | 768 GiB | 

Para obtener más información acerca de las instancias r5, consulte [Instancias R5 de Amazon EC2](https://aws.amazon.com/ec2/instance-types/r5/). Para obtener más información acerca de las instancias m5, consulte [Instancias M5 de Amazon EC2](https://aws.amazon.com/ec2/instance-types/m5/).

Cada flujo de Data Wrangler tiene asociada una instancia de Amazon EC2. Es posible que tenga varios flujos asociados a una sola instancia.

Puede cambiar el tipo de instancia para cada archivo de flujo sin problemas. Si cambia el tipo de instancia, la instancia que utilizó para ejecutar el flujo seguirá ejecutándose.

Para cambiar el tipo de instancia del flujo, haga lo siguiente.

1. Elija el icono de **Terminales y kernels en ejecución** (![\[Black square icon representing a placeholder or empty image.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/icons/running-terminals-kernels.png)).

1. Vaya a la instancia que utiliza y elíjala.

1. Elija el tipo de instancia que desea utilizar.  
![\[Ejemplo que muestra cómo elegir una instancia en la página de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-instance-switching-list-instances.png)

1. Seleccione **Save**.

Se cobrará por todas las instancias en ejecución. Para evitar incurrir en cargos adicionales, apague manualmente las instancias que no utilice. Utilice el siguiente procedimiento para apagar una instancia en ejecución. 

Para apagar una instancia en ejecución.

1. Elija el icono de instancia. La siguiente imagen muestra dónde seleccionar el icono de **INSTANCIAS EN EJECUCIÓN**.  
![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/instance-switching-running-instances.png)

1. Elija **Apagar** junto a la instancia que desee apagar.

Si apaga una instancia utilizada para ejecutar un flujo, no podrás acceder al flujo temporalmente. Si recibe un error al intentar abrir un flujo que ejecuta una instancia que apagó previamente, espere 5 minutos e intente abrirlo de nuevo.

Cuando exporta su flujo de datos a una ubicación como Amazon Simple Storage Service o Amazon SageMaker Feature Store, Data Wrangler ejecuta un trabajo de SageMaker procesamiento de Amazon. Puede utilizar una de las siguientes instancias para el trabajo de procesamiento. Para obtener más información sobre la exportación de datos, consulte [Exportación](data-wrangler-data-export.md).


| Instancia estándar | vCPU | Memoria | 
| --- | --- | --- | 
| ml.m5.4xlarge | 16 | 64 GiB | 
| ml.m5.12xlarge | 48 |  192 GiB  | 
| ml.m5.24xlarge | 96 | 384 GiB | 

[Para obtener más información sobre el coste por hora del uso de los tipos de instancias disponibles, consulta SageMaker los precios.](https://aws.amazon.com//sagemaker/pricing/) 

## La interfaz de usuario del flujo de datos
<a name="data-wrangler-data-flow-ui"></a>

Al importar un conjunto de datos, el conjunto de datos original aparece en el flujo de datos y se denomina **Origen**. Si activó el muestreo al importar los datos, este conjunto de datos se denomina **Origen: muestreado**. Data Wrangler infiere automáticamente los tipos de cada columna de su conjunto de datos y crea un nuevo marco de datos denominado **Tipos de datos**. Puede seleccionar este marco para actualizar los tipos de datos inferidos. Verá resultados similares a los que se muestran en la siguiente imagen después de cargar un conjunto de datos: 

![\[Ejemplo que muestra Origen - muestreado y Tipos de datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/dataflow-after-import.png)


Cada vez que agregue un paso de transformación, creará un marco de datos nuevo. Cuando se agregan varios pasos de transformación (salvo **Unir** o **Concatenar**) al mismo conjunto de datos, estos se apilan. 

**Unir** y **Concatenar** crean pasos independientes que contienen el nuevo conjunto de datos unido o concatenado. 

El siguiente diagrama muestra un flujo de datos con una unión entre dos conjuntos de datos, así como dos pilas de pasos. La primera pila (**Pasos [2])** agrega dos transformaciones al tipo inferido en el conjunto de datos de **Tipos de datos**. La pila *descendente*, o la pila de la derecha, agrega transformaciones al conjunto de datos resultantes de una unión denominada **demo-join**. 

![\[Ejemplo que muestra los pasos en la página de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-flow-steps.png)


El pequeño cuadro gris situado en la esquina inferior derecha del flujo de datos proporciona una descripción general del número de pilas y pasos del flujo, así como del diseño del flujo. El cuadro más claro dentro del cuadro gris indica los pasos que se encuentran dentro de la vista de la interfaz de usuario. Puede usar este cuadro para ver las secciones del flujo de datos que quedan fuera de la vista de la interfaz de usuario. Use el icono de ajuste de pantalla (![\[Dotted square outline icon representing a placeholder or empty state.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/fit-screen.png)) para incluir todos los pasos y conjuntos de datos en la vista de interfaz de usuario. 

La barra de navegación inferior izquierda incluye iconos que puede usar para acercar (![\[Plus symbol icon representing an addition or new item action.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/zoom-in.png)) y alejar (![\[Horizontal line or divider, typically used to separate content sections.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/zoom-out.png)) el flujo de datos y cambiar el tamaño del flujo de datos para que se ajuste a la pantalla (![\[Dotted square outline icon representing a placeholder or empty state.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/fit-screen.png)). Utilice el icono de bloqueo (![\[Trash can icon representing deletion or removal functionality.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/lock-nodes.png)) para bloquear y desbloquear la ubicación de cada paso de la pantalla. 



## Adición de un paso al flujo de datos
<a name="data-wrangler-data-flow-add-step"></a>

Seleccione el signo **\$1** junto a cualquier conjunto de datos o paso agregado anteriormente y, a continuación, seleccione una de las siguientes opciones:
+ **Editar tipos de datos** (solo para un paso de **Tipos de datos**): si no ha agregado ninguna transformación a un paso de **Tipos de datos**, puede seleccionar **Editar tipos de datos** para actualizar los tipos de datos que Data Wrangler infirió al importar su conjunto de datos. 
+ **Agregar transformación**: agrega un nuevo paso de transformación. Consulte [Datos de transformación](data-wrangler-transform.md) para obtener más información sobre las transformaciones de datos que puede agregar. 
+ **Agregar análisis**: agrega un análisis. Puede utilizar esta opción para analizar los datos en cualquier punto del flujo de datos. Al agregar uno o más análisis a un paso, aparece un icono de análisis (![\[Bar chart icon representing data visualization or analytics functionality.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/updates/analysis-icon.png)) en ese paso. Consulte [Análisis y visualización](data-wrangler-analyses.md) para obtener más información sobre los análisis que puede agregar. 
+ **Unir**: une dos conjuntos de datos y agrega el conjunto de datos resultante al flujo de datos. Para obtener más información, consulte [Unir conjuntos de datos](data-wrangler-transform.md#data-wrangler-transform-join).
+ **Concatenar**: concatena dos conjuntos de datos y agrega el conjunto de datos resultante al flujo de datos. Para obtener más información, consulte [Concatenar conjuntos de datos](data-wrangler-transform.md#data-wrangler-transform-concatenate).

## Eliminación de un paso del flujo de datos
<a name="data-wrangler-data-flow-delete-step"></a>

Para eliminar un paso, seleccione el paso y seleccione **Eliminar**. Si el nodo es un nodo que tiene una sola entrada, solo se elimina el paso que se seleccione. Cuando se elimina un paso que tiene una sola entrada, no se eliminan los pasos que le siguen. Si va a eliminar un paso de un nodo de origen, una unión o una concatenación, también se eliminarán todos los pasos siguientes.

Para eliminar un paso de una pila de pasos, seleccione la pila y, a continuación, seleccione el paso que desee eliminar. 

Puede utilizar uno de los siguientes procedimientos para eliminar un paso sin eliminar los pasos posteriores.

------
#### [ Delete a step in the Data Wrangler flow ]

Puede eliminar un paso individual para los nodos del flujo de datos que tengan una sola entrada. No puede eliminar los pasos individuales de los nodos de origen, unión y concatenación.

Utilice el siguiente procedimiento para eliminar un paso del flujo de Data Wrangler.

1. Elija el grupo de pasos que contiene el paso que va a eliminar.

1. Elija el icono al lado del paso.

1. Elija **Eliminar paso**.  
![\[Ejemplo que muestra cómo eliminar un paso en la página de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/delete-step-flow-1.png)

------
#### [ Delete a step in the table view ]

Utilice el siguiente procedimiento para eliminar un paso de la vista de tabla.

Puede eliminar un paso individual para los nodos del flujo de datos que tengan una sola entrada. No puede eliminar los pasos individuales de los nodos de origen, unión y concatenación.

1. Elija el paso y abra la vista de tabla del paso.

1. Mueva el cursor sobre el paso para que aparezca el icono de puntos suspensivos.

1. Elija el icono al lado del paso.

1. Elija **Eliminar**.  
![\[Ejemplo que muestra cómo eliminar un paso en la vista de tabla de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/delete-step-table-0.png)

------

## Edición de un paso del flujo de Data Wrangler
<a name="data-wrangler-data-flow-edit-step"></a>

Puede editar cada paso que haya agregado al flujo de Data Wrangler. Al editar los pasos, puede cambiar las transformaciones o los tipos de datos de las columnas. Puede editar los pasos para realizar cambios que le permitan llevar a cabo mejores análisis.

Hay muchas maneras de editar un paso. Algunos ejemplos incluyen cambiar el método de imputación o cambiar el umbral para considerar que un valor es atípico.

Utilice el siguiente procedimiento para editar un paso.

Para editar un paso, haga lo siguiente.

1. Elija un paso del flujo de Data Wrangler para abrir la vista de tabla.  
![\[Ejemplo de paso en la página de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-flow-edit-choose-step.png)

1. Elija un paso del flujo de datos.

1. Edite el paso.

En la siguiente imagen se muestra un ejemplo de edición de un paso.

![\[Ejemplo que muestra cómo editar los pasos de la página de flujo de datos de la consola Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-flow-table-edit-step.png)


**nota**  
Puedes usar los espacios compartidos de tu dominio de Amazon SageMaker AI para trabajar de forma colaborativa en tus flujos de Data Wrangler. Dentro de un espacio compartido, usted y sus colaboradores pueden editar un archivo de flujo en tiempo real. Sin embargo, ni usted ni sus colaboradores pueden ver los cambios en tiempo real. Cuando alguien realiza un cambio en el flujo de Data Wrangler, es preciso guardarlo inmediatamente. Cuando alguien guarde un archivo, un colaborador no podrá verlo a menos que cierre el archivo y lo vuelva a abrir. Los cambios que no guarde una persona los sobrescribirá otra persona que guarde sus propios cambios.

# Información sobre los datos y la calidad de los datos
<a name="data-wrangler-data-insights"></a>

Utilice el **Informe de información y calidad de los datos** para realizar un análisis de los datos que ha importado a Data Wrangler. Se recomienda crear el informe después de importar el conjunto de datos. Puede utilizar informe como ayuda para limpiar y procesar los datos. Le proporciona información como el número de valores ausentes y el número de valores atípicos. Si tiene problemas con los datos, como una fuga de objetivos o un desequilibrio, el informe de información puede indicarle esos problemas.

Utilice el siguiente procedimiento para crear un informe de información y calidad de los datos. Se supone que ya ha importado un conjunto de datos a su flujo de Data Wrangler.

**Para crear un informe de información y calidad de datos**

1. Elija el signo **\$1** junto a un nodo del flujo de Data Wrangler.

1. Seleccione **Obtener información sobre los datos**.

1. En **Nombre del análisis**, especifique un nombre para el informe de información.

1. De forma opcional, en **Columna objetivo**, especifique la columna objetivo.

1. En **Tipo de problema**, especifique **Regresión** o **Clasificación**.

1. Para **Tamaño de los datos**, especifique uno de los siguientes valores:
   + **50 K**: utiliza las primeras 50 000 filas del conjunto de datos que ha importado para crear el informe.
   + **Conjunto de datos completo**: utiliza todo el conjunto de datos que ha importado para crear el informe.
**nota**  
Para crear un informe de información y calidad de los datos sobre todo el conjunto de datos se utiliza un trabajo SageMaker de procesamiento de Amazon. Un trabajo de SageMaker procesamiento proporciona los recursos informáticos adicionales necesarios para obtener información sobre todos sus datos. Para obtener más información sobre los trabajos de SageMaker procesamiento, consulte[Cargas de trabajo de transformación de datos con procesamiento SageMaker](processing-job.md).

1. Seleccione **Crear**.

Los siguientes temas muestran las secciones del informe:

**Topics**
+ [Resumen](#data-wrangler-data-insights-summary)
+ [Columna objetivo](#data-wrangler-data-insights-target-column)
+ [Modelo rápido](#data-wrangler-data-insights-quick-model)
+ [Resumen de características](#data-wrangler-data-insights-feature-summary)
+ [Muestras](#data-wrangler-data-insights-samples)
+ [Definiciones](#data-wrangler-data-insights-definitions)

Puede descargar el informe o verlo en línea. Para descargar el informe, pulse el botón de descarga en la esquina superior derecha de la pantalla. En la siguiente imagen se muestra el botón.

![\[Ejemplo que muestra el botón de descarga.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-download.png)


## Resumen
<a name="data-wrangler-data-insights-summary"></a>

El informe de análisis contiene un breve resumen de los datos que incluye información general, como valores ausentes, valores no válidos, tipos de características, recuentos de valores atípicos, etc. También puede incluir advertencias de alta gravedad que indiquen posibles problemas con los datos. Se recomienda investigar las advertencias.

A continuación, se muestra un ejemplo de este tipo de respuesta.

![\[Ejemplo de resumen de informe.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-report-summary.png)


## Columna objetivo
<a name="data-wrangler-data-insights-target-column"></a>

Cuando crea el informe de información y calidad de los datos, Data Wrangler le ofrece la opción de seleccionar una columna objetivo. La columna objetivo es una columna que intenta predecir. Cuando se elige una columna objetivo, Data Wrangler crea automáticamente un análisis de la columna objetivo. También clasifica las características en el orden de su poder predictivo. Al seleccionar una columna objetivo, debe especificar si va a intentar resolver un problema de regresión o de clasificación.

Para la clasificación, Data Wrangler muestra una tabla y un histograma de las clases más frecuentes. Una clase es una categoría. También presenta observaciones, o filas, con un valor objetivo que falta o que no es válido.

La siguiente imagen muestra un ejemplo de análisis de la columna objetivo para un problema de clasificación.

![\[Ejemplo de análisis de la columna de destino.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-target-column-classification.png)


Para la regresión, Data Wrangler muestra un histograma de todos los valores de la columna objetivo. También presenta observaciones, o filas, con un valor objetivo que falta, que no es válido o que es atípico.

La siguiente imagen muestra un ejemplo de análisis de la columna objetivo para un problema de regresión.

![\[Ejemplo de análisis de la columna de destino.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-target-column-regression.png)


## Modelo rápido
<a name="data-wrangler-data-insights-quick-model"></a>

El **Modelo rápido** proporciona una estimación de la calidad prevista de un modelo que se entrena con sus datos.

Data Wrangler divide los datos en pliegues de entrenamiento y validación. Utiliza el 80 % de las muestras para el entrenamiento y el 20 % de los valores para la validación. Para la clasificación, la muestra se divide estratificadamente. Para una división estratificada, cada partición de datos tiene la misma proporción de etiquetas. En lo que se refiere a los problemas de clasificación, es importante tener la misma proporción de etiquetas entre los pliegues de entrenamiento y de clasificación. Data Wrangler entrena el XGBoost modelo con los hiperparámetros predeterminados. Aplica una parada temprana a los datos de validación y realiza un preprocesamiento mínimo de la característica.

En el caso de los modelos de clasificación, Data Wrangler devuelve un resumen del modelo y una matriz de confusión.

A continuación, se muestra un ejemplo de un resumen de un modelo de clasificación. Para obtener más información acerca de la información que devuelve, consulte [Definiciones](#data-wrangler-data-insights-definitions).

![\[Ejemplo de resumen del modelo de clasificación.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-quick-model-classification-summary.png)


A continuación, se muestra un ejemplo de una matriz de confusión que devuelve el modelo rápido.

![\[Ejemplo de matriz de confusión.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-quick-model-classification-confusion-matrix.png)


Una matriz de confusión le ofrece la siguiente información:
+ El número de veces que la etiqueta predicha coincide con la etiqueta verdadera.
+ El número de veces que la etiqueta predicha no coincide con la etiqueta verdadera.

La etiqueta verdadera representa una observación real de los datos. Por ejemplo, si utiliza un modelo para detectar transacciones fraudulentas, la etiqueta verdadera representa una transacción que en realidad es fraudulenta o no fraudulenta. La etiqueta predicha representa la etiqueta que el modelo asigna a los datos.

Puede usar la matriz de confusión para ver lo bien que predice el modelo la presencia o ausencia de una condición. Si predice transacciones fraudulentas, puede utilizar la matriz de confusión para hacerse una idea de la sensibilidad y la especificidad del modelo. La sensibilidad se refiere a la capacidad del modelo de detectar transacciones fraudulentas. La especificidad se refiere a la capacidad del modelo de evitar detectar transacciones no fraudulentas como fraudulentas.

A continuación, se muestra un ejemplo de los resultados de un modelo rápido para un problema de regresión.

![\[Ejemplo de las salidas rápidas del modelo para un problema de regresión.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-quick-model-regression-summary.png)


## Resumen de características
<a name="data-wrangler-data-insights-feature-summary"></a>

Al especificar una columna objetivo, Data Wrangler ordena las características por su poder de predicción. El poder de predicción se mide en los datos después de dividirlos en un 80 % de pliegues de entrenamiento y un 20 % de pliegues de validación. Data Wrangler encaja un modelo para cada característica independiente en el pliegue de entrenamiento. Aplica un preprocesamiento mínimo de la característica y mide el rendimiento de la predicción en los datos de validación.

Normaliza las puntuaciones al rango [0,1]. Las puntuaciones de predicción más altas indican columnas que son más útiles para predecir el objetivo por sí mismas. Las puntuaciones más bajas apuntan a columnas que no predicen la columna objetivo.

No es habitual que una columna que no sea predictiva por sí sola lo sea cuando se usa junto con otras columnas. Puede utilizar con confianza las puntuaciones de predicción para determinar si una característica de su conjunto de datos es predictiva.

Una puntuación baja suele indicar que la característica es redundante. Una puntuación de 1 implica una capacidad predictiva perfecta, lo que a menudo es señal de una fuga de objetivos. La fuga de objetivos suele producirse cuando el conjunto de datos contiene una columna que no está disponible en el momento de la predicción. Por ejemplo, podría ser un duplicado de la columna objetivo.

Los siguientes son ejemplos de la tabla y el histograma que muestran el valor de predicción de cada característica.

![\[Ejemplo de tabla de resumen que muestra el valor de predicción de cada característica.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-feature-summary-table.png)


![\[Histograma de ejemplo que muestra el valor de predicción de cada característica.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-insights/data-insights-feature-summary-histogram.png)


## Muestras
<a name="data-wrangler-data-insights-samples"></a>

Data Wrangler proporciona información sobre si sus muestras son anómalas o si hay duplicados en el conjunto de datos.

Data Wrangler detecta muestras anómalas mediante el *algoritmo de bosque de aislamiento*. El bosque de aislamiento asocia una puntuación de anomalía a cada muestra (fila) del conjunto de datos. Las puntuaciones de anomalías bajas indican muestras anómalas. Las puntuaciones altas se asocian a muestras no anómalas. Las muestras con una puntuación de anomalía negativa suelen considerarse anómalas y las muestras con una puntuación de anomalía positiva se consideran no anómalas.

Al observar una muestra que podría ser anómala, se recomienda prestar atención a los valores inusuales. Por ejemplo, es posible que tenga valores anómalos que se deban a errores en la recopilación y el procesamiento de los datos. Se recomienda utilizar el conocimiento del dominio y la lógica empresarial al examinar las muestras anómalas.

Data Wrangler detecta filas duplicadas y calcula la proporción de filas duplicadas en los datos. Algunos orígenes de datos pueden incluir duplicados válidos. Otros orígenes de datos pueden tener duplicados que indiquen problemas en la recopilación de los datos. Las muestras duplicadas que resultan de una recopilación de datos defectuosa podrían interferir con los procesos de machine learning, que se basan en dividir los datos en grupos independientes de entrenamiento y validación.

Los siguientes son los elementos del informe de información que pueden verse afectados por la duplicación de muestras:
+ Modelo rápido
+ Estimación de la potencia predictiva
+ Ajuste automático de hiperparámetros

Puede eliminar las muestras duplicadas del conjunto de datos mediante la transformación **Eliminar duplicados** en **Administrar filas**. Data Wrangler le muestra las filas que se duplican con más frecuencia.

## Definiciones
<a name="data-wrangler-data-insights-definitions"></a>

A continuación, se muestran las definiciones de los términos técnicos que se utilizan en el informe de información de datos.

------
#### [ Feature types ]

Las siguientes son las definiciones de cada uno de los tipos de características:
+ **Numérica**: los valores numéricos pueden ser flotantes o enteros, como la edad o los ingresos. Los modelos de machine learning suponen que los valores numéricos están ordenados y que se define una distancia sobre ellos. Por ejemplo, 3 está más cerca de 4 que de 10 y 3 < 4 < 10.
+ Categórica: las entradas de la columna pertenecen a un conjunto de valores únicos, que suele ser mucho menor que el número de entradas de la columna. Por ejemplo, una columna de longitud 100 podría contener los valores únicos `Dog`, `Cat` y `Mouse`. Los valores pueden ser numéricos, de texto o una combinación de ambos. `Horse`, `House`, `8`, `Love` y `3.1` serían todos valores válidos y podrían encontrarse en la misma columna categórica. El modelo de machine learning no supone el orden ni la distancia en los valores de las características categóricas, a diferencia de las características numéricas, incluso cuando todos los valores son números.
+ **Binaria**: las características binarias son un tipo de característica categórica especial en la que la cardinalidad del conjunto de valores únicos es 2.
+ **Texto**: una columna de texto contiene muchos valores únicos no numéricos. En casos extremos, todos los elementos de la columna son únicos. En un caso extremo, no hay dos entradas iguales.
+ **Fecha y hora**: una columna de fecha y hora contiene información sobre la fecha o la hora. Puede contener información tanto de la fecha como de la hora.

------
#### [ Feature statistics ]

Las siguientes son definiciones para cada una de las estadísticas de la característica:
+ **Potencia predictiva**: la potencia predictiva mide la utilidad de la columna para predecir el objetivo.
+ **Valores atípicos** (en columnas numéricas): Data Wrangler detecta los valores atípicos mediante dos estadísticas que son resistentes a los valores atípicos: la mediana y la desviación estándar robusta (RSTD). La RSTD se obtiene al recortar los valores de las características al rango [percentil 5, percentil 95] y calcular la desviación estándar del vector recortado. Todos los valores superiores a la mediana \$15 \$1 RSTD o inferiores a la mediana -5 \$1 RSTD se consideran valores atípicos.
+ **Sesgo** (en columnas numéricas): el sesgo mide la simetría de la distribución y se define como el tercer momento de la distribución dividido por la tercera potencia de la desviación estándar. La asimetría de la distribución normal o de cualquier otra distribución simétrica es cero. Los valores positivos implican que la cola derecha de la distribución es más larga que la cola izquierda. Los valores negativos implican que la cola izquierda de la distribución es más larga que la cola derecha. Como regla general, una distribución se considera asimétrica cuando el valor absoluto de la asimetría es superior a 3.
+ **Curtosis** (en columnas numéricas): la curtosis de Pearson mide el peso de la cola de la distribución. Se define como el cuarto momento de la distribución dividido por el cuadrado del segundo momento. La curtosis de la distribución normal es 3. Los valores de curtosis inferiores a 3 implican que la distribución se concentra alrededor de la media y que las colas son más ligeras que las colas de la distribución normal. Los valores de curtosis superiores a 3 implican colas con más peso o valores atípicos.
+ **Valores ausentes**: los objetos de tipo nulo, las cadenas vacías y las cadenas compuestas únicamente por espacios en blanco se consideran valores ausentes.
+ **Valores válidos para las características numéricas o el objetivo de regresión**: todos los valores que se pueden convertir en flotantes finitos son válidos. Los valores ausentes no son válidos.
+ **Valores válidos para características categóricas, binarias o de texto, o para el objetivo de clasificación**: todos los valores que no faltan son válidos.
+ **Características de fecha y hora**: todos los valores que puede convertir en un objeto de fecha y hora son válidos. Los valores ausentes no son válidos.
+ **Valores no válidos**: valores ausentes o que no se pueden convertir correctamente. Por ejemplo, en una columna numérica, no puede convertir la cadena `"six"` o un valor nulo.

------
#### [ Quick model metrics for regression ]

Las siguientes son las definiciones de las métricas del modelo rápido:
+ R2 (o coeficiente de determinación): R2 es la proporción de la variación en el objetivo que predice el modelo. R2 está en el rango de [-inft, 1]. 1 es la puntuación del modelo que predice el objetivo a la perfección y 0 es la puntuación del modelo trivial que siempre predice la media objetivo.
+ MSE o error cuadrático medio: MSE está en el rango [0, infty]. 0 es la puntuación del modelo que predice perfectamente el objetivo.
+ MAE o error absoluto medio: el MAE se encuentra en el rango [0, infty] donde 0 es la puntuación del modelo que predice perfectamente el objetivo.
+ RMSE o raíz del error cuadrático medio: la RMSE se encuentra en el rango [0, infty] donde 0 es la puntuación del modelo que predice perfectamente el objetivo.
+ Error máximo: el valor absoluto máximo del error en el conjunto de datos. El error máximo se encuentra en el rango [0, infty] donde 0 es la puntuación del modelo que predice perfectamente el objetivo.
+ Mediana del error absoluto: la mediana del error absoluto se encuentra en el rango [0, infty] donde 0 es la puntuación del modelo que predice perfectamente el objetivo.

------
#### [ Quick model metrics for classification ]

Las siguientes son las definiciones de las métricas del modelo rápido:
+ **Precisión**: la precisión es la proporción de muestras que se predicen con precisión. La precisión está en el rango [0, 1]. 0 es la puntuación del modelo que predice todas las muestras de forma incorrecta y 1 es la puntuación del modelo perfecto.
+ **Precisión equilibrada**: la precisión equilibrada es la proporción de muestras que se predicen con precisión cuando se ajustan las ponderaciones de las clases para equilibrar los datos. Se les da la misma importancia a todas las clases, independientemente de su frecuencia. La precisión equilibrada se encuentra en el rango [0, 1]. 0 es la puntuación del modelo que predice erróneamente todas las muestras. 1 es la puntuación del modelo perfecto.
+ **AUC (clasificación binaria)**: es el área bajo la curva característica de funcionamiento del receptor. El AUC se encuentra en el rango [0, 1] en el que un modelo aleatorio arroja una puntuación de 0,5 y el modelo perfecto devuelve una puntuación de 1.
+ **AUC (OVR)**: en la clasificación multiclase, se trata del área bajo la curva característica de funcionamiento del receptor, que se calcula por separado para cada etiqueta, utilizando uno frente al resto. Data Wrangler informa del promedio de las áreas. El AUC se encuentra en el rango [0, 1] en el que un modelo aleatorio arroja una puntuación de 0,5 y el modelo perfecto devuelve una puntuación de 1.
+ **Precisión**: la precisión se define para una clase específica. La precisión es la fracción de positivos verdaderos de todas las instancias en las que el modelo clasificó como esa clase. La precisión está en el rango [0, 1]. 1 es la puntuación del modelo que no tiene falsos positivos para la clase. Para la clasificación binaria, Data Wrangler informa de la precisión de la clase positiva.
+ **Recuperación**: la recuperación se define para una clase específica. La recuperación es la fracción de las instancias de clase pertinentes que se recuperan correctamente. La recuperación está en el rango [0, 1]. 1 es la puntuación del modelo que clasifica correctamente todas las instancias de la clase. Para la clasificación binaria, Data Wrangler informa de la recuperación de la clase positiva.
+ **F1**: F1 se define para una clase específica. Es la media armónica entre la precisión y la recuperación. F1 está en el rango [0, 1]. 1 es la puntuación del modelo perfecto. Para la clasificación binaria, Data Wrangler indica la F1 para las clases con valores positivos.

------
#### [ Textual patterns ]

Los **patrones** describen el formato textual de una cadena utilizando un formato fácil de leer. A continuación se muestran ejemplos de patrones de texto:
+ “\$1digits:4-7\$1” describe una secuencia de dígitos que tienen una longitud entre 4 y 7.
+ “\$1alnum:5\$1” describe una cadena alfanumérica con una longitud exacta de 5.

Data Wrangler infiere los patrones observando muestras de cadenas no vacías a partir de sus datos. Puede describir muchos de los patrones más utilizados. La **confianza** expresada como porcentaje indica qué cantidad de datos se estima que coincide con el patrón. Con el patrón textual, puede ver qué filas de los datos tiene que corregir o eliminar.

A continuación se describen los patrones que Data Wrangler puede reconocer:


| Patrón | Formato textual | 
| --- | --- | 
|  \$1alnum\$1  |  Cadenas alfanuméricas  | 
|  \$1any\$1  |  Cualquier cadena de caracteres de palabra  | 
|  \$1digits\$1  |  Una secuencia de dígitos  | 
|  \$1lower\$1  |  Una palabra en minúscula  | 
|  \$1mixed\$1  |  Una palabra con mayúsculas y minúsculas  | 
|  \$1name\$1  |  Una palabra que comienza por una letra mayúscula  | 
|  \$1upper\$1  |  Una palabra mayúscula  | 
|  \$1whitespace\$1  |  Caracteres de espacio en blanco  | 

Un carácter de palabra es un carácter de subrayado o un carácter que puede aparecer en una palabra en cualquier idioma. Por ejemplo, las cadenas “Hello\$1word” y “écoute” están compuestas por caracteres de palabra. Tanto la “H” como la “é” son ejemplos de caracteres de palabra.

------

# Entrenamiento automático de modelos en su flujo de datos
<a name="data-wrangler-autopilot"></a>

Puede usar Amazon SageMaker Autopilot para entrenar, ajustar e implementar modelos automáticamente a partir de los datos que ha transformado en su flujo de datos. Amazon SageMaker Autopilot puede utilizar varios algoritmos y utilizar el que mejor funcione con sus datos. Para obtener más información sobre Amazon SageMaker Autopilot, consulte[SageMaker Piloto automático](autopilot-automate-model-development.md).

Cuando entrena y ajusta un modelo, Data Wrangler exporta sus datos a una ubicación de Amazon S3 a la que Amazon SageMaker Autopilot puede acceder a ellos.

Para preparar e implementar un modelo, elija un nodo en el flujo de Data Wrangler y elija **Exportar y entrenar** en la vista previa de los datos. Puede utilizar este método para ver su conjunto de datos antes de decidir entrenar un modelo con él.

También puede entrenar e implementar un modelo directamente desde su flujo de datos.

El siguiente procedimiento prepara e implementa un modelo a partir del flujo de datos. En el caso de los flujos de Data Wrangler con transformaciones de varias filas, no puede utilizar las transformaciones del flujo de Data Wrangler al implementar el modelo. Puede utilizar el siguiente procedimiento para procesar los datos antes de utilizarlos para realizar una inferencia.

Para entrenar e implementar un modelo directamente desde el flujo de datos, haga lo siguiente.

1. Seleccione el signo **\$1** situado junto al nodo que contiene los datos de entrenamiento.

1. Elija el **Modelo de entrenamiento**.

1. (Opcional) Especifique una AWS KMS clave o un ID. Para obtener más información sobre la creación y el control de claves criptográficas para proteger sus datos, consulte [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html).

1. Elija **Exportar y entrena**.

1. **Después de que Amazon SageMaker Autopilot entrene el modelo con los datos que exportó Data Wrangler, especifique un nombre para el nombre del experimento.**

1. En **Introducir datos**, selecciona **Vista previa** para comprobar que Data Wrangler ha exportado correctamente los datos a Amazon SageMaker Autopilot.

1. En **Destino**, elija la columna de destino.

1. De forma opcional, en la **Ubicación de S3** en **Datos de salida**, puede especificar una ubicación de Amazon S3 distinta de la ubicación predeterminada.

1. Elija **Siguiente: método de entrenamiento**.

1. Elija un método de entrenamiento. Para obtener más información, consulte [Modelos de entrenamiento](autopilot-model-support-validation.md#autopilot-training-mode).

1. De forma opcional, en **Implementación automática de punto de conexión**, puede especificar un nombre para el punto de conexión.

1. En **Opción de implementación**, elija un método de implementación. Puede optar por realizar la implementación con o sin las transformaciones que ha realizado en sus datos.
**importante**  
No puede implementar un modelo de Amazon SageMaker Autopilot con las transformaciones que ha realizado en su flujo de Data Wrangler. Para obtener más información sobre esas transformaciones, consulte [Exportación a un punto de conexión de inferencia](data-wrangler-data-export.md#data-wrangler-data-export-inference).

1. Elija **Siguiente: revisar y crear**.

1. Elija **Create experiment (Crear experimento)**.

Para obtener más información acerca el entrenamiento del modelo y la implementación, consulte [Creación de trabajos de regresión o clasificación para datos tabulares mediante la API de AutoML](autopilot-automate-model-development-create-experiment.md). El piloto automático le muestra análisis sobre el rendimiento del mejor modelo. Para obtener más información sobre el rendimiento del modelo, consulte [Visualización de un informe de rendimiento sobre el modelo de Piloto automático](autopilot-model-insights.md).

# Datos de transformación
<a name="data-wrangler-transform"></a>

Amazon SageMaker Data Wrangler ofrece numerosas transformaciones de datos de aprendizaje automático para agilizar la limpieza, la transformación y la caracterización de los datos. Cuando agrega una transformación, agrega un paso al flujo de datos. Cada transformación que añada modifica su conjunto de datos y produce un nuevo marco de datos. Todas las transformaciones posteriores se aplican al marco de datos resultante.

Data Wrangler incluye transformaciones integradas, que puede utilizar para transformar columnas sin necesidad de código. También puede añadir transformaciones personalizadas mediante PySpark Python (función definida por el usuario), pandas y PySpark SQL. Algunas transformaciones funcionan “in situ”, mientras que otras crean una nueva columna de salida en el conjunto de datos.

Puede aplicar transformaciones a varias columnas a la vez. Por ejemplo, puede eliminar varias columnas en un solo paso.

Puede aplicar las transformaciones **Procesar numérico** y **Gestionar faltantes** solo a una columna.

Utilice esta página para obtener más información sobre estas transformaciones integradas y personalizadas.

## IU de transformación
<a name="data-wrangler-transform-ui"></a>

La mayoría de las transformaciones integradas se encuentran en la pestaña **Preparación** de la interfaz de usuario de Data Wrangler. Puede acceder a las transformaciones de unión y concatenación a través de la vista de flujo de datos. Utilice la siguiente tabla para obtener una vista previa de estas dos vistas. 

------
#### [ Transform ]

Puede añadir una transformación a cualquier paso del flujo de datos. Utilice el siguiente procedimiento para agregar una transformación a su flujo de datos.

Para agregar un paso a su flujo de datos, haga lo siguiente.

1. Seleccione el signo **\$1**, situado junto al paso del flujo de datos.

1. Seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.  
![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-add-step.png)

1. Seleccione una transformación. 

1. (Opcional) Puede buscar la transformación que desea utilizar. Data Wrangler resalta la consulta en los resultados.  
![\[\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-search.png)

------
#### [ Join View ]

Para unir dos conjuntos de datos, seleccione el primer conjunto de datos de su flujo de datos y elija **Unir**. Al elegir **Unir**, verá resultados similares a los que se muestran en la siguiente imagen. Los conjuntos de datos izquierdo y derecho se muestran en el panel izquierdo. El panel principal muestra su flujo de datos, con el conjunto de datos recién unido agregado. 

![\[El flujo del conjunto de datos unido en la sección de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/join-1.png)


Si elige **Configurar** para configurar la unión, verá resultados similares a los que se muestran en la siguiente imagen. La configuración de unión se muestra en el panel izquierdo. Puede usar este panel para elegir el nombre del conjunto de datos unido, el tipo de unión y las columnas que desea unir. El panel principal muestra tres tablas. Las dos tablas superiores muestran los conjuntos de datos izquierdo y derecho, a la izquierda y a la derecha respectivamente. En esta tabla, puede obtener una vista previa del conjunto de datos unido. 

![\[Las tablas de conjuntos de datos unidas en la sección de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/join-2.png)


Consulte [Unir conjuntos de datos](#data-wrangler-transform-join) para obtener más información. 

------
#### [ Concatenate View ]

Para concatenar dos conjuntos de datos, seleccione el primer conjunto de datos del flujo de datos y elija **Concatenar**. Al seleccionar **Concatenar**, verá resultados similares a los que se muestran en la siguiente imagen. Los conjuntos de datos izquierdo y derecho se muestran en el panel izquierdo. El panel principal muestra su flujo de datos, con el conjunto de datos recién concatenado agregado. 

![\[Ejemplo de flujo de conjunto de datos concatenado en la sección de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/concat-1.png)


Al elegir **Configurar** para configurar la concatenación, verá resultados similares a los que se muestran en la siguiente imagen. La configuración de concatenación se muestra en el panel izquierdo. Puede usar este panel para elegir el nombre del conjunto de datos concatenado, eliminar los duplicados después de la concatenación y agregar columnas para indicar el marco de datos de origen. El panel principal muestra tres tablas. Las dos tablas superiores muestran los conjuntos de datos izquierdo y derecho, a la izquierda y a la derecha respectivamente. En esta tabla, puede obtener una vista previa del conjunto de datos unido. 

![\[Ejemplos de tablas de conjuntos de datos concatenados en la sección de flujo de datos de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/concat-2.png)


Consulte [Concatenar conjuntos de datos](#data-wrangler-transform-concatenate) para obtener más información.

------

## Unir conjuntos de datos
<a name="data-wrangler-transform-join"></a>

Los marcos de datos se unen directamente a su flujo de datos. Al unir dos conjuntos de datos, el conjunto de datos unido resultante aparece en el flujo. Data Wrangler admite los siguientes tipos de unión.
+ **Exterior izquierda**: incluye todas las filas de la tabla de la izquierda. Si el valor de la columna unida a una fila de la izquierda de la tabla no coincide con ningún valor de la fila de la derecha, esa fila contiene valores nulos para todas las columnas de la derecha de la tabla unida.
+ **Anticombinación izquierda**: incluye las filas de la tabla de la izquierda que no contienen los valores de la tabla de la derecha para la columna unida.
+ **Semicombinación izquierda**: incluye una sola fila de la tabla de la izquierda para todas las filas idénticas que cumplan los criterios de la instrucción de combinación. Esto excluye las filas duplicadas de la tabla de la izquierda que coincidan con los criterios de la unión.
+ **Exterior derecha**: incluye todas las filas de la tabla de la derecha. Si el valor de la columna unida de una fila de la derecha de la tabla no coincide con ningún valor de la fila de la izquierda, esa fila contiene valores nulos para todas las columnas de la tabla de la izquierda de la tabla unida.
+ **Interior**: incluye filas de las tablas izquierda y derecha que contengan valores coincidentes en la columna unida. 
+ **Exterior completa**: incluye todas las filas de las tablas izquierda y derecha. Si el valor de fila de la columna unida de alguna de las tablas no coincide, se crean filas independientes en la tabla unida. Si una fila no contiene un valor para una columna de la tabla unida, se inserta un valor nulo para esa columna.
+ **Cruzada cartesiana**: incluye filas que combinen cada fila de la primera tabla con cada fila de la segunda tabla. Se trata de un [producto cartesiano](https://en.wikipedia.org/wiki/Cartesian_product) de las filas de las tablas de la unión. El resultado de este producto es el tamaño de la tabla izquierda multiplicado por el tamaño de la tabla derecha. Por lo tanto, recomendamos tener cuidado al utilizar esta unión entre conjuntos de datos muy grandes. 

Utilice el siguiente procedimiento para unir dos marcos de datos.

1. Seleccione el signo **\$1** junto al marco de datos izquierdo que desee unir. El primer marco de datos que seleccione será siempre la tabla de la izquierda de la combinación. 

1. Elija **Unirse**.

1. Seleccione el marco de datos derecho. El segundo marco de datos que seleccione será siempre la tabla de la derecha de la combinación.

1. Elija **Configurar** para configurar la unión. 

1. Asigne un nombre al conjunto de datos unido en el campo **Nombre**.

1. Seleccione un **tipo de unión**.

1. Seleccione una columna de las tablas izquierda y derecha para unirlas. 

1. Elija **Aplicar** para obtener una vista previa del conjunto de datos unido a la derecha. 

1. Para agregar la tabla unida a su flujo de datos, elija **Agregar**. 

## Concatenar conjuntos de datos
<a name="data-wrangler-transform-concatenate"></a>

**Concatenar dos conjuntos de datos:**

1. Seleccione **\$1**, junto al marco de datos izquierdo que desee concatenar. El primer marco de datos que seleccione será siempre la tabla de la izquierda de la concatenación. 

1. Elija **Concatenar**.

1. Seleccione el marco de datos derecho. El segundo marco de datos que seleccione será siempre la tabla de la derecha de la concatenación.

1. Elija **Configurar** para configurar la concatenación. 

1. Asigne un nombre al conjunto de datos concatenado en el campo **Nombre**.

1. (Opcional) Seleccione la casilla de verificación situada junto a **Eliminar los duplicados después de la concatenación** para eliminar las columnas duplicadas. 

1. (Opcional) Seleccione la casilla de verificación situada junto a **Añadir columna para indicar el marco de datos de origen** si, para cada columna del nuevo conjunto de datos, desea añadir un indicador del origen de la columna. 

1. Elija **Aplicar** para obtener una vista previa del nuevo conjunto de datos. 

1. Seleccione **agregar** para añadir el nuevo conjunto de datos a su flujo de datos. 

## Equilibrar los datos
<a name="data-wrangler-transform-balance-data"></a>

Puede equilibrar los datos de los conjuntos de datos con una categoría infrarrepresentada. Equilibrar un conjunto de datos puede ayudarle a crear mejores modelos para la clasificación binaria.

**nota**  
No puede equilibrar los conjuntos de datos que contienen vectores de columnas.

Puede utilizar la operación **Equilibrar datos** para equilibrar los datos mediante uno de los siguientes operadores.
+ *Sobremuestreo aleatorio*: duplica aleatoriamente las muestras de la categoría minoritaria. Por ejemplo, si está intentando detectar un fraude, es posible que solo tenga casos de fraude en el 10 % de sus datos. Para una proporción igual de casos fraudulentos y no fraudulentos, este operador duplica aleatoriamente los casos de fraude en el conjunto de datos ocho veces.
+ *Submuestreo aleatorio*: es bastante equivalente al sobremuestreo aleatorio. Elimina aleatoriamente las muestras de la categoría sobrerrepresentada para obtener la proporción de muestras que desee.
+ *Técnica de sobremuestreo de minorías sintéticas (SMOTE)*: utiliza muestras de la categoría infrarrepresentada para interpolar nuevas muestras minoritarias sintéticas. Para obtener más información sobre SMOTE, consulte la siguiente descripción.

Puede usar todas las transformaciones para conjuntos de datos que contengan características numéricas y no numéricas. SMOTE interpola los valores mediante muestras vecinas. Data Wrangler utiliza la distancia R cuadrada para determinar la vecindad e interpolar las muestras adicionales. Data Wrangler solo usa características numéricas para calcular las distancias entre las muestras del grupo subrepresentado.

Para dos muestras reales del grupo subrepresentado, Data Wrangler interpola las características numéricas mediante un promedio ponderado. Asigna ponderaciones de forma aleatoria a las muestras en el rango de [0, 1]. Para las características numéricas, Data Wrangler interpola las muestras utilizando un promedio ponderado de las muestras. Para las muestras A y B, Data Wrangler podría asignar aleatoriamente una ponderación de 0,7 a A y 0,3 a B. La muestra interpolada tiene un valor de 0,7A \$1 0,3B.

Data Wrangler interpola las características no numéricas copiándolas de cualquiera de las muestras reales interpoladas. Copie las muestras con una probabilidad que asigna aleatoriamente a cada muestra. Para las muestras A y B, puede asignar probabilidades de 0,8 a A y 0,2 a B. Para las probabilidades que asignó, copia A el 80% del tiempo.

## Transformaciones personalizadas
<a name="data-wrangler-transform-custom"></a>

El grupo **Transformaciones personalizadas** le permite usar Python (función definida por el usuario) PySpark, pandas o PySpark (SQL) para definir transformaciones personalizadas. En las tres opciones, utilice la variable `df` para acceder al marco de datos al que desee aplicar la transformación. Para aplicar el código personalizado en el marco de datos, asigne el marco de datos a las transformaciones que ha realizado a la variable `df`. Si no utiliza Python (función definida por el usuario), no es necesario incluir una declaración de retorno. Seleccione **Vista previa** para obtener una vista previa del resultado de la transformación personalizada. Seleccione **Agregar** para añadir la transformación personalizada a la lista de **Pasos anteriores**.

Puede importar las bibliotecas más populares con una instrucción `import` en el bloque de código de transformación personalizada, como la siguiente:
+ NumPy versión 1.19.0
+ scikit-learn versión 0.23.2
+ SciPy versión 1.5.4
+ pandas versión 1.0.3
+ PySpark versión 3.0.0

**importante**  
La **transformación personalizada** no admite columnas con espacios ni caracteres especiales en el nombre. Se recomienda especificar nombres de columnas que solo tengan caracteres alfanuméricos y guiones bajos. Puede utilizar la transformación **Cambiar nombre de columna** en el grupo de transformaciones **Administrar columnas**, a fin de eliminar los espacios del nombre de una columna. También puede añadir una **transformación personalizada** de **Python (Pandas)** similar a la siguiente para eliminar los espacios de varias columnas en un solo paso. En este ejemplo, se cambian las columnas denominadas `A column` y `B column` por `A_column` y`B_column`, respectivamente.   

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

Si incluye instrucciones de impresión en el bloque de código, el resultado aparece al seleccionar **Vista previa**. Puede cambiar el tamaño del panel del transformador de código personalizado. Al cambiar el tamaño del panel, se proporciona más espacio para escribir código. En la imagen siguiente, se muestra el cambio de tamaño del panel.

![\[Para la función Python, sustituya los comentarios de pd.Series por su código.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/resizing-panel.gif)


Las siguientes secciones proporcionan contexto adicional y ejemplos para escribir código de transformación personalizado.

**Python (función definida por el usuario)**

La función Python le permite escribir transformaciones personalizadas sin necesidad de conocer Apache Spark o pandas. Data Wrangler está optimizado para ejecutar su código personalizado rápidamente. Obtiene un rendimiento similar con el código Python personalizado y un complemento de Apache Spark.

Para usar el bloque de código Python (función definida por el usuario), especifique lo siguiente.
+ **Columna de entrada**: la columna de entrada en la que aplica la transformación.
+ **Modo**: el modo de programación, ya sea pandas o Python.
+ **Tipo de retorno**: el tipo de datos del valor que devolverá.

El uso del modo pandas ofrece un mejor rendimiento. El modo Python facilita la escritura de transformaciones mediante el uso de funciones puras de Python.

En el siguiente vídeo se muestra un ejemplo de cómo utilizar código personalizado para crear una transformación. Utiliza el [conjunto de datos del Titanic](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/walkthrough_titanic.csv) para crear una columna con el saludo de la persona.

![\[Para la función Python, sustituya los comentarios de pd.Series por su código.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/python-function-transform-titanic-720.gif)


**PySpark**

El siguiente ejemplo extrae la fecha y la hora de una marca de tiempo.

```
from pyspark.sql.functions import from_unixtime, to_date, date_format
df = df.withColumn('DATE_TIME', from_unixtime('TIMESTAMP'))
df = df.withColumn( 'EVENT_DATE', to_date('DATE_TIME')).withColumn(
'EVENT_TIME', date_format('DATE_TIME', 'HH:mm:ss'))
```

**pandas**

El siguiente ejemplo proporciona una descripción general del marco de datos al que se van a añadir las transformaciones. 

```
df.info()
```

**PySpark (SQL)**

El siguiente ejemplo crea un nuevo marco de datos con cuatro columnas: *name*, *fare*, *pclass* y *survived*.

```
SELECT name, fare, pclass, survived FROM df
```

Si no sabes cómo usarlo PySpark, puedes usar fragmentos de código personalizados para ayudarte a empezar.

Data Wrangler tiene una colección de fragmentos de código con capacidad de búsqueda. Puedes usar fragmentos de código para realizar tareas como colocar columnas, agrupar por columnas o modelar.

Para usar un fragmento de código, seleccione **Buscar fragmentos de ejemplo** y especifique una consulta en la barra de búsqueda. El texto que especifique en la consulta no tiene por qué coincidir exactamente con el nombre del fragmento de código.

En el siguiente ejemplo, se muestra un fragmento de código **Descartar filas duplicadas** que puede eliminar filas con datos similares del conjunto de datos. Para encontrar el fragmento de código, busque una de las siguientes opciones:
+ Duplicados
+ Idéntico
+ Quitar

El siguiente fragmento contiene comentarios que le ayudarán a comprender los cambios que debe realizar. Para la mayoría de los fragmentos, debe especificar los nombres de las columnas del conjunto de datos en el código.

```
# Specify the subset of columns
# all rows having identical values in these columns will be dropped

subset = ["col1", "col2", "col3"]
df = df.dropDuplicates(subset)  

# to drop the full-duplicate rows run
# df = df.dropDuplicates()
```

Para usar un fragmento, copie y pegue su contenido en el campo **Transformación personalizada**. Puede copiar y pegar varios fragmentos de código en el campo de transformación personalizada.

## Fórmula personalizada
<a name="data-wrangler-transform-custom-formula"></a>

Usa una **fórmula personalizada** para definir una nueva columna mediante una expresión Spark SQL para consultar datos en el marco de datos actual. La consulta debe usar las convenciones de las expresiones Spark SQL.

**importante**  
La **fórmula personalizada** no admite columnas con espacios ni caracteres especiales en el nombre. Se recomienda especificar nombres de columnas que solo tengan caracteres alfanuméricos y guiones bajos. Puede utilizar la transformación **Cambiar nombre de columna** en el grupo de transformaciones **Administrar columnas**, a fin de eliminar los espacios del nombre de una columna. También puede añadir una **transformación personalizada** de **Python (Pandas)** similar a la siguiente para eliminar los espacios de varias columnas en un solo paso. En este ejemplo, se cambian las columnas denominadas `A column` y `B column` por `A_column` y`B_column`, respectivamente.   

```
df.rename(columns={"A column": "A_column", "B column": "B_column"})
```

Puede utilizar esta transformación para realizar operaciones en las columnas, y puede hacer referencia a las columnas por su nombre. Por ejemplo, supongamos que el marco de datos actual contiene columnas denominadas *col\$1a* y *col\$1b*; puede utilizar la siguiente operación para generar una **columna de salida** que sea el producto de estas dos columnas con el siguiente código:

```
col_a * col_b
```

Otras operaciones comunes son las siguientes, suponiendo que el marco de datos contenga columnas `col_a` y `col_b`:
+ Concatenar dos columnas: `concat(col_a, col_b)`
+ Añadir dos columnas: `col_a + col_b`
+ Restar dos columnas: `col_a - col_b`
+ Dividir dos columnas: `col_a / col_b`
+ Tomar el valor absoluto de una columna: `abs(col_a)`

Para obtener más información, consulte la [documentación de Spark](http://spark.apache.org/docs/latest/api/python) sobre la selección de datos. 

## Reducir la dimensionalidad dentro de un conjunto de datos
<a name="data-wrangler-transform-dimensionality-reduction"></a>

Reduzca la dimensionalidad de sus datos mediante el análisis de componentes principales (PCA). La dimensionalidad de su conjunto de datos depende de la cantidad de características. Cuando utiliza la reducción de dimensionalidad en Data Wrangler, obtiene un nuevo conjunto de características denominados componentes. Cada componente tiene en cuenta cierta variabilidad en los datos.

El primer componente representa la mayor cantidad de variación en los datos. El segundo componente representa la segunda mayor cantidad de variación en los datos, y así sucesivamente.

Puede utilizar la reducción de dimensionalidad para reducir el tamaño de los conjuntos de datos que utiliza para entrenar los modelos. En lugar de utilizar las características en su conjunto de datos, puede utilizar los componentes principales.

Para realizar la PCA, Data Wrangler crea ejes para sus datos. Un eje es una combinación afín de columnas en su conjunto de datos. El primer componente principal es el valor del eje que tiene la mayor cantidad de varianza. El segundo componente principal es el valor del eje que tiene la segunda mayor cantidad de varianza. El enésimo componente principal es el valor del eje que tiene la enésima cantidad de varianza más alta.

Puede configurar el número de componentes principales que devuelve Data Wrangler. Puede especificar el número de componentes principales directamente o puede especificar el porcentaje del umbral de varianza. Cada componente principal explica una cantidad de varianza en los datos. Por ejemplo, podría tener un componente principal con un valor de 0,5. El componente explicaría el 50 % de la variación de los datos. Al especificar un porcentaje umbral de varianza, Data Wrangler devuelve el menor número de componentes posible que cumple con el porcentaje que especifique.

A continuación, se muestran ejemplos de componentes principales con la cantidad de varianza que explican en los datos.
+ Componente 1: 0,5
+ Componente 2: 0,45
+ Componente 3: 0,05

Si especifica un porcentaje de umbral de varianza de `94` o `95`, Data Wrangler devuelve el componente 1 y el componente 2. Si especifica un porcentaje de umbral de varianza de `96`, Data Wrangler devuelve los tres componentes principales.

Puede utilizar el siguiente procedimiento para ejecutar el PCA en el conjunto de datos.

Para ejecutar el PCA en el conjunto de datos, haga lo siguiente.

1. Abra el flujo de datos de Data Wrangler.

1. Seleccione **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Elija **Reducción de dimensionalidad**.

1. En **Columnas de entrada**, elija las características que va a reducir en los componentes principales.

1. (Opcional) En **Número de componentes principales**, elija el número de componentes principales que Data Wrangler devuelve en su conjunto de datos. Si especifica un valor para el campo, no podrá especificar un valor para el **porcentaje del umbral de varianza**.

1. (Opcional) En el **porcentaje del umbral de varianza**, especifique el porcentaje de variación de los datos que desea que expliquen los componentes principales. Data Wrangler utiliza el valor predeterminado de `95` si no especifica un valor para el umbral de varianza. No puede especificar un porcentaje de umbral de varianza si ha especificado un valor para el **número de componentes principales**.

1. (Opcional) Deseleccione **Centrar** para no usar la media de las columnas como centro de los datos. De forma predeterminada, Data Wrangler centra los datos con la media antes de escalarlos.

1. (Opcional) Deseleccione **Escala** para no escalar los datos con la desviación estándar de la unidad.

1. (Opcional) Elija **Columnas** para generar los componentes en columnas separadas. Elija **Vector** para generar los componentes como un vector único.

1. (Opcional) En **Columna de salida**, especifique un nombre para la columna de salida. Si va a enviar los componentes a columnas independientes, el nombre que especifique es un prefijo. Si va a generar los componentes en un vector, el nombre que especifique es el nombre de la columna vectorial.

1. (Opcional) Seleccione **Conservar columnas de entrada**. No recomendamos seleccionar esta opción si planea usar solo los componentes principales para entrenar el modelo.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

## Codificar categóricos
<a name="data-wrangler-transform-cat-encode"></a>

Los datos categóricos suelen estar compuestos por un número finito de categorías, donde cada categoría se representa con una cadena. Por ejemplo, si tiene una tabla de datos de clientes, una columna que indica el país en el que vive una persona es categórica. Las categorías serían *Afganistán*, *Albania*, *Argelia*, etc. Los datos categóricos pueden ser *nominales* u *ordinales*. Las categorías ordinales tienen un orden inherente, pero las categorías nominales no. El grado de educación más alto obtenido (*bachillerato*, *licenciatura*, *máster*, etc.) es un ejemplo de categorías ordinales. 

La codificación de datos categóricos es el proceso de crear una representación numérica de las categorías. Por ejemplo, si sus categorías son *Perro* y *Gato*, puede codificar esta información en dos vectores: `[1,0]` para representar a *Perro* y `[0,1]` para representar a *Gato*.

Al codificar categorías ordinales, es posible que necesite traducir el orden natural de las categorías a su codificación. Por ejemplo, puede representar el grado más alto obtenido con el siguiente mapa: `{"High school": 1, "Bachelors": 2, "Masters":3}`.

Utilice la codificación categórica para codificar datos categóricos en formato de cadena en matrices de enteros. 

Los codificadores categóricos de Data Wrangler crean codificaciones para todas las categorías que existen en una columna en el momento en que se define el paso. Si se han agregado nuevas categorías a una columna al iniciar un trabajo de Data Wrangler para procesar el conjunto de datos en el momento *t* y esa columna era la entrada para una transformación de codificación categórica de Data Wrangler en el momento *t*-1, esas nuevas categorías se consideran *ausentes* en el trabajo de Data Wrangler. La opción que seleccione para **estrategia de gestión no válida** se aplica a estos valores que faltan. Algunos ejemplos de situaciones en las que esto puede ocurrir: 
+ Cuando se utiliza un archivo .flow para crear un trabajo de Data Wrangler a fin de procesar un conjunto de datos que se actualizó tras la creación del flujo de datos. Por ejemplo, puedes usar un flujo de datos para procesar regularmente los datos de ventas cada mes. Si los datos de ventas se actualizan semanalmente, es posible que se introduzcan nuevas categorías en las columnas para las que se defina un paso categórico de codificación. 
+ Al seleccionar el **muestreo** al importar el conjunto de datos, es posible que algunas categorías queden fuera de la muestra. 

En estas situaciones, estas nuevas categorías se consideran valores ausentes en el trabajo de Data Wrangler.

Puede elegir y configurar una codificación *ordinal* y una *codificación One-Hot*. Utilice las siguientes secciones para obtener más información sobre estas opciones. 

Ambas transformaciones crean una nueva columna llamada **Nombre de columna de salida**. El formato de salida de esta columna se especifica con **Estilo de salida**:
+ Seleccione **Vector** para producir una sola columna con un vector disperso. 
+ Seleccione **Columnas** para crear una columna para cada categoría con una variable indicadora de si el texto de la columna original contiene un valor igual a esa categoría.

### Codificación ordinal
<a name="data-wrangler-transform-cat-encode-ordinal"></a>

Seleccione **Codificación ordinal** para codificar las categorías en un número entero entre 0 y el número total de categorías de la **columna de entrada** que seleccione.

**Estrategia de administración no válida**: seleccione un método para gestionar los valores no válidos o ausentes. 
+ Elija **Omitir** si desea omitir las filas en las que falten valores.
+ Elija **Conservar** para retener los valores faltantes como última categoría.
+ Seleccione **Error** si desea que Data Wrangler arroje un error si se encuentran valores faltantes en la **columna de entrada**.
+ Elija **Reemplazar por NaN** para reemplazar lo que falte por NaN. Se recomienda utilizar esta opción si el algoritmo ML puede gestionar los valores faltantes. De lo contrario, las tres primeras opciones de esta lista pueden producir mejores resultados.

### Codificación One-Hot
<a name="data-wrangler-transform-cat-encode-onehot"></a>

Seleccione **Codificación One-Hot** para que **Transform** utilice la codificación One-Hot. Para configurar esta transformación, haga lo siguiente: 
+ **Descartar la última categoría**: si es `True`, la última categoría no tiene un índice correspondiente en la codificación One-Hot. Cuando es posible que falten valores, una categoría ausente siempre será la última; si se establece esto en `True`, un valor ausente dará como resultado un vector completamente cero.
+ **Estrategia de administración no válida**: seleccione un método para gestionar los valores no válidos o ausentes. 
  + Elija **Omitir** si desea omitir las filas en las que falten valores.
  + Elija **Conservar** para retener los valores faltantes como última categoría.
  + Seleccione **Error** si desea que Data Wrangler arroje un error si se encuentran valores faltantes en la **columna de entrada**.
+ **Entrada con codificación ordinal**: seleccione esta opción si el vector de entrada contiene datos con codificación ordinal. Esta opción requiere que los datos de entrada contengan números enteros no negativos. Si es **Verdadero**, la entrada *i* se codifica como un vector con un valor distinto de cero en la ubicación número *i*. 

### Codificación por similitud
<a name="data-wrangler-transform-cat-encode-similarity"></a>

Utilice la codificación por similitud cuando tenga lo siguiente:
+ Un gran número de variables categóricas
+ Datos con ruido

El codificador por similitud crea incrustaciones para columnas con datos categóricos. Una integración es una asignación de objetos discretos, como palabras, a vectores de números reales. Codifica cadenas similares a vectores que contienen valores similares. Por ejemplo, crea codificaciones muy similares para “California” y “Calfornia”.

Data Wrangler convierte cada categoría de su conjunto de datos en un conjunto de tokens mediante un tokenizador de 3 gramos. Convierte los tokens en una incrustación mediante la codificación MinHash.

En el siguiente ejemplo, se muestra cómo crea vectores el codificador por similitud a partir de cadenas.

![\[Ejemplo sobre el uso de ENCODE CATEGORICAL para una tabla en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/similarity-encode-example-screenshot-0.png)


![\[Ejemplo de representación vectorial de una variable que se encuentra en una tabla de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/similarity-encode-example-screenshot-1.png)


Características de las codificaciones por similitud que crea Data Wrangler:
+ Tienen una dimensionalidad baja.
+ Son escalables a un gran número de categorías.
+ Son robustas y resistentes al ruido.

Por las razones anteriores, la codificación por similitud es más versátil que la codificación centralizada.

Para agregar la transformación de codificación por similitud en su conjunto de datos, utilice el siguiente procedimiento.

Para utilizar la codificación por similitud, haga lo siguiente.

1. Inicia sesión en [Amazon SageMaker AI Console](https://console.aws.amazon.com/sagemaker/).

1. Elija **Abrir Studio Classic**.

1. Elija **Lanzar aplicación**.

1. Elija **Studio**.

1. Especifique su flujo de datos.

1. Elija un paso con una transformación.

1. Seleccione **Agregar paso**.

1. Elija **Codificar categóricos**.

1. Especifique lo siguiente:
   + **Transformar**: **codificación por similitud**
   + **Columna de entrada**: la columna que contiene los datos categóricos que está codificando.
   + **Dimensión de destino**: la dimensión del vector de incrustación categórica (opcional). El valor predeterminado es 30. Recomendamos usar una dimensión de destino más grande si tiene un conjunto de datos grande con muchas categorías.
   + **Estilo de salida**: elija **Vector** para un único vector con todos los valores codificados. Elija **Columna** para tener los valores codificados en columnas separadas.
   + **Columna de salida**: el nombre de la columna de salida para una salida codificada vectorial (opcional). En el caso de una salida codificada por columnas, este es el prefijo de los nombres de las columnas seguido del número indicado.

## Caracterización del texto
<a name="data-wrangler-transform-featurize-text"></a>

Utilice el grupo de transformaciones **Caracterizar texto** para inspeccionar las columnas de tipo cadena y utilizar la incrustación de texto a fin de caracterizar estas columnas. 

Este grupo de características contiene dos características: *Estadísticas de caracteres* y *Vectorizar*. Utilice las siguientes secciones para obtener más información sobre estas transformaciones. Para ambas opciones, la **columna de entrada** debe contener datos de texto (tipo cadena).

### Estadísticas de caracteres
<a name="data-wrangler-transform-featurize-text-character-stats"></a>

Utilice **Estadísticas de caracteres** para generar estadísticas para cada fila de una columna que contenga datos de texto. 

Esta transformación calcula las siguientes proporciones y recuentos para cada fila y crea una nueva columna para informar del resultado. La nueva columna recibe el nombre de la columna de entrada como prefijo y un sufijo específico de la proporción o el recuento. 
+ **Número de palabras**: el número total de palabras de esa fila. El sufijo de esta columna de salida es `-stats_word_count`.
+ **Número de caracteres**: el número total de caracteres de esa fila. El sufijo de esta columna de salida es `-stats_char_count`.
+ **Proporción de mayúsculas**: el número de caracteres en mayúscula, de la A a la Z, dividido entre todos los caracteres de la columna. El sufijo de esta columna de salida es `-stats_capital_ratio`.
+ **Proporción de minúsculas**: el número de caracteres en minúscula, de la a a la z, dividido entre todos los caracteres de la columna. El sufijo de esta columna de salida es `-stats_lower_ratio`.
+ **Proporción de dígitos**: la relación entre los dígitos de una sola fila y la suma de los dígitos de la columna de entrada. El sufijo de esta columna de salida es `-stats_digit_ratio`.
+ **Proporción de caracteres especiales**: proporción entre caracteres no alfanuméricos (como \$1\$1&%: @) y la suma de todos los caracteres de la columna de entrada. El sufijo de esta columna de salida es `-stats_special_ratio`.

### Vectorizar
<a name="data-wrangler-transform-featurize-text-vectorize"></a>

La incrustación de texto implica asignar palabras o frases de un vocabulario a vectores de números reales. Utilice la transformación de incrustación de texto de Data Wrangler para tokenizar y vectorizar datos de texto en vectores de frecuencia de término/frecuencia inversa de documento (TF-IDF). 

Cuando se calcula la TF-IDF para una columna de datos de texto, cada palabra de cada oración se convierte en un número real que representa su importancia semántica. Los números más altos se asocian a palabras menos frecuentes, que suelen ser más significativas. 

Al definir un paso de transformación **Vectorizar**, Data Wrangler utiliza los datos de su conjunto de datos para definir el vectorizador de recuento y los métodos TF-IDF. Al ejecutar un trabajo de Data Wrangler, se utilizan estos mismos métodos.

Para usar esta transformación, configure lo siguiente: 
+ **Nombre de la columna de salida**: esta transformación crea una nueva columna con el texto incrustado. Utilice este campo para especificar un nombre para esta columna de salida. 
+ **Tokenizador**: un tokenizador convierte la oración en una lista de palabras o *tokens*. 

  Elija **Estándar** para usar un tokenizador que divida por espacios en blanco y convierta cada palabra en minúsculas. Por ejemplo, `"Good dog"` está tokenizado a `["good","dog"]`.

  Elija **Personalizado** para usar un tokenizador personalizado. Si elige **Personalizado**, puede usar los siguientes campos para configurar el tokenizador.
  + **Longitud mínima del token**: la longitud mínima, en caracteres, para que un token sea válido. El valor predeterminado es `1`. Por ejemplo, si especifica `3` como longitud mínima del token, las palabras como `a, at, in` se eliminarán de la oración tokenizada. 
  + **La expresión regular debe dividirse en espacios**: si se selecciona, la **expresión regular** se dividirá en espacios. De lo contrario, se ajusta a los tokens. El valor predeterminado es `True`. 
  + **Patrón de expresiones regulares**: el patrón de expresiones regulares que define el proceso de tokenización. El valor predeterminado es `' \\ s+'`.
  + **A minúsculas**: si se selecciona, Data Wrangler convierte todos los caracteres a minúsculas antes de la tokenización. El valor predeterminado es `True`.

  Para obtener más información, consulte la documentación de Spark en [Tokenizer](https://spark.apache.org/docs/latest/ml-features#tokenizer).
+ **Vectorizador**: el vectorizador convierte la lista de tokens en un vector numérico disperso. Cada token corresponde a un índice del vector, y un valor distinto de cero indica la existencia del token en la oración de entrada. Puede elegir entre dos opciones de vectorización: *Recuento* y *Hashing*.
  + **Vectorización de recuento** permite personalizaciones con las que filtrar tokens poco frecuentes o demasiado comunes. Los **parámetros de Vectorización de recuento** son los siguientes. 
    + **Frecuencia mínima de términos**: en cada fila, se filtran los términos (tokens) con una frecuencia menor. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es `1`.
    + **Frecuencia mínima de documentos**: número mínimo de filas en las que debe aparecer un término (token) para poder incluirlo. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es `1`.
    + **Frecuencia máxima de documentos**: número máximo de documentos (filas) en los que puede aparecer un término (token) para ser incluido. Si especifica un número entero, se trata de un umbral absoluto (inclusivo). Si especifica una fracción entre 0 y 1 (ambos incluidos), el umbral es relativo al recuento total de términos. El valor predeterminado es `0.999`.
    + **Tamaño máximo del vocabulario**: tamaño máximo del vocabulario. El vocabulario se compone de todos los términos (tokens) de todas las filas de la columna. El valor predeterminado es `262144`.
    + **Salidas binarias**: si se selecciona, las salidas vectoriales no incluyen el número de apariciones de un término en un documento, sino que son un indicador binario de su presencia. El valor predeterminado es `False`.

    Para obtener más información sobre esta opción, consulta la documentación de Spark en [CountVectorizer](https://spark.apache.org/docs/latest/ml-features#countvectorizer).
  + El **Hashing** es computacionalmente más rápido. Los **parámetros de Vectorización de hashing** son los siguientes.
    + **Número de características durante el hashing**: un vectorizador de hashing asigna los tokens a un índice vectorial según su valor de hash. Esta característica determina el número de valores de hash posibles. Los valores grandes dan como resultado menos colisiones entre los valores hash, pero un vector de salida de mayor dimensión.

    Para obtener más información sobre esta opción, consulta la documentación de Spark en [FeatureHasher](https://spark.apache.org/docs/latest/ml-features#featurehasher)
+ **Apply IDF** aplica una transformación IDF, que multiplica la frecuencia de término por la frecuencia inversa de documento estándar utilizada para la incrustación TF-IDF. Los **parámetros de IDF** son los siguientes. 
  + **Frecuencia mínima de documentos**: número mínimo de documentos (filas) en las que debe aparecer un término (token) para poder incluirlo. Si el vectorizador elegido es **count\$1vectorize**, le recomendamos que mantenga el valor predeterminado y que solo modifique el campo **min\$1doc\$1freq** en los parámetros de **Count vectorize**. El valor predeterminado es `5`.
+ **Formato de salida**: el formato de salida de cada fila. 
  + Seleccione **Vector** para producir una sola columna con un vector disperso. 
  + Seleccione **Plano** para crear una columna para cada categoría con una variable indicadora de si el texto de la columna original contiene un valor igual a esa categoría. Solo puede elegir Plano si **Vectorizador** está configurado como **Vectorizador de recuento**.

## Transformar series temporales
<a name="data-wrangler-transform-time-series"></a>

En Data Wrangler puede transformar datos de serie temporal. Los valores de un conjunto de datos de series temporales están indexados en función de un tiempo específico. Por ejemplo, un conjunto de datos que muestra el número de clientes en una tienda por cada hora del día es un conjunto de datos de series temporales. En la siguiente tabla, se muestra un ejemplo de un conjunto de datos de series temporales.

Número de clientes por hora en una tienda


| Número de clientes | Hora (hora) | 
| --- | --- | 
| 4 | 09:00 | 
| 10 | 10:00 | 
| 14 | 11:00 | 
| 25 | 12:00 | 
| 20 | 13:00 | 
| 18 | 14:00 | 

En la tabla anterior, la columna **Número de clientes** contiene los datos de serie temporal. Los datos de serie temporal se indexan en función de los datos horarios de la columna **Hora**.

Es posible que necesite realizar una serie de transformaciones en los datos para ponerlos en un formato que pueda utilizar en el análisis. Utilice el grupo de transformaciones **Series temporales** para transformar los datos de series temporales. Para obtener más información acerca de las transformaciones que puede realizar, consulte las siguientes secciones.

**Topics**
+ [Agrupación por serie temporal](#data-wrangler-group-by-time-series)
+ [Remuestreo de datos de series temporales](#data-wrangler-resample-time-series)
+ [Gestión de datos ausentes de series temporales](#data-wrangler-transform-handle-missing-time-series)
+ [Validar la marca de tiempo de sus datos de series temporales](#data-wrangler-transform-validate-timestamp)
+ [Estandarizar la longitud de las series temporales](#data-wrangler-transform-standardize-length)
+ [Extracción de características a partir de datos de series temporales](#data-wrangler-transform-extract-time-series-features)
+ [Uso de características desfasadas en los datos de series temporales](#data-wrangler-transform-lag-time-series)
+ [Crear un rango de fecha y hora en su serie temporal](#data-wrangler-transform-datetime-range)
+ [Uso de periodos móviles en series temporales](#data-wrangler-transform-rolling-window)

### Agrupación por serie temporal
<a name="data-wrangler-group-by-time-series"></a>

Puede utilizar el agrupamiento por operación para agrupar los datos de series temporales para valores específicos de una columna.

Por ejemplo, tiene la siguiente tabla que registra el consumo medio diario de electricidad en un domicilio.

Consumo medio diario de electricidad en un domicilio


| ID del domicilio | Marca de tiempo diaria | Consumo de electricidad (kWh) | Número de ocupantes del domicilio | 
| --- | --- | --- | --- | 
| household\$10 | 1/1/2020 | 30 | 2 | 
| household\$10 | 1/2/2020 | 40 | 2 | 
| household\$10 | 1/4/2020 | 35 | 3 | 
| household\$11 | 1/2/2020 | 45 | 3 | 
| household\$11 | 1/3/2020 | 55 | 4 | 

Si elige agrupar por ID, obtendrá la siguiente tabla.

El consumo de electricidad se agrupa por ID de domicilio


| ID del domicilio | Serie de consumo de electricidad (kWh) | Serie de número de ocupantes del domicilio | 
| --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 
| household\$11 | [45, 55] | [3, 4] | 

Cada entrada de la secuencia de series temporales está ordenada por la marca de tiempo correspondiente. El primer elemento de la secuencia corresponde a la primera marca de tiempo de la serie. Para `household_0`, `30` es el primer valor de la **Serie de consumo de electricidad**. El valor de `30` corresponde a la primera marca de tiempo de `1/1/2020`.

Puede incluir la marca de tiempo inicial y la marca de tiempo final. En la siguiente tabla, se muestra cómo aparece esa información.

El consumo de electricidad se agrupa por ID de domicilio


| ID del domicilio | Serie de consumo de electricidad (kWh) | Serie de número de ocupantes del domicilio | Start\$1time | End\$1time | 
| --- | --- | --- | --- | --- | 
| household\$10 | [30, 40, 35] | [2, 2, 3] | 1/1/2020 | 1/4/2020 | 
| household\$11 | [45, 55] | [3, 4] | 1/2/2020 | 1/3/2020 | 

Puede utilizar el siguiente procedimiento para agrupar por una columna de series temporales. 

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Serie temporal**.

1. En **Transformar**, elija **Agrupar por**.

1. Especifique una columna en **Agrupar por esta columna**.

1. En **Aplicar a columnas**, especifique un valor.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Remuestreo de datos de series temporales
<a name="data-wrangler-resample-time-series"></a>

Los datos de series temporales suelen contener observaciones que no se toman a intervalos regulares. Por ejemplo, un conjunto de datos puede tener algunas observaciones que se registran cada hora y otras observaciones que se registran cada dos horas.

Muchos análisis, como los algoritmos de pronóstico, requieren que las observaciones se realicen a intervalos regulares. El remuestreo le permite establecer intervalos regulares para las observaciones de su conjunto de datos.

Puede aumentar o reducir el muestreo de una serie temporal. La reducción del muestreo aumenta el intervalo entre las observaciones del conjunto de datos. Por ejemplo, si reduce el muestreo de las observaciones que se realizan cada hora o cada dos horas, cada observación del conjunto de datos se realiza cada dos horas. Las observaciones horarias se agregan en un único valor mediante un método de agregación, como la media o la mediana.

El aumento del muestreo reduce el intervalo entre las observaciones del conjunto de datos. Por ejemplo, si aumenta el muestreo de las observaciones que se toman cada dos horas para convertirlas en observaciones por hora, puede usar un método de interpolación para inferir las observaciones por hora a partir de las que se han realizado cada dos horas. [Para obtener información sobre los métodos de interpolación, consulte pandas. DataFrame.interpolar.](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)

Puede volver a muestrear datos numéricos y no numéricos.

Utilice la operación **Remuestreo** para volver a muestrear los datos de series temporales. Si tiene varias series temporales en su conjunto de datos, Data Wrangler estandariza el intervalo de tiempo para cada serie temporal.

En la siguiente tabla, se muestra un ejemplo de reducción del muestreo de datos de series temporales utilizando la media como método de agregación. Los datos del muestreo se reducen de cada dos horas a cada hora.

Lecturas de temperatura por hora durante un día antes de la reducción de muestreo


| Timestamp | Temperatura (Celsius) | 
| --- | --- | 
| 12:00 | 30 | 
| 1:00 | 32 | 
| 2:00 | 35 | 
| 3:00 | 32 | 
| 4:00 | 30 | 

Las lecturas de temperatura se redujeron a cada dos horas


| Timestamp | Temperatura (Celsius) | 
| --- | --- | 
| 12:00 | 30 | 
| 2:00 | 33,5 | 
| 4:00 | 35 | 

Puede utilizar el siguiente procedimiento para volver a muestrear datos de serie temporal.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Remuestrear**.

1. En **Marca temporal**, elija la columna timestamp.

1. En **Unidad de frecuencia**, especifique la frecuencia que va a volver a muestrear.

1. (Opcional) Especifique un valor para la **Cantidad de frecuencia**.

1. Configure la transformación especificando los campos restantes.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Gestión de datos ausentes de series temporales
<a name="data-wrangler-transform-handle-missing-time-series"></a>

Si faltan valores en el conjunto de datos, puede elegir una de las siguientes opciones:
+ En el caso de los conjuntos de datos que tienen varias series temporales, elimine las series temporales en las que faltan valores superiores al umbral que especifique.
+ Impute los valores faltantes en una serie temporal utilizando otros valores de la serie temporal.

La imputación de un valor faltante implica reemplazar los datos especificando un valor o utilizando un método inferencial. Estos son los métodos que puede utilizar para la imputación.
+ Valor constante: reemplaza todos los datos que faltan en su conjunto de datos por un valor que especifique.
+ Valor más común: reemplaza todos los datos que faltan por el valor que tenga la frecuencia más alta en el conjunto de datos.
+ Rellenar hacia delante: utilice un relleno hacia delante para reemplazar los valores faltantes por el valor no faltante que precede a los valores faltantes. En la secuencia [2, 4, 7, NaN, NaN, NaN, 8], todos los valores faltantes se sustituyen por 7. La secuencia que resulta del uso de un relleno hacia delante es [2, 4, 7, 7, 7, 7, 8].
+ Rellenar hacia atrás: utilice un relleno hacia detrás para reemplazar los valores faltantes por el valor no faltante que sigue a los valores faltantes. En la secuencia [2, 4, 7, NaN, NaN, NaN, 8], todos los valores faltantes se sustituyen por 8. La secuencia que resulta del uso de un relleno hacia atrás es [2, 4, 7, 8, 8, 8, 8]. 
+ Interpolar: utilice una función de interpolación para imputar los valores faltantes. [Para obtener más información sobre las funciones que puede utilizar para la interpolación, consulte pandas. DataFrame.interpolar.](https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.interpolate.html)

Es posible que algunos de los métodos de imputación no puedan imputar todo el valor que falta en el conjunto de datos. Por ejemplo, **Rellenar hacia delante** no puede imputar un valor faltante que aparezca al principio de la serie temporal. Puede imputar los valores utilizando un relleno hacia delante o hacia atrás.

Puede imputar los valores faltantes en una celda o en una columna.

En el siguiente ejemplo, se muestra cómo se imputan los valores dentro de una celda.

Consumo de electricidad con valores faltantes


| ID del domicilio | Serie de consumo de electricidad (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, NaN, NaN] | 
| household\$11 | [45, NaN, 55] | 

Consumo de electricidad con valores imputados mediante un relleno hacia delante


| ID del domicilio | Serie de consumo de electricidad (kWh) | 
| --- | --- | 
| household\$10 | [30, 40, 35, 35, 35] | 
| household\$11 | [45, 45, 55] | 

En el siguiente ejemplo, se muestra cómo se imputan los valores dentro de una columna.

Consumo medio diario de electricidad de un domicilio con valores faltantes


| ID del domicilio | Consumo de electricidad (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | NaN | 
| household\$11 | NaN | 
| household\$11 | NaN | 

Consumo medio diario de electricidad en un domicilio, con valores imputados mediante un relleno hacia delante


| ID del domicilio | Consumo de electricidad (kWh) | 
| --- | --- | 
| household\$10 | 30 | 
| household\$10 | 40 | 
| household\$10 | 40 | 
| household\$11 | 40 | 
| household\$11 | 40 | 

Puede utilizar el siguiente procedimiento para gestionar los valores que faltan.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Elija **Manejo de ausentes**.

1. Para el **tipo de entrada de series temporales**, elija si desea gestionar los valores faltantes dentro de una celda o a lo largo de una columna.

1. En **Imputar valores faltantes para esta columna**, especifique la columna que tiene los valores faltantes.

1. En **Método para imputar valores**, seleccione un método.

1. Configure la transformación especificando los campos restantes.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Si faltan valores, puede especificar un método para imputarlos en **Método para imputar valores**.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Validar la marca de tiempo de sus datos de series temporales
<a name="data-wrangler-transform-validate-timestamp"></a>

Es posible que tenga datos de marca de tiempo que no sean válidos. Puede usar la función **Validar marca de tiempo** para determinar si las marcas de tiempo de su conjunto de datos son válidas. La marca de tiempo puede no ser válida por uno o varios de los motivos siguientes:
+ Faltan valores en la columna de marca de tiempo.
+ Los valores de la columna de marca de tiempo no tienen el formato correcto.

Si tiene marcas de tiempo no válidas en su conjunto de datos, no podrá realizar el análisis correctamente. Puede usar Data Wrangler para identificar las marcas de tiempo no válidas y saber dónde debe limpiar sus datos.

La validación de series temporales funciona de dos maneras:

Puede configurar Data Wrangler para realizar una de las siguientes acciones si encuentra valores faltantes en el conjunto de datos:
+ Descarte las filas en las que falten valores o haya valores no válidos.
+ Identifique las filas en las que falten valores o haya valores no válidos.
+ Lance un error si encuentra algún valor faltante o no válido en el conjunto de datos.

Puede validar las marcas de tiempo en las columnas del tipo `timestamp` o `string`. Si la columna tiene el tipo `string`, Data Wrangler convierte el tipo de columna a `timestamp` y realiza la validación.

Puede utilizar el siguiente procedimiento para validar las marcas de tiempo de su conjunto de datos.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Validar marcas de tiempo**.

1. En **Columna marca de tiempo**, elija la columna marca de tiempo.

1. En **Política**, elija si desea gestionar las marcas de tiempo que faltan.

1. (Opcional) En **Columna de salida**, especifique un nombre para la columna de salida.

1. Si la columna de fecha y hora está formateada para el tipo de cadena, elija **Transmitir a fecha y hora**.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Estandarizar la longitud de las series temporales
<a name="data-wrangler-transform-standardize-length"></a>

Si tiene datos de series temporales almacenados como matrices, puede estandarizar cada serie temporal con la misma longitud. La estandarización de la longitud de la matriz de series temporales podría facilitar la realización del análisis de los datos.

Puede estandarizar las series temporales para las transformaciones de datos que requieren que la longitud de los datos sea fija.

Muchos algoritmos de ML requieren que aplane los datos de las series temporales antes de usarlos. Aplanar los datos de series temporales consiste en separar cada valor de la serie temporal en su propia columna de un conjunto de datos. El número de columnas de un conjunto de datos no puede cambiar, por lo que es necesario estandarizar las longitudes de las series temporales antes de aplanar cada matriz en un conjunto de características.

Cada serie temporal se establece de acuerdo con la longitud que se especifique como cuantil o percentil del conjunto de series temporales. Por ejemplo, puede tener tres secuencias que tengan las siguientes longitudes:
+ 3
+ 4
+ 5

Puede establecer la longitud de todas las secuencias como la longitud de la secuencia que tenga la longitud del percentil número 50.

A las matrices de series temporales que son más cortas que la longitud que especificó se les agregan los valores faltantes. Lo que sigue es un ejemplo de formato de estandarización de la serie temporal a una longitud mayor: [2, 4, 5, NaN, NaN].

Puede utilizar diferentes métodos para gestionar los valores faltantes. Para obtener más información sobre estos métodos, consulte [Gestión de datos ausentes de series temporales](#data-wrangler-transform-handle-missing-time-series).

Las matrices de series temporales que son más largas que la longitud especificada se truncan.

Puede utilizar el siguiente procedimiento para estandarizar la longitud de la serie temporal.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Elija **Estandarizar longitud**.

1. En **Estandarizar la longitud de la serie temporal de la columna**, elija una columna.

1. (Opcional) En **Columna de salida**, especifique un nombre para la columna de salida. Si no especifica un nombre, la transformación se realiza en ese lugar.

1. Si la columna de fecha y hora está formateada para el tipo de cadena, elija **Transmitir a fecha y hora**.

1. Elija un **Cuantil de corte** y especifique un cuantil para establecer la longitud de la secuencia.

1. Seleccione **Aplanar la salida** para extraer los valores de la serie temporal en columnas independientes.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Extracción de características a partir de datos de series temporales
<a name="data-wrangler-transform-extract-time-series-features"></a>

Si está ejecutando un algoritmo de clasificación o regresión en los datos de series temporales, le recomendamos que extraiga las características de las series temporales antes de ejecutar el algoritmo. La extracción de características podría mejorar el rendimiento del algoritmo.

Utilice las siguientes opciones para elegir cómo desea extraer las características de los datos:
+ Utilice el **subconjunto mínimo** para especificar la extracción de 8 características que usted considere útiles para los análisis posteriores. Puede utilizar un subconjunto mínimo cuando necesite realizar cálculos rápidamente. También puede usarlo cuando su algoritmo de ML tenga un alto riesgo de sobreajuste y desee proporcionarle menos características.
+ Utilice el **subconjunto eficiente** para especificar la extracción de la mayor cantidad de posible de características sin extraer en sus análisis las características que requieran un uso intensivo de recursos computacionales.
+ Utilice **Todas las características** para especificar la extracción de todas las características de la serie de ajustes.
+ Utilice el **subconjunto manual** para elegir una lista de características que, en su opinión, explican bien la variación de los datos.

Utilice el siguiente procedimiento para extraer características de los datos de series temporales.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Extraer características**.

1. En **Extraer características para esta columna**, seleccione una columna.

1. (Opcional) Seleccione **Aplanar** para extraer las características en columnas independientes.

1. En **Estrategia**, elija una estrategia para extraer las características.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Uso de características desfasadas en los datos de series temporales
<a name="data-wrangler-transform-lag-time-series"></a>

En muchos casos de uso, la mejor manera de predecir el comportamiento futuro de una serie temporal es usar su comportamiento más reciente.

Los usos más comunes de las características desfasadas son los siguientes:
+ Recopilación de algunos valores pasados. Por ejemplo, para el tiempo t \$1 1, se recopila t, t - 1, t - 2 y t - 3.
+ Recopilación de valores que corresponden al comportamiento estacional de los datos. Por ejemplo, para predecir la ocupación de un restaurante a las 13:00 horas, puede utilizar las características a partir de las 13:00 horas del día anterior. El uso de las características a partir de las 12:00 o las 11:00 del mismo día puede no ser tan predictivo como el uso de las características de los días anteriores.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Características con retraso**.

1. En **Generar características con retraso para esta columna**, seleccione una columna.

1. En **Columna marca de tiempo**, elija la columna con las marcas de tiempo.

1. En **Retraso**, especifique la duración del retraso.

1. (Opcional) Configure la salida mediante una de las siguientes opciones:
   + **Incluir toda el plazo de retraso**
   + **Aplanar la salida**
   + **Descartar filas sin historial**

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Crear un rango de fecha y hora en su serie temporal
<a name="data-wrangler-transform-datetime-range"></a>

Es posible que tenga datos de series temporales que no tengan marcas de tiempo. Si sabe que las observaciones se realizaron a intervalos regulares, puede generar marcas temporales para las series temporales en una columna independiente. Para generar marcas de tiempo, especifique el valor de la marca de tiempo de inicio y la frecuencia de las marcas de tiempo.

Por ejemplo, puede tener los siguientes datos de series temporales para el número de clientes de un restaurante.

Datos de series temporales sobre el número de clientes de un restaurante


| Número de clientes | 
| --- | 
| 10 | 
| 14 | 
| 24 | 
| 40 | 
| 30 | 
| 20 | 

Si sabe que el restaurante abre a las 17:00 y que las observaciones se realizan cada hora, puede añadir una columna de fecha y hora que corresponda a los datos de la serie temporal. Puede consultar la columna de marca de tiempo en la siguiente tabla.

Datos de series temporales sobre el número de clientes de un restaurante


| Número de clientes | Timestamp | 
| --- | --- | 
| 10 | 13:00 | 
| 14 | 14:00 | 
| 24 | 15:00 | 
| 40 | 16:00 | 
| 30 | 17:00 | 
| 20 | 18:00 | 

Utilice el siguiente procedimiento para agregar un rango de fechas y horas a los datos.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Elija un **rango de fecha y hora**.

1. En **Tipo de frecuencia**, elija la unidad utilizada para medir la frecuencia de las marcas de tiempo.

1. En **Marca de tiempo de inicio**, especifique la marca de tiempo de inicio.

1. En **Columna de salida**, especifique un nombre para la columna de salida.

1. (Opcional) Configure la salida con los campos restantes.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

### Uso de periodos móviles en series temporales
<a name="data-wrangler-transform-rolling-window"></a>

Puede extraer características a lo largo de un periodo de tiempo. Por ejemplo, para el tiempo *t* (con una longitud de periodo temporal de 3), para la fila que indica la marca temporal número *t*, agregamos las características que se extraen de la serie temporal en los momentos *t* - 3, *t* -2 y *t* - 1. Para obtener información sobre la extracción de características, consulte [Extracción de características a partir de datos de series temporales](#data-wrangler-transform-extract-time-series-features). 

Puede utilizar el siguiente procedimiento para extraer características durante un periodo de tiempo.

1. Abra el flujo de datos de Data Wrangler.

1. Si no ha importado su conjunto de datos, hágalo desde la pestaña **Importar datos**.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione las **Características de periodo móvil**.

1. En **Generar características de periodo móvil para esta columna**, seleccione una columna.

1. En **Columna marca de tiempo**, elija la columna con las marcas de tiempo.

1. (Opcional) En **Columna de salida**, especifique un nombre para la columna de salida.

1. En **Tamaño del periodo**, especifique el tamaño del periodo.

1. En **Estrategia**, elija una estrategia de extracción.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

## Caracterizar la fecha y la hora
<a name="data-wrangler-transform-datetime-embed"></a>

Utilice **Caracterizar fecha/hora** para crear una incrustación vectorial que represente un campo de fecha y hora. Para utilizar esta transformación, los datos de fecha y hora deben estar en uno de los siguientes formatos. 
+ Cadenas que describen la fecha y hora, como `"January 1st, 2020, 12:44pm"`. 
+ Una marca de tiempo de Unix: una marca de tiempo de Unix describe el número de segundos, milisegundos, microsegundos o nanosegundos desde el 1 de enero de 1970. 

Puede elegir **Inferir el formato de fecha y hora** y proporcionar un **Formato de fecha y hora**. Si proporciona un formato de fecha y hora, debe usar los códigos descritos en la [documentación de Python](https://docs.python.org/3/library/datetime.html#strftime-and-strptime-format-codes). Las opciones que seleccione para estas dos configuraciones tienen implicaciones en la velocidad de la operación y en los resultados finales.
+ La opción más manual y rápida desde el punto de vista computacional es especificar un **formato de fecha y hora** y seleccionar **No** en **Inferir el formato de fecha y hora**.
+ Para reducir el trabajo manual, puede elegir **Inferir el formato de fecha y hora** en lugar de especificar un formato de fecha y hora. También es una operación rápida desde el punto de vista computacional; sin embargo, asume que el primer formato de fecha y hora que se encuentre en la columna de entrada será el formato de toda la columna. Si hay otros formatos en la columna, estos valores son NaN en la salida final. Si se infiere el formato de fecha y hora, se pueden obtener cadenas sin analizar. 
+ Si no especifica un formato y selecciona **No** para **inferir el formato de fecha y hora**, obtendrá los resultados más sólidos. Se analizan todas las cadenas de fecha y hora válidas. Sin embargo, esta operación puede ser un orden de magnitud más lenta que las dos primeras opciones de esta lista. 

Al utilizar esta transformación, se especifica una **columna de entrada** que contiene datos de fecha y hora en uno de los formatos enumerados anteriormente. La transformación crea una columna de salida denominada **Nombre de columna de salida**. El formato de la columna de salida depende de que la configuración use lo siguiente.
+ **Vector**: genera una sola columna como un vector. 
+ **Columnas**: crea una nueva columna para cada característica. Por ejemplo, si la salida contiene un año, un mes y un día, se crean tres columnas independientes para el año, el mes y el día. 

Además, debe elegir un **Modo de incrustación**. Para los modelos lineales y las redes profundas, se recomienda elegir el **cíclico**. Para los algoritmos basados en árboles, recomendamos elegir **ordinal**.

## Formatear cadena
<a name="data-wrangler-transform-format-string"></a>

Las transformaciones **Formatear cadena** contienen operaciones de formato de cadenas estándar. Por ejemplo, puede utilizar estas operaciones para eliminar caracteres especiales, normalizar la longitud de las cadenas y actualizar las mayúsculas y minúsculas de las cadenas.

Este grupo de características contiene las siguientes transformaciones. Todas las transformaciones devuelven copias de las cadenas de la **columna de entrada** y añaden el resultado a una nueva columna de salida.


| Name | Función | 
| --- | --- | 
| Left pad |  Relleno a la izquierda de la cadena con un **carácter de relleno** determinado y hasta el **ancho** indicado. Si la cadena es más larga que el **ancho**, el valor devuelto se acorta al número de caracteres de **ancho**.  | 
| Right pad |  Relleno a la derecha de la cadena con un **carácter de relleno** determinado y hasta el **ancho** indicado. Si la cadena es más larga que el **ancho**, el valor devuelto se acorta al número de caracteres de **ancho**.  | 
| Center (relleno a ambos lados) |  Relleno en el centro de la cadena (añade relleno a ambos lados de la cadena) con un **carácter de relleno** determinado del **ancho** indicado. Si la cadena es más larga que el **ancho**, el valor devuelto se acorta al número de caracteres de **ancho**.  | 
| Prepend zeros |  Relleno a la izquierda de una cadena numérica con ceros, hasta un **ancho** determinado. Si la cadena es más larga que el **ancho**, el valor devuelto se acorta al número de caracteres de **ancho**.  | 
| Strip left and right |  Devuelve una copia de la cadena sin los caracteres iniciales ni finales.  | 
| Strip characters from left |  Devuelve una copia de la cadena sin los caracteres iniciales.  | 
| Strip characters from right |  Devuelve una copia de la cadena sin los caracteres finales.  | 
| Lower case |  Convierte todas las letras del texto a minúsculas.  | 
| Upper case |  Convierte todas las letras del texto a mayúsculas.  | 
| Capitalize |  Escribe en mayúscula la primera letra de cada oración.   | 
| Swap case | Convierte todas las mayúsculas en minúsculas y todas las minúsculas en mayúsculas en la cadena y la devuelve. | 
| Add prefix or suffix |  Añade un prefijo y un sufijo a la columna de cadena. Debe especificar, al menos, un **prefijo** o un **sufijo**.   | 
| Remove symbols |  Elimina los símbolos determinados de una cadena. Se eliminan todos los caracteres de la lista. El valor predeterminado es el espacio en blanco.   | 

## Gestionar valores atípicos
<a name="data-wrangler-transform-handle-outlier"></a>

Los modelos de machine learning son sensibles a la distribución y el rango de los valores de sus características. Los valores atípicos, o valores poco frecuentes, pueden afectar negativamente a la precisión del modelo y provocar tiempos de entrenamiento más prolongados. Utilice este grupo de características para detectar y actualizar los valores atípicos en su conjunto de datos. 

Al definir un paso de transformación **Gestionar valores atípicos**, las estadísticas utilizadas para detectar valores atípicos se generan a partir de los datos disponibles en Data Wrangler al definir este paso. Estas mismas estadísticas se utilizan cuando se ejecuta un trabajo de Data Wrangler. 

Utilice las siguientes secciones para obtener más información sobre las transformaciones que contiene este grupo. Usted especifica un **nombre de salida** y cada una de estas transformaciones genera una columna de salida con los datos resultantes. 

### Valores atípicos de desviación estándar sólida
<a name="data-wrangler-transform-handle-outlier-rstdev"></a>

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante estadísticas resistentes a valores atípicos.

Debe definir un **cuantil superior** y un **cuantil inferior** para las estadísticas utilizadas para calcular los valores atípicos. También debe especificar el número de **desviaciones estándar** desde las que un valor debe variar de la media para que se considere un valor atípico. Por ejemplo, si especifica 3 para **Desviaciones estándar**, un valor debe estar a más de 3 desviaciones estándar de la media para que se considere un valor atípico. 

El **Método de resolución** es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:
+ **Recortar**: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.
+ **Eliminar**: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.
+ **Invalidar**: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

### Valores atípicos de desviación estándar
<a name="data-wrangler-transform-handle-outlier-sstdev"></a>

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante la media y la desviación estándar.

Usted especifica el número de **desviaciones estándar** que debe separar a un valor de la media para que se considere un valor atípico. Por ejemplo, si especifica 3 para **Desviaciones estándar**, un valor debe estar a más de 3 desviaciones estándar de la media para que se considere un valor atípico. 

El **Método de resolución** es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:
+ **Recortar**: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.
+ **Eliminar**: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.
+ **Invalidar**: utilice esta opción para reemplazar los valores atípicos por valores no válidos.

### Valores atípicos numéricos cuantiles
<a name="data-wrangler-transform-handle-outlier-quantile-numeric"></a>

Utilice esta transformación para detectar y corregir valores atípicos en entidades numéricas mediante cuantiles. Puede definir un **cuantil superior** y un **cuantil inferior**. Todos los valores que están por encima del cuantil superior o por debajo del cuantil inferior se consideran valores atípicos. 

El **Método de resolución** es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:
+ **Recortar**: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.
+ **Eliminar**: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.
+ **Invalidar**: utilice esta opción para reemplazar los valores atípicos por valores no válidos. 

### Valores atípicos numéricos mínimos y máximos
<a name="data-wrangler-transform-handle-outlier-minmax-numeric"></a>

Esta transformación detecta y corrige los valores atípicos en las características numéricas mediante un umbral superior e inferior. Utilice este método si conoce los valores límite que marcan los valores atípicos.

Debe especificar un **umbral superior** y un **umbral inferior**; si los valores están por encima o por debajo de esos umbrales, respectivamente, se consideran valores atípicos. 

El **Método de resolución** es el método que se utiliza para gestionar los valores atípicos cuando se detectan. Puede elegir entre las siguientes opciones:
+ **Recortar**: utilice esta opción para recortar los valores atípicos al límite de detección de valores atípicos correspondiente.
+ **Eliminar**: utilice esta opción para eliminar las filas con valores atípicos del marco de datos.
+ **Invalidar**: utilice esta opción para reemplazar los valores atípicos por valores no válidos. 

### Sustituir poco frecuentes
<a name="data-wrangler-transform-handle-outlier-replace-rare"></a>

Cuando utiliza la transformación **Sustituir poco frecuentes**, especifica un umbral; Data Wrangler busca todos los valores que lo cumplen y los reemplaza por la cadena que haya especificado. Por ejemplo, es posible que desee utilizar esta transformación para clasificar todos los valores atípicos de una columna en la categoría “Otros”. 
+ **Cadena de reemplazo**: la cadena con la que se reemplazan los valores atípicos.
+ **Umbral absoluto**: una categoría es poco frecuente si el número de instancias es inferior o igual a este umbral absoluto.
+ **Umbral de fracción**: una categoría es poco frecuente si el número de instancias es inferior o igual a este umbral de fracción multiplicado por el número de filas.
+ **Máximo de categorías comunes**: número máximo de categorías no poco frecuentes que permanecen después de la operación. Si el umbral no filtra suficientes categorías, las que tienen el mayor número de apariciones se clasifican como no poco frecuentes. Si se establece en 0 (valor predeterminado), no hay un límite estricto en cuanto al número de categorías.

## Gestión de valores que faltan
<a name="data-wrangler-transform-handle-missing"></a>

Los valores faltantes son frecuentes en los conjuntos de datos de machine learning. En algunas situaciones, es apropiado imputar los datos faltantes a un valor calculado, como un valor promedio o categóricamente común. Puede procesar los valores faltantes mediante el grupo de transformaciones **Gestión de valores que faltan**. Este grupo de características contiene las siguientes transformaciones. 

### Rellenar faltantes
<a name="data-wrangler-transform-fill-missing"></a>

Use la transformación **Rellenar faltantes** para reemplazar los valores faltantes por un **valor de relleno** que usted defina. 

### Imputar faltantes
<a name="data-wrangler-transform-impute"></a>

Utilice la transformación **Imputar faltantes** para crear una nueva columna que contenga valores imputados donde se encontraron valores faltantes en los datos numéricos y categóricos de entrada. La configuración depende del tipo de datos.

Para los datos numéricos, elija una estrategia de imputación: la estrategia utilizada para determinar el nuevo valor que se va a imputar. Puede optar por imputar la media o la mediana a los valores que están presentes en su conjunto de datos. Data Wrangler usa el valor que calcula para imputar los valores faltantes.

Para los datos categóricos, Data Wrangler imputa los valores faltantes utilizando el valor más frecuente de la columna. Para imputar una cadena personalizada, use la transformación **Rellenar faltantes**.

### Agregar indicador de faltante
<a name="data-wrangler-transform-missing-add-indicator"></a>

Utilice la transformación **Agregar indicador de faltante** para crear una nueva columna indicadora que contenga un booleano `"false"` si una fila contiene un valor o un booleano `"true"` si una fila contiene un valor faltante. 

### Descartar faltantes
<a name="data-wrangler-transform-drop-missing"></a>

Utilice la opción **Descartar faltantes** para descartar las filas que contienen valores faltantes en la **columna de entrada**.

## Administrar columnas
<a name="data-wrangler-manage-columns"></a>

Puede usar las siguientes transformaciones para actualizar y administrar rápidamente las columnas de su conjunto de datos: 


| Name | Función | 
| --- | --- | 
| Descartar columnas | Eliminar una columna.  | 
| Duplicar columna | Duplicar una columna. | 
| Cambiar el nombre de las columnas | Cambiar el nombre de una columna. | 
| Mover columna |  Mover la ubicación de una columna en el conjunto de datos. Elija mover la columna al principio o al final del conjunto de datos, antes o después de una columna de referencia, o a un índice específico.   | 

## Administrar filas
<a name="data-wrangler-transform-manage-rows"></a>

Utilice este grupo de transformación para realizar rápidamente operaciones de ordenación y mezcla de filas. Este grupo contiene lo siguiente:
+ **Ordenar**: ordena todo el marco de datos por una columna determinada. Seleccione la casilla de verificación situada junto a **Orden ascendente** para esta opción; de lo contrario, anule la selección de la casilla y se utilizará el orden descendente para ordenar. 
+ **Mezclar**: mezcla aleatoriamente todas las filas del conjunto de datos. 

## Administrar vectores
<a name="data-wrangler-transform-manage-vectors"></a>

Utilice este grupo de transformación para combinar o aplanar columnas vectoriales. Este grupo de características contiene las siguientes transformaciones. 
+ **Ensamblar**: use esta transformación para combinar vectores de Spark y datos numéricos en una sola columna. Por ejemplo, puede combinar tres columnas: dos que contienen datos numéricos y una que contiene vectores. Agregue todas las columnas que desee combinar en las **columnas de entrada** y especifique un **nombre de columna de salida** para los datos combinados. 
+ **Aplanar**: utilice esta transformación para aplanar una sola columna que contenga datos vectoriales. La columna de entrada debe contener PySpark vectores u objetos tipo matriz. Puede controlar el número de columnas creadas especificando un **método para detectar el número de salidas**. Por ejemplo, si selecciona **Longitud del primer vector**, el número de elementos del primer vector o matriz válido que se encuentre en la columna determina el número de columnas de salida que se crean. Todos los demás vectores de entrada con demasiados elementos se truncan. Las entradas con muy pocos elementos se rellenan con. NaNs

  También se especifica un **prefijo de salida**, que se utiliza como prefijo para cada columna de salida. 

## Procesar numéricos
<a name="data-wrangler-transform-process-numeric"></a>

Utilice el grupo de características **Procesar numéricos** para procesar datos numéricos. Cada valor escalar de este grupo se define mediante la biblioteca Spark. Se admiten los siguientes valores escalares:
+ **Escalador estándar**: estandariza la columna de entrada restando la media de cada valor y escalando a la varianza unitaria. Para obtener más información, consulta la documentación de Spark para [StandardScaler](https://docs.aws.amazon.com/sagemaker/latest/dg/data-wrangler-transform.html).
+ **Escalador robusto**: escala la columna de entrada mediante estadísticas resistentes a los valores atípicos. Para obtener más información, consulta la documentación de Spark para [RobustScaler](https://spark.apache.org/docs/latest/ml-features#robustscaler).
+ **Escalador mínimo y máximo**: transforme la columna de entrada mediante el escalado de cada característica a un rango determinado. Para obtener más información, consulta la documentación de Spark para [MinMaxScaler](https://spark.apache.org/docs/latest/ml-features#minmaxscaler).
+ **Escalador absoluto máximo**: escala la columna de entrada dividiendo cada valor entre el valor absoluto máximo. Para obtener más información, consulta la documentación de Spark para [MaxAbsScaler](https://spark.apache.org/docs/latest/ml-features#maxabsscaler).

## Muestreo
<a name="data-wrangler-transform-sampling"></a>

Después de importar los datos, puede usar el transformador de **muestreo** para tomar una o más muestras de los mismos. Cuando usa el transformador de muestreo, Data Wrangler toma muestras de su conjunto de datos original.

Puede usar uno de los métodos de muestreo siguientes.
+ **Límite**: toma muestras del conjunto de datos desde la primera fila hasta el límite que especifique.
+ **Aleatorio**: toma una muestra aleatoria del tamaño que especifique.
+ **Estratificado**: toma una muestra aleatoria estratificada.

Puede estratificar una muestra aleatoria para asegurarse de que representa la distribución original del conjunto de datos.

Es posible que esté preparando datos para varios casos de uso. Para cada caso de uso, puede tomar una muestra diferente y aplicar un conjunto diferente de transformaciones.

El siguiente procedimiento describe el proceso de creación de una muestra aleatoria. 

Para tomar una muestra aleatoria de los datos.

1. Seleccione **\$1**, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo **\$1**.

1. Seleccione **Agregar transformación**.

1. Seleccione **Muestreo**.

1. En **Método de muestreo**, elija el método de muestreo.

1. En **Tamaño aproximado de la muestra**, elija el número aproximado de observaciones que desee incluir en la muestra.

1. (Opcional) Especifique un número entero para **Inicio aleatorio** a fin de crear una muestra reproducible.

El siguiente procedimiento describe el proceso de creación de una muestra estratificada.

Para tomar una muestra estratificada de sus datos.

1. Seleccione **\$1**, a la derecha del conjunto de datos que ha importado. El nombre del conjunto de datos se encuentra debajo del signo **\$1**.

1. Seleccione **Agregar transformación**.

1. Seleccione **Muestreo**.

1. En **Método de muestreo**, elija el método de muestreo.

1. En **Tamaño aproximado de la muestra**, elija el número aproximado de observaciones que desee incluir en la muestra.

1. En **Estratificar columna**, especifique el nombre de la columna en la que desea estratificar.

1. (Opcional) Especifique un número entero para **Inicio aleatorio** a fin de crear una muestra reproducible.

## Buscar y editar
<a name="data-wrangler-transform-search-edit"></a>

Utilice esta sección para buscar y editar patrones específicos dentro de las cadenas. Por ejemplo, puede buscar y actualizar cadenas dentro de oraciones o documentos, dividir cadenas por delimitadores y buscar las apariciones de cadenas específicas. 

Las siguientes transformaciones se admiten en **Buscar y editar**. Todas las transformaciones devuelven copias de las cadenas de la **columna de entrada** y añaden el resultado a una nueva columna de salida.


| Name | Función | 
| --- | --- | 
|  Buscar subcadena  |  Devuelve el índice de la primera aparición de la **subcadena** que ha buscado. Puede iniciar y finalizar la búsqueda en **Iniciar** y **Finalizar** respectivamente.   | 
|  Buscar subcadena (desde la derecha)  |  Devuelve el índice de la última aparición de la **subcadena** que ha buscado. Puede iniciar y finalizar la búsqueda en **Iniciar** y **Finalizar** respectivamente.   | 
|  Coincidencia con el prefijo  |  Devuelve un valor booleano si la cadena contiene un **patrón** determinado. Un patrón puede ser una secuencia de caracteres o una expresión regular. Si lo desea, puede hacer que el patrón distinga entre mayúsculas y minúsculas.   | 
|  Buscar todas las apariciones  |  Devuelve una matriz con todas las apariciones de un patrón dado. Un patrón puede ser una secuencia de caracteres o una expresión regular.   | 
|  Extraer con expresión regular  |  Devuelve una cadena que coincide con un patrón de expresiones regulares determinado.  | 
|  Extraer entre delimitadores  |  Devuelve una cadena con todos los caracteres encontrados entre el **delimitador izquierdo** y el **delimitador derecho**.   | 
|  Extraer de la posición  |  Devuelve una cadena, empezando por la **posición inicial** de la cadena de entrada, que contiene todos los caracteres hasta la posición inicial más la **longitud**.   | 
|  Buscar y reemplazar la subcadena  |  Devuelve una cadena con todas las coincidencias de un **patrón** determinado (expresión regular) reemplazadas por una **cadena de reemplazo**.  | 
|  Sustituir entre delimitadores  |  Devuelve una cadena con la subcadena que se encuentra entre la primera aparición de un **delimitador izquierdo** y la última aparición de un **delimitador derecho**, sustituida por una **cadena de reemplazo**. Si no se encuentran coincidencias, no se reemplaza nada.   | 
|  Sustituir desde la posición  |  Devuelve una cadena con la subcadena entre la **posición inicial** y la **posición inicial** más la **longitud**, reemplazada por la **cadena de reemplazo**. Si la **posición inicial** más la **longitud** es mayor que la longitud de la cadena de reemplazo, la salida contiene **...**  | 
|  Convertir expresión regular a faltante  |  Convierte una cadena en `None` si no es válida y devuelve el resultado. La validez se define con una expresión regular en **Patrón**.  | 
|  Dividir cadena por el delimitador  |  Devuelve una matriz de cadenas desde la cadena de entrada, dividida por un **delimitador**, con hasta el **número máximo de divisiones** (opcional). El delimitador tiene como valor predeterminado un espacio en blanco.   | 

## Dividir datos
<a name="data-wrangler-transform-split-data"></a>

Use la transformación **Dividir datos** para dividir el conjunto de datos en dos o tres conjuntos de datos. Por ejemplo, puede dividir el conjunto de datos en un conjunto de datos que se utilice para entrenar el modelo y un conjunto de datos que se utilice para probarlo. Puede determinar la proporción del conjunto de datos que se incluye en cada división. Por ejemplo, si está dividiendo un conjunto de datos en dos conjuntos de datos, el conjunto de datos de entrenamiento puede contener el 80 % de los datos, mientras que el conjunto de datos de prueba tiene el 20 %.

Al dividir los datos en tres conjuntos de datos, podrá crear conjuntos de datos de entrenamiento, validación y prueba. Puede ver el rendimiento del modelo en el conjunto de datos de prueba si elimina la columna de destino.

Su caso de uso determina qué parte del conjunto de datos original obtiene cada uno de sus conjuntos de datos y el método que utiliza para dividir los datos. Por ejemplo, es posible que desee usar una división estratificada para asegurarse de que la distribución de las observaciones en la columna de destino sea la misma en todos los conjuntos de datos. Puede usar una de las siguientes transformaciones.
+ División aleatoria: cada división es una muestra aleatoria y no superpuesta del conjunto de datos original. Para conjuntos de datos más grandes, el uso de una división aleatoria puede resultar costoso desde el punto de vista computacional y llevar más tiempo que una división ordenada.
+ División ordenada: divide el conjunto de datos en función del orden secuencial de las observaciones. Por ejemplo, en el caso de una división 80/20 entre entrenamiento y prueba, las primeras observaciones que constituyen el 80 % del conjunto de datos se destinan al entrenamiento. El último 20 % de las observaciones se destina al conjunto de datos de prueba. Las divisiones ordenadas son eficaces a la hora de mantener el orden existente de los datos entre las divisiones.
+ División estratificada: divide el conjunto de datos para garantizar que el número de observaciones de la columna de entrada tenga una representación proporcional. En una columna de entrada con las observaciones 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, una división de 80/20 en la columna significaría que aproximadamente el 80 % de los 1, el 80 % de los 2 y el 80 % de los 3 van al conjunto de entrenamiento. Aproximadamente el 20 % de cada tipo de observación se destina al conjunto de pruebas.
+ Dividir por clave: evita que los datos con la misma clave aparezcan en más de una división. Por ejemplo, si tiene un conjunto de datos con la columna “customer\$1id” y lo utiliza como clave, no habrá ningún identificador de cliente en más de una división.

Después de dividir los datos, puede aplicar transformaciones adicionales a cada conjunto de datos. En la mayoría de los casos de uso, no son necesarios.

Data Wrangler calcula las proporciones de las divisiones para garantizar el rendimiento. Puede elegir un umbral de error para establecer la precisión de las divisiones. Los umbrales de error más bajos reflejan con mayor precisión las proporciones que se especifican para las divisiones. Si establece un umbral de error más alto, obtendrá un mejor rendimiento, pero una menor precisión.

Para dividir perfectamente los datos, establezca el umbral de error en 0. Puede especificar un umbral entre 0 y 1 para mejorar el rendimiento. Si especifica un valor mayor que 1, Data Wrangler interpreta ese valor como 1.

Si tiene 10 000 filas en su conjunto de datos y especifica una división de 80/20 con un error de 0,001, obtendrá observaciones que se aproximan a uno de los siguientes resultados:
+ 8010 observaciones en el conjunto de entrenamiento y 1990 en el conjunto de prueba.
+ 7990 observaciones en el conjunto de entrenamiento y 2010 en el conjunto de prueba.

El número de observaciones del conjunto de pruebas del ejemplo anterior está en el intervalo entre 8010 y 7990.

De forma predeterminada, Data Wrangler utiliza una semilla (o inicio) aleatoria para hacer que las divisiones sean reproducibles. Puede especificar un valor diferente para la semilla a fin de crear una división reproducible diferente.

------
#### [ Randomized split ]

Utilice el siguiente procedimiento para realizar una división aleatoria en el conjunto de datos.

Para dividir el conjunto de datos de forma aleatoria, haga lo siguiente

1. Elija el signo **\$1**, situado junto al nodo que contiene el conjunto de datos que va a dividir.

1. Seleccione **Agregar transformación**.

1. Elija **Dividir datos**.

1. (Opcional) En **Divisiones**, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

1. (Opcional) Seleccione **\$1** para crear una división adicional.

   1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

1. (Opcional) Especifique un valor para **Umbral de error** distinto del valor predeterminado.

1. (Opcional) Especifique un valor para la **Semilla aleatoria**.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

------
#### [ Ordered split ]

Utilice el siguiente procedimiento para realizar una división ordenada en el conjunto de datos.

Para realizar una división ordenada en su conjunto de datos, haga lo siguiente.

1. Elija el signo **\$1**, situado junto al nodo que contiene el conjunto de datos que va a dividir.

1. Seleccione **Agregar transformación**.

1. En **Transformar**, seleccione **División ordenada**.

1. Elija **Dividir datos**.

1. (Opcional) En **Divisiones**, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

1. (Opcional) Seleccione **\$1** para crear una división adicional.

   1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

1. (Opcional) Especifique un valor para **Umbral de error** distinto del valor predeterminado.

1. (Opcional) En **Columna de entrada**, especifique una columna con valores numéricos. Utilice los valores de las columnas para deducir qué registros hay en cada división. Los valores más pequeños se encuentran en una división y los valores más grandes en las otras divisiones.

1. (Opcional) Seleccione **Gestionar duplicados** para añadir ruido a los valores duplicados y crear un conjunto de datos de valores totalmente únicos.

1. (Opcional) Especifique un valor para la **Semilla aleatoria**.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

------
#### [ Stratified split ]

Utilice el siguiente procedimiento para realizar una división estratificada en el conjunto de datos.

Para realizar una división estratificada en su conjunto de datos, haga lo siguiente.

1. Elija el signo **\$1**, situado junto al nodo que contiene el conjunto de datos que va a dividir.

1. Seleccione **Agregar transformación**.

1. Elija **Dividir datos**.

1. En **Transformar**, elija **División estratificada**.

1. (Opcional) En **Divisiones**, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

1. (Opcional) Seleccione **\$1** para crear una división adicional.

   1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

1. En **Columna de entrada**, especifique una columna con hasta 100 valores únicos. Data Wrangler no puede estratificar una columna con más de 100 valores únicos.

1. (Opcional) Especifique un valor para **Umbral de error** distinto del valor predeterminado.

1. (Opcional) Especifique un valor en **Semilla aleatoria** para especificar una semilla diferente.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

------
#### [ Split by column keys ]

Utilice el siguiente procedimiento para dividir el conjunto de datos por las claves de las columnas.

Para dividir el conjunto de datos por las claves de columna, haga lo siguiente.

1. Elija el signo **\$1**, situado junto al nodo que contiene el conjunto de datos que va a dividir.

1. Seleccione **Agregar transformación**.

1. Elija **Dividir datos**.

1. En **Transformar**, selecciona **Dividir por clave**.

1. (Opcional) En **Divisiones**, especifique los nombres y las proporciones de cada división. La suma de las proporciones debe ser 1.

1. (Opcional) Seleccione **\$1** para crear una división adicional.

   1. Especifique los nombres y las proporciones de todas las divisiones. La suma de las proporciones debe ser 1.

1. En el caso de las **columnas clave**, especifique las columnas con valores que no desee que aparezcan en ambos conjuntos de datos.

1. (Opcional) Especifique un valor para **Umbral de error** distinto del valor predeterminado.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

------

## Analizar valor como tipo
<a name="data-wrangler-transform-cast-type"></a>

Use esta transformación para convertir una columna en un nuevo tipo. Los tipos de datos de Data Wrangler compatibles son los siguientes:
+ Largo
+ Flotante
+ Booleano
+ Fecha, en el formato dd-MM-yyyy, que representa el día, el mes y el año, respectivamente. 
+ Cadena

## Validar cadena
<a name="data-wrangler-transform-validate-string"></a>

Utilice las transformaciones **Validar cadena** para crear una nueva columna que indique que una fila de datos de texto cumple una condición específica. Por ejemplo, puede usar una transformación **Validar cadena** para comprobar que una cadena solo contiene caracteres en minúscula. **Validar cadena** admite las siguientes transformaciones. 

Las siguientes transformaciones se incluyen en este grupo de transformaciones. Si una transformación genera un valor booleano, `True` se representa con un `1` y `False` se representa con un `0`.


| Name | Función | 
| --- | --- | 
|  Longitud de cadena  |  Devuelve `True` si la longitud de una cadena es igual a la longitud especificada. De lo contrario, devuelve `False`.   | 
|  Empieza por  |  Devuelve `True` si una cadena comienza con un prefijo especificado. De lo contrario, devuelve `False`.  | 
|  Acaba con  |  Devuelve `True` si la longitud de una cadena es igual a la longitud especificada. De lo contrario, devuelve `False`.  | 
|  Es alfanumérico  |  Devuelve `True` si una cadena solo contiene números y letras. De lo contrario, devuelve `False`.  | 
|  Es alfa (letras)  |  Devuelve `True` si una cadena solo contiene letras. De lo contrario, devuelve `False`.  | 
|  Es dígito  |  Devuelve `True` si una cadena solo contiene dígitos. De lo contrario, devuelve `False`.  | 
|  Es espacio  |  Devuelve `True` si una cadena solo contiene números y letras. De lo contrario, devuelve `False`.  | 
|  Es un título  |  Devuelve `True` si una cadena contiene algún espacio en blanco. De lo contrario, devuelve `False`.  | 
|  Está en minúsculas  |  Devuelve `True` si una cadena solo contiene letras en minúscula. De lo contrario, devuelve `False`.  | 
|  Está en mayúscula  |  Devuelve `True` si una cadena solo contiene letras en mayúscula. De lo contrario, devuelve `False`.  | 
|  Es numérico  |  Devuelve `True` si una cadena solo contiene números. De lo contrario, devuelve `False`.  | 
|  Es decimal  |  Devuelve `True` si una cadena solo contiene números decimales. De lo contrario, devuelve `False`.  | 

## Datos JSON de Unnest
<a name="data-wrangler-transform-flatten-column"></a>

Si tiene un archivo .csv, es posible que tengas valores en su conjunto de datos que sean cadenas JSON. Del mismo modo, es posible que tenga datos anidados en columnas de un archivo Parquet o de un documento JSON.

Utilice el operador **Flatten structured** para separar las claves del primer nivel en columnas independientes. Una clave de primer nivel es una clave que no está anidada dentro de un valor.

Por ejemplo, puede tener un conjunto de datos que tenga una columna *persona*, con información demográfica sobre cada persona almacenada como cadenas JSON. La estructura JSON podría tener el siguiente aspecto.

```
 "{"seq": 1,"name": {"first": "Nathaniel","last": "Ferguson"},"age": 59,"city": "Posbotno","state": "WV"}"
```

El operador **Flatten structured** convierte las siguientes claves de primer nivel en columnas adicionales del conjunto de datos:
+ seq
+ name
+ edad
+ ciudad
+ estado

Data Wrangler coloca los valores de las claves como valores debajo de las columnas. A continuación se muestran los nombres y valores de las columnas del JSON.

```
seq, name,                                    age, city, state
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV
```

Para cada valor del conjunto de datos que contenga JSON, el operador **Flatten structured** crea columnas para las claves de primer nivel. Para crear columnas para claves anidadas, vuelve a llamar al operador. En el ejemplo anterior, la llamada al operador crea las siguientes columnas:
+ name\$1first
+ name\$1last

En el siguiente ejemplo, se muestra el conjunto de datos que resulta de volver a llamar a la operación.

```
seq, name,                                    age, city, state, name_first, name_last
1, {"first": "Nathaniel","last": "Ferguson"}, 59, Posbotno, WV, Nathaniel, Ferguson
```

Elija **Claves en las que aplanar** para especificar las claves de primer nivel que desee extraer como columnas independientes. Si no especifica ninguna clave, Data Wrangler extrae todas las claves por defecto.

## Desglosar matriz
<a name="data-wrangler-transform-explode-array"></a>

Utilice **Desglosar matriz** para expandir los valores de la matriz en filas de salida independientes. Por ejemplo, la operación puede tomar todos los valores de la matriz [[1, 2, 3], [4, 5, 6], [7, 8, 9]] y crear una nueva columna con las siguientes filas:

```
                [1, 2, 3]
                [4, 5, 6]
                [7, 8, 9]
```

Data Wrangler le pone a la nueva columna el nombre input\$1column\$1name\$1flatten.

Puede llamar a la operación **Desglosar matriz** varias veces para obtener los valores anidados de la matriz en columnas de salida separadas. El siguiente ejemplo muestra el resultado de llamar a la operación varias veces en un conjunto de datos con una matriz anidada.

Colocar los valores de una matriz anidada en columnas separadas


| id | array | id | array\$1items | id | array\$1items\$1items | 
| --- | --- | --- | --- | --- | --- | 
| 1 | [ [cat, dog], [bat, frog] ] | 1 | [cat, dog] | 1 | cat | 
| 2 |  [[rose, petunia], [lily, daisy]]  | 1 | [bat, frog] | 1 | dog | 
|  |  | 2 | [rose, petunia] | 1 | bat | 
|  |  | 2 | [lily, daisy] | 1 | frog | 
|  |  |  | 2 | 2. | rose | 
|  |  |  | 2 | 2. | petunia | 
|  |  |  | 2 | 2. | lily | 
|  |  |  | 2 | 2. | daisy | 

## Transformar datos de imagen
<a name="data-wrangler-transform-image"></a>

Use Data Wrangler para importar y transformar las imágenes que utiliza en sus canalizaciones de machine learning (ML). Cuando haya preparado los datos de imagen, puede exportarlos desde su flujo de Data Wrangler a su canalización de ML.

Puede utilizar la información proporcionada aquí para familiarizarse con la importación y la transformación de datos de imagen en Data Wrangler. Data Wrangler usa OpenCV para importar imágenes. Para obtener más información sobre los formatos de imagen compatibles, consulte [Image file reading and writing](https://docs.opencv.org/3.4/d4/da8/group__imgcodecs.html#ga288b8b3da0892bd651fce07b3bbd3a56).

Una vez que se haya familiarizado con los conceptos de la transformación de los datos de imagen, siga el siguiente tutorial, [Prepare los datos de imagen con Amazon SageMaker Data Wrangler](https://aws.amazon.com/blogs/machine-learning/prepare-image-data-with-amazon-sagemaker-data-wrangler/).

Los siguientes sectores y casos de uso son ejemplos en los que puede resultar útil aplicar machine learning a los datos de imágenes transformados.
+ Fabricación: identificación de defectos en los artículos de la línea de ensamblaje.
+ Alimentación: identificación de alimentos en mal estado o podridos.
+ Medicina: identificación de lesiones en los tejidos.

Cuando se trabaja con datos de imágenes en Data Wrangler, se sigue el siguiente proceso.

1. Importación: seleccione las imágenes eligiendo el directorio que las contiene en el bucket de Amazon S3.

1. Transformación: utilice las transformaciones integradas a fin de preparar las imágenes para la canalización de machine learning.

1. Exportación: exporte las imágenes que ha transformado a una ubicación a la que pueda acceder desde la canalización.

Utilice el siguiente procedimiento para importar los datos de imágenes.

**Para importar los datos de imágenes**

1. Vaya a la página **Crear conexión**.

1. Seleccione **Amazon S3**.

1. Especifique la ruta del archivo de Amazon S3 que contiene los datos de imagen.

1. En **Tipo de archivo**, elija **Imagen**.

1. (Opcional) Seleccione **Importar directorios anidados** para importar imágenes desde varias rutas de Amazon S3.

1. Seleccione **Importar**.

Data Wrangler utiliza la biblioteca [imgaug](https://imgaug.readthedocs.io/en/latest/) de código abierto para sus transformaciones de imágenes integradas. Puede utilizar las siguientes transformaciones integradas:
+ **ResizeImage**
+ **EnhanceImage**
+ **CorruptImage**
+ **SplitImage**
+ **DropCorruptedImages**
+ **DropImageDuplicates**
+ **Brightness (Brillo)**
+ **ColorChannels**
+ **Grayscale**
+ **Rotación**

Utilice el siguiente procedimiento para transformar sus imágenes sin escribir código.

**Para transformar los datos de imágenes sin escribir código**

1. En el flujo de Data Wrangler, seleccione **\$1**, junto al nodo que representa las imágenes que ha importado.

1. Seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Elija la transformación y configúrela.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

Además de utilizar las transformaciones que proporciona Data Wrangler, también puede utilizar sus propios fragmentos de código personalizados. Para obtener más información acerca del uso de fragmentos de código personalizados, consulte [Transformaciones personalizadas](#data-wrangler-transform-custom). Puede importar las bibliotecas OpenCV e imgaug dentro de sus fragmentos de código y utilizar las transformaciones asociadas a ellas. Lo que sigue es un ejemplo de fragmento de código que detecta bordes dentro de las imágenes.

```
# A table with your image data is stored in the `df` variable
import cv2
import numpy as np
from pyspark.sql.functions import column

from sagemaker_dataprep.compute.operators.transforms.image.constants import DEFAULT_IMAGE_COLUMN, IMAGE_COLUMN_TYPE
from sagemaker_dataprep.compute.operators.transforms.image.decorators import BasicImageOperationDecorator, PandasUDFOperationDecorator


@BasicImageOperationDecorator
def my_transform(image: np.ndarray) -> np.ndarray:
  # To use the code snippet on your image data, modify the following lines within the function
    HYST_THRLD_1, HYST_THRLD_2 = 100, 200
    edges = cv2.Canny(image,HYST_THRLD_1,HYST_THRLD_2)
    return edges
    

@PandasUDFOperationDecorator(IMAGE_COLUMN_TYPE)
def custom_image_udf(image_row):
    return my_transform(image_row)
    

df = df.withColumn(DEFAULT_IMAGE_COLUMN, custom_image_udf(column(DEFAULT_IMAGE_COLUMN)))
```

Al aplicar transformaciones en su flujo de Data Wrangler, Data Wrangler solo las aplica a una muestra de las imágenes de su conjunto de datos. Para optimizar su experiencia con la aplicación, Data Wrangler no aplica las transformaciones a todas sus imágenes.

Para aplicar las transformaciones a todas sus imágenes, exporte el flujo de Data Wrangler a una ubicación de Amazon S3. Puede utilizar las imágenes que ha exportado en sus canalizaciones de entrenamiento o inferencia. Use un nodo de destino o un cuaderno de Jupyter para exportar sus datos. Puede acceder a cualquiera de los métodos para exportar sus datos desde el flujo de Data Wrangler. Para obtener información sobre estos métodos, consulte [Exportar a Amazon S3.](data-wrangler-data-export.md#data-wrangler-data-export-s3).

## Filtrar datos
<a name="data-wrangler-transform-filter-data"></a>

Use Data Wrangler para filtrar los datos de sus columnas. Cuando filtra los datos de una columna, debe especificar los siguientes campos.
+ **Nombre de la columna**: el nombre de la columna que está utilizando para filtrar los datos.
+ **Condición**: el tipo de filtro que se aplica a los valores de la columna.
+ **Valor**: el valor o la categoría de la columna a la que se aplica el filtro.

Puede añadir filtros de acuerdo con las siguientes condiciones.
+ **=**: devuelve valores que coinciden con el valor o la categoría que especifica.
+ **\$1=**: devuelve valores que no coinciden con el valor o la categoría que especifica.
+ **>=**: en el caso de datos **largos** o **flotantes**, filtra los valores superiores o iguales al valor que especifica.
+ **<=**: en el caso de datos **largos** o **flotantes**, filtra los valores que son inferiores o iguales al valor que especifica.
+ **>**: en el caso de datos **largos** o **flotantes**, filtra los valores superiores al valor que especifica.
+ **<**: en el caso de datos **largos** o **flotantes**, filtra los valores que son inferiores al valor que especifica.

En una columna que contiene las categorías `male` y `female`, puede filtrar todos los valores `male`. También puede filtrar todos los valores `female`. Como solo hay valores `male` y `female` en la columna, el filtro devuelve una columna que solo tiene valores `female`.

También puede agregar varios filtros. Los filtros se pueden aplicar en varias columnas o en la misma columna. Por ejemplo, si va a crear una columna que solo tiene valores dentro de un rango determinado, agregará dos filtros diferentes. Un filtro especifica que la columna debe tener valores superiores al valor que usted proporciona. El otro filtro especifica que la columna debe tener valores inferiores al valor que usted proporciona.

Utilice el siguiente procedimiento para agregar la transformación del filtro a los datos.

**Cómo filtrar los datos**

1. En el flujo de Data Wrangler, seleccione **\$1**, situado junto al nodo con los datos que está filtrando.

1. Seleccione **Agregar transformación**.

1. Seleccione **Agregar paso**.

1. Seleccione **Filtrar datos**.

1. Especifique los siguientes campos.
   + **Nombre de la columna**: la columna que está filtrando.
   + **Condición**: estado del filtro.
   + **Valor**: el valor o la categoría de la columna a la que se aplica el filtro.

1. (Opcional) Seleccione **\$1** tras el filtro que ha creado.

1. Configure el filtro.

1. Seleccione **Preview** (Versión preliminar).

1. Elija **Añadir**.

## Asignar columnas para Amazon Personalize
<a name="data-wrangler-transform-personalize"></a>

Data Wrangler se integra con Amazon Personalize, un servicio de machine learning totalmente administrado que genera recomendaciones de artículos y segmentos de usuarios. Puede utilizar la transformación **Asignar columnas para Amazon Personalize** a fin de obtener los datos en un formato que Amazon Personalize pueda interpretar. Para obtener más información sobre las transformaciones específicas de Amazon Personalize, consulte [Importación de datos con Amazon SageMaker Data Wrangler](https://docs.aws.amazon.com/personalize/latest/dg/preparing-importing-with-data-wrangler.html#dw-transform-data). Para obtener más información sobre Amazon Personalize, consulte [What is Amazon Personalize?](https://docs.aws.amazon.com/personalize/latest/dg/what-is-personalize.html)

# Análisis y visualización
<a name="data-wrangler-analyses"></a>

Amazon SageMaker Data Wrangler incluye análisis integrados que le ayudan a generar visualizaciones y análisis de datos con unos pocos clics. También puede crear análisis personalizados con su propio código. 

Para agregar un análisis a un marco de datos, seleccione un paso del flujo de datos y, a continuación, elija **Agregar análisis**. Para acceder a un análisis que haya creado, seleccione el paso que contiene el análisis y seleccione el análisis. 

Todos los análisis se generan con 100 000 filas de su conjunto de datos. 

Puede agregar los análisis siguientes a un marco de datos:
+ Visualizaciones de datos, incluidos histogramas y gráficos de dispersión. 
+ Un resumen rápido del conjunto de datos, que incluye el número de entradas, los valores mínimo y máximo (para los datos numéricos) y las categorías más y menos frecuentes (para los datos categóricos).
+ Un modelo rápido del conjunto de datos, que se puede utilizar para generar una puntuación de importancia para cada característica. 
+ Un informe de fuga de objetivos, que puede utilizar para determinar si una o más características están estrechamente correlacionadas con la característica objetivo.
+ Una visualización personalizada con su propio código. 

Utilice las siguientes secciones para obtener más información sobre estas opciones. 

## Histograma
<a name="data-wrangler-visualize-histogram"></a>

Utilice los histogramas para ver los recuentos de los valores de las características de una característica específica. Puede examinar las relaciones entre las características mediante la opción **Colorear por**. Por ejemplo, el siguiente histograma muestra la distribución de las valoraciones de los usuarios de los libros más vendidos en Amazon entre 2009 y 2019, coloreadas por género. 

![\[Ejemplo de diagrama de histograma en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/histogram.png)


Puede usar la característica **Facetas** para crear histogramas de una columna para cada valor de otra columna. Por ejemplo, en el siguiente diagrama se muestran histogramas de las reseñas de los usuarios de los libros más vendidos en Amazon si se clasifican por año. 

![\[Histogramas de ejemplo en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/review_by_year.png)


## Gráfico de dispersión
<a name="data-wrangler-visualize-scatter-plot"></a>

Use la característica **Gráfico de dispersión** para examinar la relación entre las características. Para crear un gráfico de dispersión, seleccione una característica para representarla en el eje **X** y el eje **Y**. Ambas columnas deben ser columnas de tipo numérico. 

Puede colorear los gráficos de dispersión mediante una columna adicional. Por ejemplo, en el siguiente ejemplo se muestra un gráfico de dispersión que compara el número de reseñas con las valoraciones de los usuarios de los libros más vendidos en Amazon entre 2009 y 2019. El gráfico de dispersión está coloreado por género literario. 

![\[Ejemplo de diagrama de dispersión en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/scatter-plot.png)


Además, puede ordenar los gráficos de dispersión por características. Por ejemplo, en la siguiente imagen se muestra un ejemplo del mismo gráfico de dispersión de reseñas frente a valoraciones de los usuarios, clasificado por año. 

![\[Ejemplo de diagrama de dispersión facetada en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/scatter-plot-facet.png)


## Resumen de la tabla
<a name="data-wrangler-table-summary"></a>

Utilice el análisis **Resumen de la tabla** para resumir rápidamente los datos.

Para las columnas con datos numéricos, incluidos los logarítmicos y datos flotantes, el resumen de la tabla indica el número de entradas (recuento), mínimo (mín.), máximo (máx.), media y desviación estándar (DE) de cada columna.

Para las columnas con datos no numéricos, incluidas las columnas con cadenas, booleanas o date/time datos, un resumen de tabla indica el número de entradas (recuento), el valor menos frecuente (mínimo) y el valor más frecuente (máximo). 

## Modelo rápido
<a name="data-wrangler-quick-model"></a>

Utilice la visualización **Modelo rápido** para evaluar rápidamente los datos y generar puntuaciones de importancia para cada característica. Una [Puntuación de importancia de la característica](http://spark.apache.org/docs/2.1.0/api/python/pyspark.ml.html#pyspark.ml.classification.DecisionTreeClassificationModel.featureImportances) indica la utilidad de una característica para predecir una etiqueta objetivo. La puntuación de importancia de la característica está entre [0, 1] y un número más alto indica que la característica es más importante para todo el conjunto de datos. En la parte superior del gráfico de modelo rápido, hay una puntuación del modelo. Un problema de clasificación muestra una puntuación de F1. Un problema de regresión tiene una puntuación de error cuadrático medio (MSE).

Cuando crea un gráfico de modelo rápido, selecciona el conjunto de datos que desea evaluar y una etiqueta objetivo con la que desea comparar la importancia de las características. Data Wrangler hace lo siguiente:
+ Infiere los tipos de datos de la etiqueta objetivo y de cada característica del conjunto de datos seleccionado. 
+ Determina el tipo de problema. En función del número de valores distintos de la columna de etiquetas, Data Wrangler determina si se trata de un problema de regresión o clasificación. Data Wrangler establece un umbral categórico en 100. Si hay más de 100 valores distintos en la columna de etiquetas, Data Wrangler lo clasifica como un problema de regresión; de lo contrario, se clasifica como un problema de clasificación. 
+ Preprocesa las características y etiqueta los datos para el entrenamiento. El algoritmo utilizado requiere codificar las características con un tipo vectorial y codificar las etiquetas con un tipo doble. 
+ Entrena un algoritmo de bosque aleatorio con un 70 % de datos. El de Spark [RandomForestRegressor](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-regression)se usa para entrenar un modelo para problemas de regresión. [RandomForestClassifier](https://spark.apache.org/docs/latest/ml-classification-regression.html#random-forest-classifier)Se usa para entrenar un modelo para problemas de clasificación.
+ Evalúa un modelo de bosque aleatorio con el 30 % restante de los datos. Data Wrangler evalúa los modelos de clasificación con una puntuación F1 y evalúa los modelos de regresión con una puntuación MSE.
+ Calcula la importancia de cada característica mediante el método de importancia de Gini. 

En la imagen siguiente, se muestra la interfaz de usuario de la característica de modelo rápido. 

![\[Ejemplo de interfaz de usuario de la característica de modelo rápido de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/quick-model.png)


## Fuga de objetivos
<a name="data-wrangler-analysis-target-leakage"></a>

La fuga de objetivos se produce cuando hay datos en un conjunto de datos de entrenamiento de machine learning que están estrechamente correlacionados con la etiqueta objetivo, pero que no están disponibles en los datos de la vida real. Por ejemplo, es posible que tenga una columna en su conjunto de datos que sirva como proxy de la columna que desea predecir con su modelo. 

Al utilizar el análisis **Fuga de objetivos**, especifica lo siguiente:
+ **Objetivo**: esta es la característica sobre la que desea que su modelo de machine learning pueda realizar predicciones.
+ **Tipo de problema**: este es el tipo de problema de machine learning en el que está trabajando. El tipo de problema puede ser de **clasificación** o **regresión**. 
+  (Opcional) **Características máximas**: es la cantidad máxima de características que se pueden presentar en la visualización, que muestra las características clasificadas según su riesgo de convertirse en una fuga de objetivos.

Para la clasificación, el análisis de fuga de objetivos utiliza el área bajo la curva de la característica operativa de receptor, o curva AUC-ROC para cada columna, hasta las **Características máximas**. Para la regresión, utiliza un coeficiente de determinación o métrica R2.

La curva AUC-ROC proporciona una métrica predictiva, calculada individualmente para cada columna mediante la validación cruzada, en una muestra de hasta 1000 filas aproximadamente. Una puntuación de 1 indica una capacidad predictiva perfecta, lo que a menudo es señal de una fuga de objetivos. Una puntuación igual o inferior a 0,5 indica que la información de la columna no puede proporcionar, por sí sola, ninguna información útil para predecir el objetivo. Aunque puede ocurrir que una columna no sea informativa por sí sola, pero que sea útil para predecir el objetivo cuando se utiliza junto con otras características, una puntuación baja podría indicar que la característica es redundante.

Por ejemplo, en la siguiente imagen se muestra un informe de fuga de objetivos para un problema de clasificación de la diabetes, es decir, para predecir si una persona tiene diabetes o no. Se utiliza una curva AUC–OC para calcular la capacidad predictiva de cinco características, y se determina que todas están a salvo de la fuga de objetivos.

![\[Ejemplo de informe de fuga de objetivos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/target-leakage.png)


## Multicolinealidad
<a name="data-wrangler-multicollinearity"></a>

La multicolinealidad es una circunstancia en la que dos o más variables predictoras están relacionadas entre sí. Las variables predictoras son características del conjunto de datos que se utilizan para predecir una variable objetivo. Cuando tiene multicolinealidad, las variables predictoras no solo predicen la variable objetivo, sino que también se predicen entre sí.

Puede utilizar el **factor de inflación de la varianza (VIF)**, el **análisis de componentes principales (PCA)** o la **selección de características Lasso** como medidas de la multicolinealidad de los datos. Para obtener más información, consulte lo siguiente.

------
#### [ Variance Inflation Factor (VIF) ]

El factor de inflación de la varianza (VIF) es una medida de la colinealidad entre pares de variables. Data Wrangler devuelve una puntuación de VIF como una medida de lo estrechamente que están relacionadas las variables entre sí. Una puntuación de VIF es un número positivo que es mayor o igual a 1.

Una puntuación de 1 significa que la variable no está correlacionada con las demás variables. Las puntuaciones superiores a 1 indican una correlación más alta.

En teoría, puede tener una puntuación VIF con un valor de infinito. Data Wrangler reduce las puntuaciones altas a 50. Si tiene una puntuación de VIF superior a 50, Data Wrangler establece la puntuación en 50.

Puede utilizar las siguientes pautas para interpretar las puntuaciones de VIF:
+ Una puntuación de VIF inferior o igual a 5 indica que las variables están moderadamente correlacionadas con las demás variables.
+ Una puntuación de VIF mayor o igual a 5 indica que las variables están altamente correlacionadas con las demás variables.

------
#### [ Principle Component Analysis (PCA) ]

El análisis de componentes principales (PCA) mide la varianza de los datos en diferentes direcciones en el espacio de características. El espacio de características consta de todas las variables predictoras que se utilizan para predecir la variable objetivo en el conjunto de datos.

Por ejemplo, si intenta predecir quién sobrevivió en el *RMS Titanic* tras chocar contra un iceberg, su espacio de características puede incluir la edad, el sexo y la tarifa que pagaron los pasajeros.

Desde el espacio de características, el PCA genera una lista ordenada de varianzas. Estas varianzas también se conocen como valores singulares. Los valores de la lista de varianzas son mayores o iguales a 0. Podemos usarlos para determinar cuánta multicolinealidad hay en nuestros datos.

Cuando los números son aproximadamente uniformes, los datos tienen muy pocas instancias de multicolinealidad. Cuando hay mucha variabilidad entre los valores, tenemos muchas instancias de multicolinealidad. Antes de realizar el PCA, Data Wrangler normaliza cada característica para que tenga una media de 0 y una desviación estándar de 1.

**nota**  
En esta circunstancia, el PCA también puede denominarse descomposición en valores singulares (SVD).

------
#### [ Lasso feature selection ]

La selección de características Lasso utiliza la técnica de regularización L1 para incluir solo las características más predictivas en el conjunto de datos.

Tanto para la clasificación como para la regresión, la técnica de regularización genera un coeficiente para cada característica. El valor absoluto del coeficiente proporciona una puntuación de importancia para la característica. Una puntuación de importancia más alta indica que es más predictiva de la variable objetivo. Un método habitual de selección de características consiste en utilizar todas las características que tienen un coeficiente lasso distinto de cero.

------

## Detección de anomalías en los datos de serie temporal
<a name="data-wrangler-time-series-anomaly-detection"></a>

Puede utilizar la visualización de la detección de anomalías para ver los valores atípicos en los datos de serie temporal. Para entender qué es lo que determina una anomalía, debe entender que descomponemos la serie temporal en un término predicho y un término de error. La estacionalidad y la tendencia de la serie temporal se consideran el término predicho. Los residuos se tratan como el término de error.

Para el término de error, se especifica un umbral como el número de desviaciones estándar que el residuo puede alejarse de la media para que se considere una anomalía. Por ejemplo, puede especificar un umbral de 3 desviaciones estándar. Cualquier residuo que esté a más de 3 desviaciones estándar de la media es una anomalía.

Puede utilizar el siguiente procedimiento para realizar un análisis de **Detección de anomalías**.

1. Abra el flujo de datos de Data Wrangler.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar análisis**.

1. En **Tipo de análisis**, elija **Serie temporal**.

1. En **Visualización**, elija **Detección de anomalías**.

1. En **Umbral de anomalía**, elija el umbral para que un valor se considera una anomalía.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

## Descomposición de tendencias estacionales en datos de serie temporal
<a name="data-wrangler-seasonal-trend-decomposition"></a>

Puede determinar si hay estacionalidad en sus datos de serie temporal mediante la visualización de la descomposición de tendencias estacionales. Para realizar la descomposición, se usa el método STL (descomposición de tendencias estacionales mediante LOESS). La serie temporal se descompone en sus componentes estacionales, tendenciales y residuales. La tendencia refleja la progresión a largo plazo de la serie. El componente estacional es una señal que se repite en un período de tiempo. Tras eliminar los componentes estacionales y tendenciales de la serie temporal, se obtiene el residuo.

Puede utilizar el siguiente procedimiento para realizar un análisis de **descomposición de la tendencia estacional**.

1. Abra el flujo de datos de Data Wrangler.

1. En el flujo de datos, en **Tipos de datos**, elija el signo **\$1** y seleccione **Agregar análisis**.

1. En **Tipo de análisis**, elija **Serie temporal**.

1. En **Visualización**, elija **Descomposición de tendencias estacionales**.

1. En **Umbral de anomalía**, elija el umbral para que un valor se considera una anomalía.

1. Elija **Vista previa** para generar una vista previa del análisis.

1. Elija **Agregar** para agregar la transformación al flujo de datos de Data Wrangler.

## Informe de sesgo
<a name="data-wrangler-bias-report"></a>

Puede utilizar el informe de sesgo de Data Wrangler para detectar posibles sesgos en sus datos. Para generar un informe de sesgo, debe especificar la columna objetivo, o **Etiqueta**, que desea predecir y una **Faceta**, o la columna que desea inspeccionar para detectar sesgos.

**Etiqueta**: la característica sobre la que desea que un modelo haga predicciones. Por ejemplo, si predice la conversión de clientes, puede seleccionar una columna que contenga datos sobre si un cliente ha realizado un pedido o no. También debes especificar si esta característica es una etiqueta o un umbral. Si especifica una etiqueta, debe especificar qué aspecto tendría un *resultado positivo* en sus datos. En el ejemplo de conversión de clientes, un resultado positivo puede ser un 1 en la columna de pedidos, que representa el resultado positivo de un cliente que ha realizado un pedido en los últimos tres meses. Si especifica un umbral, debe especificar un límite inferior que defina un resultado positivo. Por ejemplo, si las columnas de pedidos de los clientes contienen el número de pedidos realizados el año pasado, podría especificar 1.

**Faceta**: la columna que desea inspeccionar para detectar sesgos. Por ejemplo, si intenta predecir la conversión de clientes, la faceta podría ser la edad del cliente. Podría elegir esta faceta porque cree que los datos están sesgados hacia un grupo de edad determinado. Debe definir si la faceta se mide como un valor o un umbral. Por ejemplo, si desea inspeccionar una o más edades específicas, seleccione **Valor** y especifique esas edades. Si desea analizar un grupo de edad, seleccione **Umbral** y especifique el umbral de edades que desea inspeccionar.

Tras seleccionar la característica y la etiqueta, seleccione los tipos de métricas de sesgo que quiera calcular.

Para obtener más información, consulte [Generate reports for bias in pre-training data](https://docs.aws.amazon.com/sagemaker/latest/dg/data-bias-reports.html). 

## Creación de visualizaciones personalizadas
<a name="data-wrangler-visualize-custom"></a>

Puede agregar un análisis al flujo de Data Wrangler para crear una visualización personalizada. Su conjunto de datos, con todas las transformaciones que ha aplicado, está disponible como [Pandas DataFrame](https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.DataFrame.html). Data Wrangler usa la variable `df` para almacenar el marco de datos. Para acceder al marco de datos, debe llamar a la variable.

Debe proporcionar la variable de salida, `chart`, para almacenar un gráfico de salida de [Altair](https://altair-viz.github.io/). Por ejemplo, puede utilizar el bloque de código siguiente para crear un histograma personalizado con el conjunto de datos del Titanic.

```
import altair as alt
df = df.iloc[:30]
df = df.rename(columns={"Age": "value"})
df = df.assign(count=df.groupby('value').value.transform('count'))
df = df[["value", "count"]]
base = alt.Chart(df)
bar = base.mark_bar().encode(x=alt.X('value', bin=True, axis=None), y=alt.Y('count'))
rule = base.mark_rule(color='red').encode(
    x='mean(value):Q',
    size=alt.value(5))
chart = bar + rule
```

**Para crear una visualización personalizada:**

1. Junto al nodo que contiene la transformación que quiere visualizar, elija el signo **\$1**.

1. Elija **Agregar análisis**.

1. En **Tipo de análisis**, elija **Visualización personalizada**.

1. En **Nombre del análisis**, especifique un nombre.

1. Introduzca el código en el cuadro de códigos. 

1. Elija **Vista previa** para obtener una vista previa de la visualización.

1. Elija **Guardar** para agregar la visualización.

![\[Ejemplo de cómo añadir una visualización en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/custom-visualization.png)


Si no sabe cómo usar el paquete de visualización de Altair en Python, puede usar fragmentos de código personalizados para ayudarle a empezar.

Data Wrangler tiene una colección de fragmentos de visualización con capacidad de búsqueda. Para utilizar un fragmento de visualización, elija **Buscar fragmentos de ejemplo** y especifique una consulta en la barra de búsqueda.

En el siguiente ejemplo, se utiliza el fragmento de código **Gráfico de dispersión discretizado**. Traza un histograma para 2 dimensiones.

Los fragmentos incluyen comentarios para ayudarle a entender los cambios que debe realizar en el código. Por lo general, es necesario especificar los nombres de las columnas del conjunto de datos en el código.

```
import altair as alt

# Specify the number of top rows for plotting
rows_number = 1000
df = df.head(rows_number)  
# You can also choose bottom rows or randomly sampled rows
# df = df.tail(rows_number)
# df = df.sample(rows_number)


chart = (
    alt.Chart(df)
    .mark_circle()
    .encode(
        # Specify the column names for binning and number of bins for X and Y axis
        x=alt.X("col1:Q", bin=alt.Bin(maxbins=20)),
        y=alt.Y("col2:Q", bin=alt.Bin(maxbins=20)),
        size="count()",
    )
)

# :Q specifies that label column has quantitative type.
# For more details on Altair typing refer to
# https://altair-viz.github.io/user_guide/encoding.html#encoding-data-types
```

# Reutilización de flujos de datos para diferentes conjuntos de datos
<a name="data-wrangler-parameterize"></a>

Puede crear y utilizar parámetros para los orígenes de datos de Amazon Simple Storage Service (Amazon S3). Un parámetro es una variable que ha guardado en su flujo de Data Wrangler. Su valor puede ser cualquier parte de la ruta de Amazon S3 del origen de datos. Utilice los parámetros para cambiar rápidamente los datos que va a importar a un flujo de Data Wrangler o que va a exportar a un trabajo de procesamiento. También puede usar parámetros para seleccionar e importar un subconjunto específico de datos.

Después de crear un flujo de Data Wrangler, es posible que haya entrenado un modelo a partir de los datos que ha transformado. En el caso de conjuntos de datos que tengan el mismo esquema, puede emplear parámetros para aplicar las mismas transformaciones en un conjunto de datos diferente y entrenar un modelo diferente. Puede utilizar los nuevos conjuntos de datos para realizar inferencias con su modelo o puede usarlos para volver a entrenar su modelo.

En general, los parámetros tienen los siguientes atributos:
+ Nombre: el nombre que especifique para el parámetro
+ Tipo: el tipo de valor que representa el parámetro
+ Valor predeterminado: el valor del parámetro cuando no se especifica un valor nuevo

**nota**  
Los parámetros de fecha y hora tienen un atributo de intervalo de tiempo que utilizan como valor predeterminado.

Data Wrangler utiliza llaves, `{{}}`, para indicar que se está utilizando un parámetro en la ruta de Amazon S3. Por ejemplo, puede tener una URL como `s3://amzn-s3-demo-bucket1/{{example_parameter_name}}/example-dataset.csv`.

Usted crea un parámetro cuando edita el origen de datos de Amazon S3 que ha importado. Puede establecer cualquier parte de la ruta del archivo en un valor de parámetro. Puede definir el valor del parámetro en un valor o en un patrón. Los siguientes son los tipos de valores de parámetros disponibles en el flujo de Data Wrangler:
+ Número
+ Cadena
+ Patrón
+ Fecha y hora

**nota**  
No puede crear un parámetro de patrón ni un parámetro de fecha y hora para el nombre del bucket en la ruta de Amazon S3.

Debe establecer un número como valor predeterminado de un parámetro numérico. Puede cambiar el valor del parámetro a un número diferente al editar un parámetro o al iniciar un trabajo de procesamiento. Por ejemplo, en la ruta de S3, `s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv`, puede crear un parámetro numérico llamado `number_parameter` en el lugar de `1`. La ruta de S3 ahora aparece como `s3://amzn-s3-demo-bucket/example-prefix/example-file-{{number_parameter}}.csv`. La ruta sigue apuntando al conjunto de datos `example-file-1.csv` hasta que cambie el valor del parámetro. Si cambia el valor de `number_parameter` a `2` la ruta ahora es `s3://amzn-s3-demo-bucket/example-prefix/example-file-2.csv`. Puede importar `example-file-2.csv` a Data Wrangler si has cargado el archivo a esa ubicación de Amazon S3.

Un parámetro de cadena almacena una cadena como su valor predeterminado. Por ejemplo, en la ruta de S3, `s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv`, puede crear un parámetro numérico llamado `string_parameter` en el lugar del nombre de archivo `example-file-1.csv`. La ruta ahora aparece como `s3://amzn-s3-demo-bucket/example-prefix/{{string_parameter}}`. Sigue coincidiendo con `s3://amzn-s3-demo-bucket/example-prefix/example-file-1.csv` hasta que cambie el valor del parámetro.

En lugar de especificar el nombre de archivo como un parámetro de cadena, puede crear un parámetro de cadena mediante la ruta completa de Amazon S3. Puede especificar un conjunto de datos de cualquier ubicación de Amazon S3 en el parámetro de cadena.

Un parámetro de patrón almacena una cadena de expresión regular (REGEX de Python) como su valor predeterminado. Puede usar un parámetro de patrón para importar varios archivos de datos al mismo tiempo. Para importar más de un objeto a la vez, especifique un valor de parámetro que se corresponda con los objetos de Amazon S3 que va a importar.

También puede crear un parámetro de patrón para los siguientes conjuntos de datos:
+ s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv
+ s3://amzn-s3-demo-bucket1/example-prefix/example-file-2.csv
+ s3://amzn-s3-demo-bucket1/example-prefix/example-file-10.csv
+ s3://amzn-s3-demo - -file-0123.csv bucket/example-prefix/example

Para `s3://amzn-s3-demo-bucket1/example-prefix/example-file-1.csv`, puede crear un parámetro de patrón en el lugar de `1` y establecer el valor predeterminado del parámetro en `\d+`. La cadena de REGEX `\d+` se corresponde con uno o más dígitos decimales. Si crea un parámetro de patrón denominado `pattern_parameter`, la ruta de S3 aparecerá como `s3://amzn-s3-demo-bucket1/example-prefix/example-file-{{pattern_parameter}}.csv`.

También puede utilizar parámetros de patrón que se correspondan con todos los objetos CSV de su bucket. Para ello, cree un parámetro de patrón con el valor predeterminado de `.*` y establezca la ruta en `s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv`. El carácter `.*` se corresponde con cualquier carácter de cadena de la ruta. 

La ruta `s3://amzn-s3-demo-bucket/{{pattern_parameter}}.csv` puede corresponderse con los siguientes conjuntos de datos.
+ `example-file-1.csv`
+ `other-example-file.csv`
+ `example-file-a.csv`

Un parámetro de fecha y hora almacena el formato con la siguiente información:
+ Un formato para analizar cadenas dentro de una ruta de Amazon S3.
+ Un intervalo de tiempo relativo para limitar los valores de fecha y hora correspondientes

Por ejemplo, en la ruta del archivo Amazon S3, `s3://amzn-s3-demo-bucket/2020/01/01/example-dataset.csv`, 2020/01/01 representa una fecha y hora con el formato de `year/month/day`. Puede establecer el intervalo de tiempo del parámetro en un intervalo como `1 years` o `24 hours`. Un intervalo de `1 years` coincide con todas las rutas de S3 con fechas y horas comprendidas entre la hora actual y la hora exactamente un año anterior a la hora actual. La hora actual es la hora en la que comienza a exportar las transformaciones que ha realizado en los datos. Para obtener más información acerca de la exportación de datos, consulte [Exportación](data-wrangler-data-export.md). Si la fecha actual es el 1 de enero de 2022 y el intervalo de tiempo es `1 years`, la ruta de S3 se corresponde con conjuntos de datos como los siguientes:
+ s3://amzn-s3-demo-bucket/2021/01/01/example-dataset.csv
+ s3://amzn-s3-demo-bucket/2021/06/30/example-dataset.csv
+ s3://amzn-s3-demo-bucket/2021/12/31/example-dataset.csv

Los valores de fecha y hora dentro de un intervalo de tiempo relativo cambian a medida que pasa el tiempo. Las rutas de S3 que se encuentran dentro del intervalo de tiempo relativo también pueden diferir.

Para la ruta del archivo de Amazon S3 ,`s3://amzn-s3-demo-bucket1/20200101/example-dataset.csv`, `20220101` es un ejemplo de una ruta que puede convertirse en un parámetro de fecha y hora.

Para ver una tabla con todos los parámetros que ha creado en el flujo de Data Wrangler, elija `\$1\$1\$1\$1` que está situado a la derecha del cuadro de texto que contiene la ruta de Amazon S3. Si ya no necesita un parámetro que haya creado, puede editarlo o eliminarlo. Para editar o eliminar un parámetro, elija los iconos situados a la derecha del parámetro.

**importante**  
Antes de eliminar un parámetro, asegúrese de no haberlo utilizado en ninguna parte del flujo de Data Wrangler. Los parámetros eliminados que aún se encuentran en el flujo provocan errores.

Puede crear parámetros para cualquier paso de su flujo de Data Wrangler. Puede editar o eliminar un parámetro que haya creado. Si aplica transformaciones a datos que ya no son pertinentes para su caso de uso, puede modificar los valores de los parámetros. La modificación de los valores de los parámetros cambia los datos que importa.

En las siguientes secciones, se proporciona más información sobre el uso de parámetros. Puede utilizar las secciones para comprender los parámetros que mejor se adapten a sus necesidades.

**nota**  
Las siguientes secciones contienen procedimientos que utilizan la interfaz de Data Wrangler para anular los parámetros y crear un trabajo de procesamiento.  
También puede anular los parámetros mediante los siguientes procedimientos.  
Para exportar el flujo de Data Wrangler y anular el valor de un parámetro, haga lo siguiente.  
Elija el signo **\$1** junto al nodo que desea exportar.
Elija **Exportar a**.
Elija la ubicación a la que va a exportar los datos.
En `parameter_overrides`, especifique valores diferentes para los parámetros que ha creado.
Ejecute el cuaderno de Jupyter.

## Aplicación de un flujo de Data Wrangler a los archivos mediante patrones
<a name="data-wrangler-pattern-parameters"></a>

Puede usar parámetros para aplicar transformaciones en su flujo de Data Wrangler a diferentes archivos que se correspondan con un patrón en la ruta de URI de Amazon S3. Esto le ayuda a especificar los archivos del bucket de S3 que desea transformar con una especificidad elevada. Por ejemplo, es posible que tenga un conjunto de datos con la ruta `s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv`. Los diferentes conjuntos de datos denominados `example-dataset.csv` se almacenan con muchos prefijos de ejemplo diferentes. Los prefijos también se pueden numerar de forma secuencial. Puede crear patrones para los números del URI de Amazon S3. Los parámetros de patrón utilizan REGEX para seleccionar cualquier número de archivos que se corresponda con el patrón de la expresión. Los siguientes son patrones de expresiones regulares que pueden resultar útiles:
+ `.*`: se corresponde con cero o más de cualquier carácter, excepto los caracteres de nueva línea.
+ `.+`: se corresponde con uno o más de cualquier carácter, excepto los caracteres de nueva línea.
+ `\d+`: se corresponde con uno o más de cualquier dígito decimal.
+ `\w+`: se corresponde con uno o más de cualquier carácter alfanumérico.
+ `[abc-_]{2,4}`: se corresponde con una cadena de dos, tres o cuatro caracteres compuesta del conjunto de caracteres proporcionado entre corchetes.
+ `abc|def`: se corresponde con una cadena u otra. Por ejemplo, la operación coincide con `abc` o `def`.

Puede reemplazar cada número de las siguientes rutas por un único parámetro que tenga un valor de `\d+`.
+ `s3://amzn-s3-demo-bucket1/example-prefix-3/example-prefix-4/example-prefix-5/example-dataset.csv`
+ `s3://amzn-s3-demo-bucket1/example-prefix-8/example-prefix-12/example-prefix-13/example-dataset.csv`
+ `s3://amzn-s3-demo-bucket1/example-prefix-4/example-prefix-9/example-prefix-137/example-dataset.csv`

El siguiente procedimiento crea un parámetro de patrón para un conjunto de datos con la ruta `s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv`.

Para crear un parámetro de patrón, haga lo siguiente.

1. Junto al conjunto de datos que ha importado, elija **Editar conjunto de datos**.

1. Resalte `0` en `example-prefix-0`.

1. Especifique los valores en los siguientes campos:
   + **Nombre**: un nombre para el parámetro.
   + **Tipo**: **patrón**.
   + **Valor**: una expresión regular **\$1 d\$1** que se corresponde a uno o más dígitos.

1. Seleccione **Crear**.

1. Sustituya `1` y `2` en la ruta del URI de S3 por el parámetro. La ruta debe tener el siguiente formato: `s3://amzn-s3-demo-bucket1/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-prefix-{{example_parameter_name}}/example-dataset.csv`.

A continuación, se ofrece un procedimiento general para crear un parámetro de patrón.

1. Vaya a su flujo de Data Wrangler.

1. Junto al conjunto de datos que ha importado, elija **Editar conjunto de datos**.

1. Resalta la parte del URI que utiliza como valor del parámetro de patrón.

1. Elija **Crear parámetro personalizado**.

1. Especifique los valores en los siguientes campos:
   + **Nombre**: un nombre para el parámetro.
   + **Tipo**: **patrón**.
   + **Valor**: expresión regular que contiene el patrón que desea almacenar.

1. Seleccione **Crear**.

## Aplicación de un flujo de Data Wrangler a los archivos mediante valores numéricos
<a name="data-wrangler-numeric-parameters"></a>

Puede usar parámetros para aplicar transformaciones en su flujo de Data Wrangler a diferentes archivos que tengan rutas similares. Por ejemplo, es posible que tenga un conjunto de datos con la ruta `s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv`.

Podría tener las transformaciones de su flujo de Data Wrangler que haya aplicado a los conjuntos de datos en `example-prefix-1`. Es posible que desee aplicar las mismas transformaciones a `example-dataset.csv` que entra bajo `example-prefix-10` o `example-prefix-20`.

Puede crear un parámetro que almacene el valor `1`. Si desea aplicar las transformaciones a distintos conjuntos de datos, puede crear trabajos de procesamiento que sustituyan el valor del parámetro por un valor diferente. El parámetro actúa como un marcador de posición que puede cambiar cuando desee aplicar las transformaciones de su flujo de Data Wrangler a datos nuevos. Puede anular el valor del parámetro cuando crea un trabajo de procesamiento de Data Wrangler para aplicar las transformaciones de su flujo de Data Wrangler a diferentes conjuntos de datos.

Utilice el siguiente procedimiento para crear parámetros numéricos para `s3://amzn-s3-demo-bucket1/example-prefix-0/example-prefix-1/example-prefix-2/example-dataset.csv`.

Para crear parámetros para la ruta del URI de S3 anterior, haga lo siguiente.

1. Vaya a su flujo de Data Wrangler.

1. Junto al conjunto de datos que ha importado, elija **Editar conjunto de datos**.

1. Resalte el número en un prefijo de ejemplo de `example-prefix-number`.

1. Elija **Crear parámetro personalizado**.

1. En **Nombre**, especifique un nombre para el parámetro.

1. En **Tipo**, elija **Entero**.

1. En **Valor**, especifique el número.

1. Repita el procedimiento para crear parámetros para los números restantes.

Una vez que haya creado los parámetros, aplique las transformaciones a su conjunto de datos y cree un nodo de destino para ellas. Para obtener más información acerca de los nodos de destino, consulte [Exportación](data-wrangler-data-export.md).

Utilice el siguiente procedimiento para aplicar las transformaciones de su flujo de Data Wrangler a un intervalo de tiempo diferente. Se supone que ha creado un nodo de destino para las transformaciones del flujo.

Para cambiar el valor de un parámetro numérico en un trabajo de procesamiento de Data Wrangler, haga lo siguiente.

1. En el flujo de Data Wrangler, elija **Crear trabajo**.

1. Seleccione solo el nodo de destino que contenga las transformaciones en el conjunto de datos que contiene los parámetros de fecha y hora.

1. Elija **Configurar trabajo**.

1. Elija **Agregar parámetro**.

1. Elija el nombre de un parámetro que haya creado.

1. Cambie el valor del parámetro.

1. Repita el procedimiento para los demás parámetros.

1. Seleccione **Ejecutar**.

## Aplicación de un flujo de Data Wrangler a los archivos mediante cadenas
<a name="data-wrangler-string-parameters"></a>

Puede usar parámetros para aplicar transformaciones en su flujo de Data Wrangler a diferentes archivos que tengan rutas similares. Por ejemplo, es posible que tenga un conjunto de datos con la ruta `s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv`.

Es posible que tenga transformaciones del flujo de Data Wrangler que haya aplicado a los conjuntos de datos en `example-prefix`. Es posible que desee aplicar las mismas transformaciones a `example-dataset.csv` bajo `another-example-prefix` o `example-prefix-20`.

Puede crear un parámetro que almacene el valor `example-prefix`. Si desea aplicar las transformaciones a distintos conjuntos de datos, puede crear trabajos de procesamiento que sustituyan el valor del parámetro por un valor diferente. El parámetro actúa como un marcador de posición que puede cambiar cuando desee aplicar las transformaciones de su flujo de Data Wrangler a datos nuevos. Puede anular el valor del parámetro cuando crea un trabajo de procesamiento de Data Wrangler para aplicar las transformaciones de su flujo de Data Wrangler a diferentes conjuntos de datos.

Utilice el siguiente procedimiento para crear un parámetro de cadena para `s3://amzn-s3-demo-bucket1/example-prefix/example-dataset.csv`.

Para crear un parámetro para la ruta del URI de S3 anterior, haga lo siguiente.

1. Vaya a su flujo de Data Wrangler.

1. Junto al conjunto de datos que ha importado, elija **Editar conjunto de datos**.

1. Resalte el prefijo de ejemplo, `example-prefix`.

1. Elija **Crear parámetro personalizado**.

1. En **Nombre**, especifique un nombre para el parámetro.

1. En **Type**, elija **String**.

1. En **Valor**, especifique el prefijo.

Una vez que haya creado el parámetro, aplique las transformaciones a su conjunto de datos y cree un nodo de destino para ellas. Para obtener más información acerca de los nodos de destino, consulte [Exportación](data-wrangler-data-export.md).

Utilice el siguiente procedimiento para aplicar las transformaciones de su flujo de Data Wrangler a un intervalo de tiempo diferente. Se supone que ha creado un nodo de destino para las transformaciones del flujo.

Para cambiar el valor de un parámetro numérico en un trabajo de procesamiento de Data Wrangler, haga lo siguiente:

1. En el flujo de Data Wrangler, elija **Crear trabajo**.

1. Seleccione solo el nodo de destino que contenga las transformaciones en el conjunto de datos que contiene los parámetros de fecha y hora.

1. Elija **Configurar trabajo**.

1. Elija **Agregar parámetro**.

1. Elija el nombre de un parámetro que haya creado.

1. Cambie el valor del parámetro.

1. Repita el procedimiento para los demás parámetros.

1. Seleccione **Ejecutar**.

## Aplicación de un flujo de Data Wrangler a diferentes intervalos de fecha y hora
<a name="data-wrangler-datetime-parameters"></a>

Utilice los parámetros de fecha y hora para aplicar transformaciones en su flujo de Data Wrangler a diferentes intervalos de tiempo. Resalte la parte del URI de Amazon S3 que tenga una marca de tiempo y cree un parámetro para ella. Al crear un parámetro, se especifica un intervalo de tiempo desde la hora actual hasta una hora del pasado. Por ejemplo, podría tener un URI de Amazon S3 similar a este: `s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv`. Puede guardar `2022/05/15` como parámetro de fecha y hora. Si especifica un año como intervalo de tiempo, el intervalo de tiempo incluye el momento en que se ejecutó el trabajo de procesamiento que contiene el parámetro de fecha y hora y la hora de hace exactamente un año. Si el momento en el que ejecuta el trabajo de procesamiento es el 6 de septiembre de 2022, o `2022/09/06`, los intervalos de tiempo pueden incluir lo siguiente:
+ `s3://amzn-s3-demo-bucket1/example-prefix/2022/03/15/example-dataset.csv`
+ `s3://amzn-s3-demo-bucket1/example-prefix/2022/01/08/example-dataset.csv`
+ `s3://amzn-s3-demo-bucket1/example-prefix/2022/07/31/example-dataset.csv`
+ `s3://amzn-s3-demo-bucket1/example-prefix/2021/09/07/example-dataset.csv`

Las transformaciones del flujo de Data Wrangler se aplican a todos los prefijos anteriores. Cambiar el valor del parámetro en el trabajo de procesamiento no cambia el valor del parámetro en el flujo de Data Wrangler. Para aplicar las transformaciones a los conjuntos de datos dentro de un intervalo de tiempo diferente, haga lo siguiente:

1. Cree un nodo de destino que contenga todas las transformaciones que desee utilizar.

1. Cree un trabajo de Data Wrangler.

1. Configure el trabajo para que utilice un intervalo de tiempo diferente para el parámetro. Cambiar el valor del parámetro en el trabajo de procesamiento no cambia el valor del parámetro en el flujo de Data Wrangler.

Para obtener más información sobre los nodos de destino y los trabajos de Data Wrangler, consulte [Exportación](data-wrangler-data-export.md).

El siguiente procedimiento crea un parámetro de fecha y hora para la ruta de Amazon S3: `s3://amzn-s3-demo-bucket1/example-prefix/2022/05/15/example-dataset.csv`.

Para crear un parámetro de fecha y hora para la ruta del URI de S3 anterior, haga lo siguiente.

1. Vaya a su flujo de Data Wrangler.

1. Junto al conjunto de datos que ha importado, elija **Editar conjunto de datos**.

1. Resalta la parte del URI que utiliza como valor del parámetro de fecha y hora.

1. Elija **Crear parámetro personalizado**.

1. En **Nombre**, especifique un nombre para el parámetro.

1. En **Tipo**, elija **Fecha y hora**.
**nota**  
De forma predeterminada, Data Wrangler selecciona **Predefinido**, que proporciona un menú desplegable para que seleccione un formato de fecha. Sin embargo, es posible que el formato de marca temporal tiempo que utiliza no esté disponible. En lugar de usar **Predefinido** como opción predeterminada, puede elegir **Personalizado** y especificar manualmente el formato de la marca temporal.

1. Para el **formato de fecha**, abra el menú desplegable siguiente a **Predefinido** y elija **yyyy/MM/dd**. El formato, **yyyy/MM/dd,** corresponde al year/month/day de la marca de tiempo.

1. En **Zona horaria**, elija una zona horaria.
**nota**  
Los datos que analiza pueden tener marcas temporales tomadas en una zona horaria diferente a la suya. Asegúrese de que la zona horaria que seleccione coincida con la zona horaria de los datos. 

1. En **Intervalo de tiempo**, especifique el intervalo de tiempo del parámetro.

1. De forma opcional, ingrese una descripción para describir cómo utiliza el parámetro.

1. Seleccione **Crear**.

Una vez que haya creado los parámetros de fecha y hora, aplique las transformaciones a su conjunto de datos y cree un nodo de destino para ellas. Para obtener más información acerca de los nodos de destino, consulte [Exportación](data-wrangler-data-export.md).

Utilice el siguiente procedimiento para aplicar las transformaciones de su flujo de Data Wrangler a un intervalo de tiempo diferente. Se supone que ha creado un nodo de destino para las transformaciones del flujo.

Para cambiar el valor de un parámetro de fecha y hora en un trabajo de procesamiento de Data Wrangler, haga lo siguiente:

1. En el flujo de Data Wrangler, elija **Crear trabajo**.

1. Seleccione solo el nodo de destino que contenga las transformaciones en el conjunto de datos que contiene los parámetros de fecha y hora.

1. Elija **Configurar trabajo**.

1. Elija **Agregar parámetro**.

1. Elija el nombre del parámetro de fecha y hora que haya creado.

1. En **Intervalo de tiempo**, cambie el intervalo de tiempo de los conjuntos de datos.

1. Seleccione **Ejecutar**.

# Exportación
<a name="data-wrangler-data-export"></a>

En el flujo de Data Wrangler, puede exportar algunas o todas las transformaciones que haya realizado a sus canalizaciones de procesamiento de datos.

Un *flujo de Data Wrangler* es la serie de pasos de preparación de datos que ha realizado en sus datos. En la preparación de los datos, se llevan a cabo una o más transformaciones en los datos. Cada transformación se realiza mediante un paso de transformación. El flujo tiene una serie de nodos que representan la importación de los datos y las transformaciones que se han hecho. Para ver un ejemplo de nodos, consulte la siguiente imagen.

![\[Ejemplo de flujo de datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-0.png)


La imagen anterior muestra un flujo de Data Wrangler con dos nodos. El nodo **Origen: muestreado** muestra el origen de datos desde el que ha importado los datos. El nodo **Tipos de datos** indica que Data Wrangler ha realizado una transformación para convertir el conjunto de datos en un formato utilizable. 

Cada transformación que agregue al flujo de Data Wrangler aparece como un nodo adicional. Para obtener información acerca de las transformaciones que puede agregar, consulte [Datos de transformación](data-wrangler-transform.md). La siguiente imagen muestra un flujo de Data Wrangler que tiene un nodo **Rename-column** para cambiar el nombre de una columna de un conjunto de datos.

Puede exportar las transformaciones de datos a lo siguiente:
+ Amazon S3
+ Canalizaciones
+ Amazon SageMaker Feature Store
+ Código Python

**importante**  
Le recomendamos que utilice la política `AmazonSageMakerFullAccess` gestionada por IAM para conceder el AWS permiso de uso de Data Wrangler. Si no utiliza la política administrada, puede usar una política de IAM que permita a Data Wrangler acceder a un bucket de Amazon S3. Para obtener más información acerca de la política, consulte [Seguridad y permisos](data-wrangler-security.md).

Al exportar el flujo de datos, se le cobrará por los AWS recursos que utilice. Puede utilizar etiquetas de asignación de costos para organizar y administrar los costos de esos recursos. Usted crea estas etiquetas para su perfil de usuario y Data Wrangler las aplica automáticamente a los recursos utilizados para exportar el flujo de datos. Para obtener más información, consulte [Uso de etiquetas de asignación de costes](https://docs.aws.amazon.com//awsaccountbilling/latest/aboutv2/cost-alloc-tags.html).

## Exportar a Amazon S3.
<a name="data-wrangler-data-export-s3"></a>

Data Wrangler le permite exportar sus datos a una ubicación dentro de un bucket de Amazon S3. Puede especificar la ubicación mediante uno de los siguientes métodos:
+ Nodo de destino: donde Data Wrangler almacena los datos después de haberlos procesado.
+ Exportar a: exporta los datos resultantes de una transformación a Amazon S3.
+ Exportación de datos: en el caso de conjuntos de datos pequeños, puede exportar rápidamente los datos que ha transformado.

Utilice las siguientes secciones para obtener más información sobre cada uno de estos métodos.

------
#### [ Destination Node ]

Si desea enviar una serie de pasos de procesamiento de datos que ha realizado a Amazon S3, debe crear un nodo de destino. Un *nodo de destino* indica a Data Wrangler dónde debe almacenar los datos después de haberlos procesado. Después de crear un nodo de destino, se crea un trabajo de procesamiento para generar los datos. Un *trabajo de procesamiento* es un trabajo de SageMaker procesamiento de Amazon. Cuando utiliza un nodo de destino, este ejecuta los recursos computacionales necesarios para enviar los datos que ha transformado a Amazon S3. 

Puede utilizar un nodo de destino para exportar algunas de las transformaciones o todas las transformaciones que haya realizado en su flujo de Data Wrangler.

Puede utilizar varios nodos de destino para exportar diferentes transformaciones o conjuntos de transformaciones. El siguiente ejemplo muestra dos nodos de destino en un único flujo de Data Wrangler.

![\[Ejemplo de flujo de datos que muestra dos nodos de destino en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-4.png)


Puede utilizar el siguiente procedimiento para crear nodos de destino y exportarlos a un bucket de Amazon S3.

Para exportar el flujo de datos, debe crear nodos de destino y un trabajo de Data Wrangler para exportar los datos. Al crear un trabajo de Data Wrangler, se inicia un trabajo SageMaker de procesamiento para exportar el flujo. Puede elegir los nodos de destino que desea exportar después de haberlos creado.
**nota**  
Puede elegir **Crear trabajo** en el flujo de Data Wrangler para ver las instrucciones para utilizar un trabajo de procesamiento.

Utilice el siguiente procedimiento para crear nodos de destino.

1. Seleccione el signo **\$1** situado junto a los nodos que representan las transformaciones que desee exportar.

1. Elija **Add destination**.  
![\[Ejemplo de flujo de datos que muestra cómo añadir un destino en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-add-destination-0.png)

1. Seleccione **Amazon S3**.  
![\[Ejemplo de flujo de datos que muestra cómo añadir un destino en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-add-destination-S3-selected.png)

1. Especifique los siguientes campos.
   + **Nombre del conjunto de datos**: el nombre que especifique para el conjunto de datos que va a exportar.
   + **Tipo de archivo**: el formato del archivo que va a exportar.
   + **Delimitador** (solo archivos CSV y Parquet): el valor que se utiliza para separar otros valores.
   + **Compresión** (solo archivos CSV y Parquet): método de compresión utilizado para reducir el tamaño del archivo. Puede usar los siguientes métodos de compresión:
     + bzip2
     + deflate
     + gzip
   + (Opcional) **Ubicación de Amazon S3**: la ubicación de S3 que utiliza para enviar los archivos.
   + (Opcional) **Número de particiones**: el número de conjuntos de datos que escribe como salida del trabajo de procesamiento.
   + (Opcional) **Partición por columna**: escribe todos los datos de la columna con el mismo valor único.
   + (Opcional) **Parámetros de inferencia**: si selecciona **Generar artefacto de inferencia**, se aplican todas las transformaciones que haya utilizado en el flujo de Data Wrangler a los datos que llegan a su canalización de inferencia. El modelo en su canalización hace predicciones sobre los datos transformados.

1. Elija **Add destination**.

Use el procedimiento siguiente para crear un trabajo de procesamiento.

Cree un trabajo desde la página **Flujo de datos** y elija los nodos de destino que desee exportar.
**nota**  
Puede elegir **Crear trabajo** en el flujo de Data Wrangler para ver las instrucciones para crear un trabajo de procesamiento.

1. Seleccione **Crear tarea**. La siguiente imagen muestra el panel que aparece después de seleccionar **Crear trabajo**.  
![\[Ejemplo de panel de creación de trabajos de flujo de datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-create-job.png)

1. En **Nombre del trabajo**, especifique el nombre del trabajo de exportación.

1. Elija los nodos de destino que desea exportar.

1. (Opcional) Especifique un AWS KMS ARN clave. Una AWS KMS clave es una clave criptográfica que puede usar para proteger sus datos. Para obtener más información sobre AWS KMS las claves, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).

1. De forma opcional, en **Parámetros entrenados**, elija **Reajustar** si ha hecho lo siguiente:
   + Ha muestreado el conjunto de datos.
   + Ha aplicado una transformación que usa sus datos para crear una nueva columna en el conjunto de datos.

   Para obtener más información sobre cómo reajustar las transformaciones que ha realizado a un conjunto de datos completo, consulte [Reajuste de las transformaciones a todo el conjunto de datos y exportación](#data-wrangler-data-export-fit-transform).
**nota**  
Para los datos de imagen, Data Wrangler exporta las transformaciones que ha llevado a cabo a todas las imágenes. El reajuste de las transformaciones no es aplicable a su caso de uso.

1. Elija **Configurar trabajo**. La siguiente imagen muestra la página **Configuración del trabajo**.  
![\[Ejemplo de página de trabajo de configuración del flujo de datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-configure-job.png)

1. De forma opcional, configure el trabajo de Data Wrangler. Puede hacer las siguientes configuraciones:
   + **Configuración del trabajo**
   + **Configuración de memoria Spark**
   + **Configuración de red**
   + **Etiquetas**
   + **Parámetros**
   + **Horarios de los asociados**

1. Seleccione **Ejecutar**.

------
#### [ Export to ]

Como alternativa al uso de un nodo de destino, puede utilizar la opción **Exportar a** para exportar el flujo de Data Wrangler a Amazon S3 mediante un cuaderno de Jupyter. Puede elegir cualquier nodo de datos del flujo de Data Wrangler y exportarlo. Al exportar el nodo de datos, se exporta la transformación que representa el nodo y las transformaciones que la preceden.

Utilice el siguiente procedimiento para generar un cuaderno de Jupyter y ejecútelo para exportar el flujo de Data Wrangler a Amazon S3.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elija **Amazon S3 (a través del cuaderno de Jupyter)**.

1. Ejecute el cuaderno de Jupyter.  
![\[Ejemplo de flujo de datos que muestra cómo exportar el flujo de Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)

Cuando ejecuta el bloc de notas, exporta su flujo de datos (archivo.flow) de la Región de AWS misma manera que el flujo de Data Wrangler.

El cuaderno ofrece opciones que puede utilizar para configurar el trabajo de procesamiento y los datos que envía.

**importante**  
Le proporcionamos configuraciones de trabajo para configurar la salida de los datos. En cuanto a las opciones de particionamiento y memoria del controlador, se recomienda encarecidamente que no especifique ninguna configuración a menos que tenga conocimientos sobre ellas.

En **Configuraciones del trabajo**, puede configurar lo siguiente:
+ `output_content_type`: el tipo de contenido del archivo de salida. Se utiliza `CSV` como formato predeterminado, pero puede especificar `Parquet`.
+ `delimiter`: el carácter que se utiliza para separar los valores del conjunto de datos al escribir en un archivo CSV.
+ `compression`: si se ha definido, comprime el archivo de salida. Se utiliza el formato de compresión gzip de forma predeterminada.
+ `num_partitions`: el número de particiones o archivos que Data Wrangler escribe como salida.
+ `partition_by`: los nombres de las columnas que se utilizan para particionar la salida.

Para cambiar el formato del archivo de salida de CSV a Parquet, cambie el valor de `"CSV"` a `"Parquet"`. En el resto de los campos anteriores, quite los comentarios de las líneas que contienen los campos que desee especificar.

En **Configurar la memoria del controlador de clúster de Spark (opcional)**, puede configurar las propiedades de Spark para el trabajo, como la memoria del controlador de Spark, en el diccionario `config`.

A continuación se muestra el diccionario `config`.

```
config = json.dumps({
    "Classification": "spark-defaults",
    "Properties": {
        "spark.driver.memory": f"{driver_memory_in_mb}m",
    }
})
```

Para aplicar la configuración al trabajo de procesamiento, quite los comentarios de las siguientes líneas:

```
# data_sources.append(ProcessingInput(
#     source=config_s3_uri,
#     destination="/opt/ml/processing/input/conf",
#     input_name="spark-config",
#     s3_data_type="S3Prefix",
#     s3_input_mode="File",
#     s3_data_distribution_type="FullyReplicated"
# ))
```

------
#### [ Export data ]

Si tiene una transformación en un conjunto de datos pequeño que desea exportar rápidamente, puede utilizar el método **Exportar datos**. Cuando elige **Exportar datos**, Data Wrangler trabaja de forma sincrónica para exportar los datos que haya transformado a Amazon S3. No puede utilizar Data Wrangler hasta que termine de exportar los datos o hasta que cancele la operación.

Para obtener información sobre el uso del método **Exportar datos** en el flujo de Data Wrangler, consulte el siguiente procedimiento.

Para utilizar el método **Exportar datos**:

1. Elija un nodo en el flujo de Data Wrangler abriéndolo (haga doble clic en él).  
![\[Ejemplo de flujo de datos que muestra cómo exportar datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/export-s3.png)

1. Configure cómo quiere exportar los datos.

1. Elija **Exportar datos**.

------

Cuando exporta el flujo de datos a un bucket de Amazon S3, Data Wrangler almacena una copia del archivo de flujo en el bucket de S3. El archivo de flujo se almacena con el prefijo *data\$1wrangler\$1flows*. Si utiliza el bucket de Amazon S3 predeterminado para almacenar los archivos de flujo, se utiliza la siguiente convención de nomenclatura: `sagemaker-region-account number`. Por ejemplo, si su número de cuenta es 111122223333 y utiliza Studio Classic en us-east-1, los conjuntos de datos importados se almacenan en `sagemaker-us-east-1-111122223333`. En este ejemplo, los archivos .flow creados en us-east-1 se almacenan en `s3://sagemaker-region-account number/data_wrangler_flows/`. 

## Exportación a canalizaciones
<a name="data-wrangler-data-export-pipelines"></a>

Si quieres crear e implementar flujos de trabajo de aprendizaje automático (ML) a gran escala, puedes usar Pipelines para crear flujos de trabajo que gestionen e implementen trabajos de IA. SageMaker Con Pipelines, puedes crear flujos de trabajo que gestionen la preparación de datos de SageMaker IA, la formación de modelos y los trabajos de despliegue de modelos. Puedes usar los algoritmos propios que ofrece la SageMaker IA mediante Pipelines. [Para obtener más información sobre Pipelines, consulta Pipelines. SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/pipelines.html)

Cuando exporta uno o más pasos de su flujo de datos a Canalizaciones, Data Wrangler crea un cuaderno de Jupyter que puede utilizar para definir, instanciar, ejecutar y administrar una canalización.

### Uso de un cuaderno de Jupyter para crear una canalización
<a name="data-wrangler-pipelines-notebook"></a>

Utilice el siguiente procedimiento para crear un cuaderno de Jupyter para exportar el flujo de Data Wrangler a Canalizaciones.

Utilice el siguiente procedimiento para generar un cuaderno de Jupyter y ejecutarlo para exportar el flujo de Data Wrangler a Canalizaciones.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elija **Canalizaciones (a través del cuaderno de Jupyter**).

1. Ejecute el cuaderno de Jupyter.

![\[Ejemplo de flujo de datos que muestra cómo exportar el flujo de Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


Puede utilizar el cuaderno de Jupyter que produce Data Wrangler para definir una canalización. La canalización incluye los pasos de procesamiento de datos definidos por el flujo de Data Wrangler. 

Puede agregar pasos adicionales a la canalización si agrega pasos a la lista `steps` que aparece en el siguiente código del cuaderno:

```
pipeline = Pipeline(
    name=pipeline_name,
    parameters=[instance_type, instance_count],
    steps=[step_process], #Add more steps to this list to run in your Pipeline
)
```

Para obtener más información sobre la definición de canalizaciones, consulta [Definir SageMaker ](https://docs.aws.amazon.com/sagemaker/latest/dg/define-pipeline.html) canalización de IA.

## Exportación a un punto de conexión de inferencia
<a name="data-wrangler-data-export-inference"></a>

Utilice su flujo de Data Wrangler para procesar los datos en el momento de la inferencia creando una canalización de inferencia en serie de SageMaker IA a partir de su flujo de Data Wrangler. Una canalización de inferencia es una serie de pasos que dan como resultado que un modelo entrenado haga predicciones a partir de nuevos datos. Una canalización de inferencia en serie dentro de Data Wrangler transforma los datos sin procesar y los proporciona al modelo de machine learning para que realice una predicción. La canalización de inferencia se crea, ejecuta y administra desde un cuaderno de Jupyter en Studio Classic. Para obtener más información acerca de cómo acceder al cuaderno, consulte [Uso de un cuaderno de Jupyter para crear un punto de conexión de inferencia](#data-wrangler-inference-notebook).

En el cuaderno, puede entrenar un modelo de machine learning o especificar uno que ya haya entrenado. Puede usar Amazon SageMaker Autopilot o XGBoost entrenar el modelo con los datos que ha transformado en su flujo de Data Wrangler.

La canalización permite realizar inferencias por lotes o en tiempo real. También puede añadir el flujo de Data Wrangler a Model Registry. SageMaker Para obtener más información acerca de los modelos de alojamiento, consulte [Puntos de conexión multimodelo](multi-model-endpoints.md).

**importante**  
No puede exportar el flujo de Data Wrangler a un punto de conexión de inferencia si tiene las siguientes transformaciones:  
Join
Concatenar
Agrupación por
Si tiene que usar las transformaciones anteriores para preparar los datos, use el siguiente procedimiento.  
Cree un flujo de Data Wrangler.
Aplique las transformaciones anteriores que no son compatibles.
Exporte los datos a un bucket de Amazon S3.
Cree un flujo de Data Wrangler independiente.
Importe los datos que haya exportado del flujo anterior.
Aplique el resto de las transformaciones.
Cree una canalización de inferencia en serie con el cuaderno de Jupyter que le proporcionamos.
Para obtener información sobre la exportación de datos a un bucket de Amazon S3, consulte [Exportar a Amazon S3.](#data-wrangler-data-export-s3). Para obtener información sobre cómo abrir el cuaderno de Jupyter utilizado para crear la canalización de inferencia en serie, consulte [Uso de un cuaderno de Jupyter para crear un punto de conexión de inferencia](#data-wrangler-inference-notebook).

Data Wrangler hace caso omiso de las transformaciones que eliminan datos en el momento de la inferencia. Por ejemplo, Data Wrangler hace caso omiso de la transformación [Gestión de valores que faltan](data-wrangler-transform.md#data-wrangler-transform-handle-missing) si utiliza la configuración **Eliminar ausentes**.

Si ha modificado las transformaciones de todo el conjunto de datos, las transformaciones se aplicarán a la canalización de inferencia. Por ejemplo, si empleó el valor de la mediana para imputar los valores ausentes, el valor de la mediana resultante del reajuste de la transformada se aplica a las solicitudes de inferencia. Puede reajustar las transformaciones del flujo de Data Wrangler cuando utilice el cuaderno de Jupyter o cuando exporte los datos a una canalización de inferencia. Para obtener información acerca del reajuste de las transformaciones, consulte [Reajuste de las transformaciones a todo el conjunto de datos y exportación](#data-wrangler-data-export-fit-transform).

La canalización de inferencia en serie admite los siguientes tipos de datos para las cadenas de entrada y salida. Cada tipo de datos tiene un conjunto de requisitos.

**Tipos de datos admitidos**
+ `text/csv`: el tipo de datos de las cadenas CSV.
  + La cadena no puede tener un encabezado.
  + Las características utilizadas para la canalización de inferencia deben estar en el mismo orden que las características del conjunto de datos de entrenamiento.
  + Debe haber un delimitador de coma entre las características.
  + Los registros deben estar delimitados por un carácter de nueva línea.

  A continuación, se muestra un ejemplo de una cadena CSV con un formato válido que puede proporcionar en una solicitud de inferencia.

  ```
  abc,0.0,"Doe, John",12345\ndef,1.1,"Doe, Jane",67890                    
  ```
+ `application/json`: el tipo de datos de las cadenas JSON.
  + Las características utilizadas para la canalización de inferencia deben estar en el mismo orden que las características del conjunto de datos de entrenamiento.
  + Los datos deben tener un esquema específico. El esquema se define como un objeto `instances` único que tiene un conjunto de `features`. Cada objeto `features` representa una observación.

  A continuación, se muestra un ejemplo de una cadena JSON con un formato válido que puede proporcionar en una solicitud de inferencia.

  ```
  {
      "instances": [
          {
              "features": ["abc", 0.0, "Doe, John", 12345]
          },
          {
              "features": ["def", 1.1, "Doe, Jane", 67890]
          }
      ]
  }
  ```

### Uso de un cuaderno de Jupyter para crear un punto de conexión de inferencia
<a name="data-wrangler-inference-notebook"></a>

Utilice el siguiente procedimiento para exportar el flujo de Data Wrangler y crear una canalización de inferencia.

Para crear una canalización de inferencia con un cuaderno de Jupyter, haga lo siguiente.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elija **SageMaker AI Inference Pipeline (a través de Jupyter** Notebook).

1. Ejecute el cuaderno de Jupyter.

Al ejecutar el cuaderno de Jupyter, se crea un artefacto de flujo de inferencia. Un artefacto de flujo de inferencia es un archivo de flujo de Data Wrangler con metadatos adicionales que se utiliza para crear la canalización de inferencia en serie. El nodo que exporta incluye todas las transformaciones de los nodos anteriores.

**importante**  
Data Wrangler necesita el artefacto del flujo de inferencia para ejecutar la canalización de inferencia. No puede usar su propio archivo de flujo como artefacto. Debe crearlo mediante el procedimiento anterior.

## Exportación a código Python
<a name="data-wrangler-data-export-python-code"></a>

Para exportar todos los pasos del flujo de datos a un archivo de Python que pueda integrar manualmente en cualquier flujo de trabajo de procesamiento de datos, utilice el siguiente procedimiento.

Utilice el siguiente procedimiento para generar un cuaderno de Jupyter y ejecútelo para exportar el flujo de Data Wrangler a Python.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elija **Código Python**.

1. Ejecute el cuaderno de Jupyter.

![\[Ejemplo de flujo de datos que muestra cómo exportar el flujo de Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


Es posible que tenga que configurar el script de Python para que se ejecute en su canalización. Por ejemplo, si ejecutas un entorno de Spark, asegúrate de ejecutar el script desde un entorno que tenga permiso para acceder a los recursos. AWS 

## Exportar a Amazon SageMaker Feature Store
<a name="data-wrangler-data-export-feature-store"></a>

Puedes usar Data Wrangler para exportar las funciones que has creado a Amazon SageMaker Feature Store. Una característica es una columna de su conjunto de datos. El almacén de características es un almacén centralizado de las características y sus metadatos asociados. Puede usar el almacén de características para crear, compartir y administrar datos seleccionados para el desarrollo de machine learning (ML). Los almacenes centralizados hacen que los datos sean más fáciles de localizar y reutilizables. Para obtener más información sobre Feature Store, consulta [Amazon SageMaker Feature Store](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store.html).

Un concepto fundamental del almacén de características es el grupo de características. Un grupo de características es una colección de características, sus registros (observaciones) y los metadatos asociados. Es similar a una tabla de una base de datos.

Puede utilizar Data Wrangler para realizar una de las siguientes acciones:
+ Actualice un grupo de características existente con nuevos registros. Un registro es una observación en el conjunto de datos.
+ Cree un nuevo grupo de características a partir de un nodo en su flujo de Data Wrangler. Data Wrangler agrega las observaciones de sus conjuntos de datos como registros en su grupo de características.

Si va a actualizar un grupo de características existente, el esquema de su conjunto de datos debe coincidir con el esquema del grupo de características. Todos los registros del grupo de características se reemplazan por las observaciones del conjunto de datos.

Puede usar un cuaderno de Jupyter o un nodo de destino para actualizar su grupo de características con las observaciones del conjunto de datos.

Si tus grupos de funciones con el formato de tabla Iceberg tienen una clave de cifrado de tienda fuera de línea personalizada, asegúrate de conceder al IAM que estás utilizando para el trabajo de Amazon SageMaker Processing los permisos para usarla. Como mínimo, debe otorgarle permisos para cifrar los datos que escribe en Amazon S3. Para conceder los permisos, asigne a la función de IAM la posibilidad de utilizar la. [GenerateDataKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html) Para obtener más información sobre cómo conceder permisos a los roles de IAM para usar AWS KMS claves, consulte [https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)

------
#### [ Destination Node ]

Si desea enviar una serie de pasos de procesamiento de datos que ha realizado a un grupo de características, debe crear un nodo de destino. Cuando crea y ejecuta un nodo de destino, Data Wrangler actualiza un grupo de características con sus datos. También puede crear un nuevo grupo de características desde la interfaz de usuario del nodo de destino. Después de crear un nodo de destino, se crea un trabajo de procesamiento para generar los datos. Un trabajo de procesamiento es un trabajo de SageMaker procesamiento de Amazon. Cuando utiliza un nodo de destino, este ejecuta los recursos computacionales necesarios para enviar los datos que ha transformado al grupo de características. 

Puede utilizar un nodo de destino para exportar algunas de las transformaciones o todas las transformaciones que haya realizado en su flujo de Data Wrangler.

Utilice el siguiente procedimiento para crear un nodo de destino para actualizar un grupo de características con las observaciones de su conjunto de datos.

Para actualizar un grupo de características mediante un nodo de destino, haga lo siguiente.
**nota**  
Puede elegir **Crear trabajo** en el flujo de Data Wrangler para ver las instrucciones para utilizar un trabajo de procesamiento para actualizar un grupo de características.

1. Elija el símbolo **\$1** junto al nodo que contiene el conjunto de datos que desea exportar.

1. En **Añadir destino**, selecciona **SageMaker AI Feature Store**.  
![\[Ejemplo de flujo de datos que muestra cómo añadir un destino en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/feature-store-destination-node-selection.png)

1. Elija (haga doble clic) el grupo de características. Data Wrangler comprueba si el esquema del grupo de características coincide con el esquema de los datos que se utilizan para actualizar el grupo de características.

1. De forma opcional, seleccione **Exportar a un almacenamiento sin conexión solo** para los grupos de características que tengan un almacenamiento en línea y un almacenamiento sin conexión. Esta opción solo actualiza el almacenamiento sin conexión con las observaciones de su conjunto de datos.

1. Después de que Data Wrangler valide el esquema de su conjunto de datos, elija **Agregar**.

Utilice el siguiente procedimiento para crear un nuevo grupo de características con los datos del conjunto de datos.

Puede almacenar el grupo de características de una de las siguientes formas:
+ Tienda online: caché de baja latencia y alta disponibilidad de un grupo de características que permite la búsqueda de registros en tiempo real. El almacenamiento en línea permite acceder rápidamente al último valor de un registro de un grupo de características.
+ Sin conexión: almacena datos de su grupo de características en un bucket de Amazon S3. Puede almacenar sus datos sin conexión cuando no necesite lecturas de baja latencia (inferiores a un segundo). Puede utilizar un almacenamiento sin conexión para las características que se utilizan en la exploración de datos, el entrenamiento de modelos y la inferencia por lotes.
+ Tanto en línea como sin conexión: almacena sus datos tanto en un almacenamiento en línea como en un almacenamiento sin conexión.

Para crear un grupo de características mediante un nodo de destino, haga lo siguiente.

1. Elija el símbolo **\$1** junto al nodo que contiene el conjunto de datos que desea exportar.

1. En **Añadir destino**, selecciona **SageMaker AI Feature Store**.

1. Elija **Crear grupo de características**.

1. En el siguiente cuadro de diálogo, si su conjunto de datos no tiene una columna de hora del evento, seleccione **Crear columna EventTime «»**.

1. Elija **Siguiente**.

1. Elija **Copiar esquema de JSON**. Al crear un grupo de características, pega el esquema en las definiciones de características.

1. Seleccione **Crear**.

1. En **Nombre del grupo de características**, especifique un nombre para su grupo de características.

1. En **Descripción (opcional)**, especifique una descripción para que su grupo de características sea más fácil de localizar.

1. Para crear un grupo de características para un almacenamiento en línea, haga lo siguiente.

   1. Seleccione **Habilitar el almacenamiento en línea**.

   1. En el **caso de la clave de cifrado de la tienda online**, especifique una clave de cifrado AWS gestionada o una clave de cifrado propia.

1. Para crear un grupo de características para un almacenamiento sin conexión, haga lo siguiente.

   1. Seleccione **Habilitar el almacenamiento sin conexión**. Especifique los valores en los siguientes campos:
      + **Nombre del bucket de S3**: el nombre del bucket de Amazon S3 que almacena el grupo de características.
      + (Opcional) **Nombre del directorio del conjunto de datos**: el prefijo de Amazon S3 que utiliza para almacenar el grupo de características.
      + **ARN del rol de IAM**: el rol de IAM que tiene acceso al almacén de características.
      + **Formato de tabla**: formato de la tabla del almacenamiento sin conexión. Puede especificar **Glue** o **Iceberg**. El formato predeterminado es **Glue**.
      + **Clave de cifrado del almacenamiento sin conexión**: de forma predeterminada, el almacén de características utiliza una clave administrada de AWS Key Management Service , pero puede utilizar el campo para especificar una clave propia.

   1. Especifique los valores en los siguientes campos:
      + **Nombre del bucket de S3**: el nombre del bucket que almacena el grupo de características.
      + **(Opcional) Nombre del directorio del conjunto de datos**: el prefijo de Amazon S3 que utiliza para almacenar el grupo de características.
      + **ARN del rol de IAM**: el rol de IAM que tiene acceso al almacén de características.
      + **Clave de cifrado del almacenamiento sin conexión**: de forma predeterminada, el almacén de características utiliza una clave administrada de AWS , pero puede utilizar el campo para especificar una clave propia.

1. Elija **Continuar**.

1. Elija **JSON**.

1. Elimine los corchetes de los marcadores de posición de la ventana.

1. Pegue el texto JSON del paso 6.

1. Elija **Continuar**.

1. En **NOMBRE DE CARACTERÍSTICA DE IDENTIFICADOR DE REGISTRO**, elija la columna del conjunto de datos que tenga identificadores únicos para cada registro del conjunto de datos.

1. En **NOMBRE DE CARACTERÍSTICA DE HORA DEL EVENTO**, elija la columna con los valores de la marca temporal.

1. Elija **Continuar**.

1. De forma opcional, agregue etiquetas para que su grupo de características sea más fácil de localizar.

1. Elija **Continuar**.

1. Elija **Crear grupo de características**.

1. Vuelva al flujo de Data Wrangler y elija el icono de actualización situado junto a la barra de búsqueda del **Grupo de características**.

**nota**  
Si ya ha creado un nodo de destino para un grupo de características dentro de un flujo, no podrá crear otro nodo de destino para el mismo grupo de características. Si desea crear otro nodo de destino para el mismo grupo de características, debe crear otro archivo de flujo.

Utilice el siguiente procedimiento para crear un trabajo de Data Wrangler.

Cree un trabajo desde la página **Flujo de datos** y elija los nodos de destino que desee exportar.

1. Seleccione **Crear tarea**. La siguiente imagen muestra el panel que aparece después de seleccionar **Crear trabajo**.

1. En **Nombre del trabajo**, especifique el nombre del trabajo de exportación.

1. Elija los nodos de destino que desea exportar.

1. (Opcional) En la **clave KMS de salida**, especifique un ARN, un ID o un alias de una AWS KMS clave. Una clave de KMS es una clave criptográfica. Puede usar la clave para cifrar los datos de salida del trabajo. Para obtener más información sobre AWS KMS las claves, consulte [AWS Key Management Service](https://docs.aws.amazon.com//kms/latest/developerguide/overview.html).

1. La siguiente imagen muestra la página **Configurar trabajo** con la pestaña **Configuración del trabajo** abierta.  
![\[Ejemplo de página de creación de trabajos de flujo de datos en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/destination-nodes/destination-nodes-configure-job.png)

   De forma opcional, en **Parámetros entrenados**, elija **Reajustar** si ha hecho lo siguiente:
   + Ha muestreado el conjunto de datos.
   + Ha aplicado una transformación que usa sus datos para crear una nueva columna en el conjunto de datos.

   Para obtener más información sobre cómo reajustar las transformaciones que ha realizado a un conjunto de datos completo, consulte [Reajuste de las transformaciones a todo el conjunto de datos y exportación](#data-wrangler-data-export-fit-transform).

1. Elija **Configurar trabajo**.

1. De forma opcional, configure el trabajo de Data Wrangler. Puede hacer las siguientes configuraciones:
   + **Configuración del trabajo**
   + **Configuración de memoria Spark**
   + **Configuración de red**
   + **Etiquetas**
   + **Parámetros**
   + **Horarios de los asociados**

1. Seleccione **Ejecutar**.

------
#### [ Jupyter notebook ]

Usa el siguiente procedimiento con un bloc de notas de Jupyter para exportarlo a Amazon SageMaker Feature Store.

Utilice el siguiente procedimiento para generar un cuaderno de Jupyter y ejecútelo para exportar el flujo de Data Wrangler al almacén de características.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elige **Amazon SageMaker Feature Store (a través de Jupyter Notebook**).

1. Ejecute el cuaderno de Jupyter.

![\[Ejemplo de flujo de datos que muestra cómo exportar el flujo de Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/data-wrangler-destination-nodes-photo-export-to.png)


Al ejecutar un cuaderno de Jupyter, se ejecuta un trabajo de Data Wrangler. Al ejecutar un trabajo de Data Wrangler, se inicia un SageMaker trabajo de procesamiento de IA. El trabajo de procesamiento incorpora el flujo a un almacén de características en línea y sin conexión.

**importante**  
El rol de IAM que utilice debe tener asociadas las siguientes políticas administradas por AWS : `AmazonSageMakerFullAccess` y `AmazonSageMakerFeatureStoreAccess`.

Solo necesita habilitar un almacén de características en línea o sin conexión al crear un grupo de características. También puede habilitar ambos. Para deshabilitar la creación de un almacenamiento en línea, establezca `EnableOnlineStore` en `False`:

```
# Online Store Configuration
online_store_config = {
    "EnableOnlineStore": False
}
```

El cuaderno utiliza los nombres de las columnas y los tipos del marco de datos que exporta para crear un esquema de grupo de características, que se utiliza para crear un grupo de características. Un grupo de características es un conjunto de características definidas en el almacén de características para describir un registro. El grupo de características define el esquema y las características contenidas en el grupo de características. La definición de un grupo de características se compone de una lista de características, un nombre de característica de identificador de registro, un nombre de característica de hora del evento y configuraciones para su almacenamiento en línea y almacenamiento sin conexión. 

Cada característica de un grupo de características puede tener uno de los siguientes tipos: *cadena*, *fracción* o *entero*. Si una columna del marco de datos exportado no es uno de estos tipos, el valor predeterminado es `String`. 

A continuación se muestra un ejemplo de un esquema de grupo de características.

```
column_schema = [
    {
        "name": "Height",
        "type": "long"
    },
    {
        "name": "Input",
        "type": "string"
    },
    {
        "name": "Output",
        "type": "string"
    },
    {
        "name": "Sum",
        "type": "string"
    },
    {
        "name": "Time",
        "type": "string"
    }
]
```

Además, tiene que especificar un nombre de identificador de registro y un nombre de característica de hora del evento:
+ El *nombre de identificador de registro* es el nombre de la característica cuyo valor identifica de forma exclusiva un registro definido en el almacén de características. En el almacenamiento en línea solo se almacena el registro más reciente por valor del identificador. El nombre de característica de identificador de registro debe ser uno de los nombres de las definiciones de características.
+ El *nombre de característica de hora del evento* es el nombre de la característica que almacena la `EventTime` de un registro en un grupo de características. Una `EventTime` es un momento en el tiempo en el que se produce un nuevo evento que corresponde a la creación o actualización de una característica. Todos los registros del grupo de características deben tener una `EventTime` correspondiente.

El cuaderno utiliza estas configuraciones para crear un grupo de características, procesar los datos a escala y, a continuación, incorporar los datos procesados a los almacenes de características en línea y sin conexión. Para obtener más información, consulte [Data Sources and Ingestion](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-ingest-data.html).

------

El cuaderno utiliza estas configuraciones para crear un grupo de características, procesar los datos a escala y, a continuación, incorporar los datos procesados a los almacenes de características en línea y sin conexión. Para obtener más información, consulte [Data Sources and Ingestion](https://docs.aws.amazon.com/sagemaker/latest/dg/feature-store-ingest-data.html).

## Reajuste de las transformaciones a todo el conjunto de datos y exportación
<a name="data-wrangler-data-export-fit-transform"></a>

Al importar datos, Data Wrangler utiliza una muestra de los datos para aplicar las codificaciones. De forma predeterminada, Data Wrangler usa las primeras 50 000 filas como muestra, pero puede importar todo el conjunto de datos o usar un método de muestreo diferente. Para obtener más información, consulte [Importación](data-wrangler-import.md).

Las siguientes transformaciones utilizan sus datos para crear una columna en el conjunto de datos:
+ [Codificar categóricos](data-wrangler-transform.md#data-wrangler-transform-cat-encode)
+ [Caracterización del texto](data-wrangler-transform.md#data-wrangler-transform-featurize-text)
+ [Gestionar valores atípicos](data-wrangler-transform.md#data-wrangler-transform-handle-outlier)
+ [Gestión de valores que faltan](data-wrangler-transform.md#data-wrangler-transform-handle-missing)

Si empleó el muestreo para importar los datos, las transformaciones anteriores solo usan los datos de la muestra para crear la columna. Es posible que la transformación no haya utilizado todos los datos pertinentes. Por ejemplo, si usa la transformación **Codificación categórica**, podría haber una categoría en todo el conjunto de datos que no esté presente en la muestra.

Puede usar un nodo de destino o un cuaderno de Jupyter para reajustar las transformaciones a todo el conjunto de datos. Cuando Data Wrangler exporta las transformaciones del flujo, crea una tarea de procesamiento. SageMaker Cuando finaliza el trabajo de procesamiento, Data Wrangler guarda los siguientes archivos en la ubicación predeterminada de Amazon S3 o en una ubicación S3 que usted especifique:
+ El archivo de flujo de Data Wrangler que especifica las transformaciones que se reajustan al conjunto de datos
+ El conjunto de datos al que se le han aplicado las transformaciones de reajuste

Puede abrir un archivo de flujo de Data Wrangler en Data Wrangler y aplicar las transformaciones a un conjunto de datos diferente. Por ejemplo, si ha aplicado las transformaciones a un conjunto de datos de entrenamiento, puede abrir y usar el archivo de flujo de Data Wrangler para aplicar las transformaciones a un conjunto de datos utilizado para la inferencia.

Para obtener información sobre el uso de nodos de destino para reajustar las transformaciones y exportar, consulte las siguientes páginas:
+ [Exportar a Amazon S3.](#data-wrangler-data-export-s3)
+ [Exportar a Amazon SageMaker Feature Store](#data-wrangler-data-export-feature-store)

Utilice el siguiente procedimiento para ejecutar un cuaderno de Jupyter para reajustar las transformaciones y exportar los datos.

Para ejecutar un cuaderno de Jupyter, reajustar las transformaciones y exportar el flujo de Data Wrangler, haga lo siguiente.

1. Elija el signo **\$1** junto al nodo que desea exportar.

1. Elija **Exportar a**.

1. Elija la ubicación a la que va a exportar los datos.

1. En el objeto `refit_trained_params`, establezca `refit` en `True`.

1. Para el campo `output_flow`, especifique el nombre del archivo de flujo de salida con las transformaciones de reajuste.

1. Ejecute el cuaderno de Jupyter.

## Creación de una programación para procesar automáticamente los datos nuevos
<a name="data-wrangler-data-export-schedule-job"></a>

Si procesa datos periódicamente, puede crear una programación para ejecutar el trabajo de procesamiento de forma automática. Por ejemplo, puede crear una programación que ejecute un trabajo de procesamiento automáticamente cuando obtenga datos nuevos. Para obtener más información acerca de estos trabajos de procesamiento, consulte [Exportar a Amazon S3.](#data-wrangler-data-export-s3) y [Exportar a Amazon SageMaker Feature Store](#data-wrangler-data-export-feature-store).

Al crear un trabajo, debe especificar un rol de IAM que tenga permisos para crear el trabajo. De forma predeterminada, el rol de IAM que utiliza para acceder a Data Wrangler es `SageMakerExecutionRole`.

Los siguientes permisos permiten a Data Wrangler acceder a los trabajos de procesamiento EventBridge y EventBridge ejecutarlos:
+ Añada la siguiente política AWS gestionada a la función de ejecución de Amazon SageMaker Studio Classic que proporciona a Data Wrangler permisos de uso: EventBridge

  ```
  arn:aws:iam::aws:policy/AmazonEventBridgeFullAccess
  ```

  Para obtener más información sobre la política, consulte [las políticas AWS administradas](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-use-identity-based.html#eb-full-access-policy) de. EventBridge
+ Agregue la siguiente política al rol de IAM que especifica al crear un trabajo en Data Wrangler:

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": "sagemaker:StartPipelineExecution",
              "Resource": "arn:aws:sagemaker:us-east-1:111122223333:pipeline/data-wrangler-*"
          }
      ]
  }
  ```

------

  Si utiliza la función de IAM predeterminada, añada la política anterior a la función de ejecución de Amazon SageMaker Studio Classic.

  Añada la siguiente política de confianza al rol para poder EventBridge asumirlo.

  ```
  {
      "Effect": "Allow",
      "Principal": {
          "Service": "events.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
  }
  ```

**importante**  
Al crear una programación, Data Wrangler crea una `eventRule` entrada. EventBridge Se le cobrará tanto por las reglas de eventos que cree como por las instancias que utilice para ejecutar el trabajo de procesamiento.  
Para obtener información sobre EventBridge los precios, consulta los [ EventBridge precios de Amazon](https://aws.amazon.com/eventbridge/pricing/). Para obtener información sobre cómo procesar los precios de los trabajos, consulta [Amazon SageMaker Pricing](https://aws.amazon.com/sagemaker/pricing/).

Utilice uno de los métodos siguientes para definir una programación:
+ [Expresiones CRON](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html)
**nota**  
Data Wrangler no admite las siguientes expresiones:  
LW\$1
Abreviaturas para días
Abreviaturas para días
+ [Expresiones de frecuencia](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-create-rule-schedule.html#eb-rate-expressions)
+ Recurrente: establece un intervalo de una hora o un día para ejecutar el trabajo.
+ Hora específica: establece días y horas concretos para ejecutar el trabajo.

En las siguientes secciones se presentan procedimientos para crear trabajos.

------
#### [ CRON ]

Utilice el siguiente procedimiento para crear una programación con una expresión CRON.

Para especificar una programación con una expresión CRON, haga lo siguiente.

1. Abra el flujo de Data Wrangler.

1. Seleccione **Crear tarea**.

1. (Opcional) En el **caso de la clave KMS** de salida, especifique una AWS KMS clave para configurar la salida del trabajo.

1. Elija **Siguiente, 2. Configurar el trabajo**.

1. Seleccione **Horarios de los asociados**.

1. Elija **Crear una nueva programación**.

1. En **Nombre de la programación**, especifique el nombre de la programación.

1. En **Frecuencia de ejecución**, elija **CRON**.

1. Especifique una expresión CRON válida.

1. Seleccione **Crear**.

1. De forma opcional, elija **Agregar otra programación** para ejecutar el trabajo según una programación adicional.
**nota**  
Puede asociar un máximo de dos programaciones. Las programaciones son independientes y no se afectan entre sí a menos que los horarios se superpongan.

1. Seleccione una de las siguientes opciones:
   + **Programar y ejecutar ahora**: el trabajo se ejecuta inmediatamente en Data Wrangler y, posteriormente, se ejecuta según las programaciones.
   + **Solo programar**: el trabajo de Data Wrangler solo se ejecuta en los horarios que usted especifique.

1. Elija **Ejecutar**.

------
#### [ RATE ]

Utilice el siguiente procedimiento para crear una programación con una expresión de frecuencia.

Para especificar una programación con una expresión de frecuencia, haga lo siguiente.

1. Abra el flujo de Data Wrangler.

1. Seleccione **Crear tarea**.

1. (Opcional) En la **clave KMS de salida**, especifique una AWS KMS clave para configurar la salida del trabajo.

1. Elija **Siguiente, 2. Configurar el trabajo**.

1. Seleccione **Horarios de los asociados**.

1. Elija **Crear una nueva programación**.

1. En **Nombre de la programación**, especifique el nombre de la programación.

1. En **Frecuencia de ejecución**, elija **Velocidad**.

1. En **Valor**, especifique un valor entero.

1. En **Unidad**, seleccione una de las opciones siguientes:
   + **Minutos**
   + **Horas**
   + **Días**

1. Seleccione **Crear**.

1. De forma opcional, elija **Agregar otra programación** para ejecutar el trabajo según una programación adicional.
**nota**  
Puede asociar un máximo de dos programaciones. Las programaciones son independientes y no se afectan entre sí a menos que los horarios se superpongan.

1. Seleccione una de las siguientes opciones:
   + **Programar y ejecutar ahora**: el trabajo se ejecuta inmediatamente en Data Wrangler y, posteriormente, se ejecuta según las programaciones.
   + **Solo programar**: el trabajo de Data Wrangler solo se ejecuta en los horarios que usted especifique.

1. Elija **Ejecutar**.

------
#### [ Recurring ]

Utilice el siguiente procedimiento para crear un programa que ejecute un trabajo de forma recurrente.

Para especificar una programación con una expresión CRON, haga lo siguiente.

1. Abra el flujo de Data Wrangler.

1. Seleccione **Crear tarea**.

1. (Opcional) En la **clave KMS de salida**, especifique una AWS KMS clave para configurar la salida del trabajo.

1. Elija **Siguiente, 2. Configurar el trabajo**.

1. Seleccione **Horarios de los asociados**.

1. Elija **Crear una nueva programación**.

1. En **Nombre de la programación**, especifique el nombre de la programación.

1. En **Frecuencia de ejecución**, asegúrese de que esté seleccionada la opción **Recurrente** de forma predeterminada.

1. En **Cada x horas**, especifique la frecuencia horaria con la que se ejecuta el trabajo durante el día. Los valores válidos son enteros en el rango inclusivo de **1** a**23**.

1. Para **En días**, seleccione una de las siguientes opciones:
   + **Todos los días**
   + **Fines de semana**
   + **Días laborales**
   + **Seleccionar días**

   1. De forma opcional, si eligió **Seleccionar días**, elija los días de la semana en los que se ejecutará el trabajo.
**nota**  
El horario se restablece cada día. Si programa un trabajo para que se ejecute cada cinco horas, se ejecutará en los siguientes momentos del día:  
00:00
05:00
10:00
15:00
20:00

1. Seleccione **Crear**.

1. De forma opcional, elija **Agregar otra programación** para ejecutar el trabajo según una programación adicional.
**nota**  
Puede asociar un máximo de dos programaciones. Las programaciones son independientes y no se afectan entre sí a menos que los horarios se superpongan.

1. Seleccione una de las siguientes opciones:
   + **Programar y ejecutar ahora**: el trabajo se ejecuta inmediatamente en Data Wrangler y, posteriormente, se ejecuta según las programaciones.
   + **Solo programar**: el trabajo de Data Wrangler solo se ejecuta en los horarios que usted especifique.

1. Elija **Ejecutar**.

------
#### [ Specific time ]

Utilice el siguiente procedimiento para crear una programación que ejecute un trabajo en momentos concretos.

Para especificar una programación con una expresión CRON, haga lo siguiente.

1. Abra el flujo de Data Wrangler.

1. Seleccione **Crear tarea**.

1. (Opcional) En la **clave KMS de salida**, especifique una AWS KMS clave para configurar la salida del trabajo.

1. Elija **Siguiente, 2. Configurar el trabajo**.

1. Seleccione **Horarios de los asociados**.

1. Elija **Crear una nueva programación**.

1. En **Nombre de la programación**, especifique el nombre de la programación.

1. Seleccione **Crear**.

1. De forma opcional, elija **Agregar otra programación** para ejecutar el trabajo según una programación adicional.
**nota**  
Puede asociar un máximo de dos programaciones. Las programaciones son independientes y no se afectan entre sí a menos que los horarios se superpongan.

1. Seleccione una de las siguientes opciones:
   + **Programar y ejecutar ahora**: el trabajo se ejecuta inmediatamente en Data Wrangler y, posteriormente, se ejecuta según las programaciones.
   + **Solo programar**: el trabajo de Data Wrangler solo se ejecuta en los horarios que usted especifique.

1. Elija **Ejecutar**.

------

Puede utilizar Amazon SageMaker Studio Classic para ver los trabajos que están programados para ejecutarse. Sus trabajos de procesamiento se ejecutan en Canalizaciones. Cada trabajo de procesamiento tiene su propia canalización. Se ejecuta como un paso de procesamiento dentro de la canalización. Puede ver las programaciones que ha creado dentro de una canalización. Para obtener información acerca de cómo visualizar una canalización, consulte [Visualización de los detalles de una canalización](pipelines-studio-list.md).

Utilice el siguiente procedimiento para ver los trabajos que ha programado.

Para ver los trabajos que ha programado, haga lo siguiente.

1. Abre Amazon SageMaker Studio Classic.

1. Apertura de canalizaciones

1. Vea las canalizaciones de los trabajos que ha creado.

   La canalización que ejecuta el trabajo usa el nombre del trabajo como prefijo. Por ejemplo, si ha creado un trabajo denominado `housing-data-feature-enginnering`, el nombre de la canalización es `data-wrangler-housing-data-feature-engineering`.

1. Elija la canalización que contiene su trabajo.

1. Vea el estado de las canalizaciones. Las canalizaciones con un **Estado** **Correcto** han ejecutado el trabajo de procesamiento correctamente.

Para detener la ejecución del trabajo de procesamiento, haga lo siguiente:

Para detener la ejecución de un trabajo de procesamiento, elimine la regla de eventos que especifica la programación. Al eliminar una regla de eventos, se detiene la ejecución de todos los trabajos asociados a la programación. Para obtener información sobre cómo eliminar una regla, consulta Cómo [deshabilitar o eliminar una EventBridge regla de Amazon](https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-delete-rule.html).

También puede detener y eliminar las canalizaciones asociadas a las programaciones. Para obtener información sobre cómo detener una canalización, consulta [StopPipelineExecution](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopPipelineExecution.html). Para obtener información sobre la eliminación de una canalización, consulte [DeletePipeline](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeletePipeline.html#API_DeletePipeline_RequestSyntax).

# Utilice un widget interactivo de preparación de datos en un bloc de notas clásico de Amazon SageMaker Studio para obtener información valiosa sobre los datos
<a name="data-wrangler-interactively-prepare-data-notebook"></a>

Utilice el widget de preparación de datos de Data Wrangler para interactuar con los datos, obtener visualizaciones, explorar información útil y solucionar problemas de calidad de los datos. 

Puede acceder al widget de preparación de datos desde una libreta Amazon SageMaker Studio Classic. Para cada columna, el widget crea una visualización que le ayuda a comprender mejor su distribución. Si una columna tiene problemas con la calidad de los datos, aparece una advertencia en su encabezado.

Para ver los problemas de calidad de los datos, seleccione el encabezado de la columna que muestra la advertencia. Puede usar la información que obtenga de las observaciones y las visualizaciones para aplicar las transformaciones integradas en el widget para ayudarle a solucionar los problemas. 

Por ejemplo, el widget puede detectar que hay una columna que solo tiene un valor único y mostrar una advertencia. La advertencia ofrece la opción de eliminar la columna del conjunto de datos.

## Introducción al uso del widget
<a name="data-wrangler-interactively-prepare-data-notebook-getting-started"></a>

Utilice la siguiente información como ayuda para comenzar a utilizar un cuaderno.

Abre una libreta en Amazon SageMaker Studio Classic. Para obtener información sobre cómo abrir un cuaderno, consulte [Crear o abrir un bloc de notas Amazon SageMaker Studio Classic](notebooks-create-open.md).

**importante**  
Para ejecutar el widget, el cuaderno debe utilizar una de las siguientes imágenes:  
Python 3 (Ciencia de datos) con Python 3.7
Python 3 (Ciencia de datos 2.0) con Python 3.8
Python 3 (Ciencia de datos 3.0) con Python 3.10
SparkAnalytics 1.0
SparkAnalytics 2.0
Para obtener más información acerca de las imágenes base, consulte [SageMaker Imágenes de Amazon disponibles para su uso con las libretas Studio Classic](notebooks-available-images.md).

Utilice el siguiente código para importar el widget de preparación de datos y pandas. El widget utiliza marcos de datos de pandas para analizar los datos.

```
import pandas as pd
import sagemaker_datawrangler
```

El siguiente código de ejemplo carga un archivo en el marco de datos denominado `df`.

```
df = pd.read_csv("example-dataset.csv")
```

Puede usar un conjunto de datos en cualquier formato que pueda cargar como un objeto de marco de datos de pandas. Para obtener más información sobre los formatos de pandas, consulte [las herramientas de IO (texto, CSV, HDF5,...).](https://pandas.pydata.org/pandas-docs/stable/user_guide/io.html)

La siguiente celda ejecuta la variable `df` para iniciar el widget.

```
df
```

En la parte superior del marco de datos, se incluyen las siguientes opciones:
+ **Ver la tabla de Pandas**: cambia entre la visualización interactiva y una tabla de pandas.
+ **Usar todas las filas del conjunto de datos para calcular la información. El uso de todo el conjunto de datos podría aumentar el tiempo que se tarda en generar la información.** Si no selecciona la opción, Data Wrangler calcula la información de las primeras 10 000 filas del conjunto de datos.

El marco de datos muestra las primeras 1000 filas del conjunto de datos. El encabezado de cada columna tiene un gráfico de barras apiladas que muestra las características de la columna. Muestra la proporción de valores válidos, valores no válidos y valores ausentes. Puede pasar el ratón sobre las distintas partes del gráfico de barras apiladas para obtener los porcentajes calculados.

Cada columna tiene una visualización en el encabezado. A continuación se muestran los tipos de visualizaciones que pueden tener las columnas:
+ Categórico: gráfico de barras
+ Numérico: histograma
+ Fecha y hora: gráfico de barras
+ Texto: gráfico de barras

Para cada visualización, el widget de preparación de datos resalta los valores atípicos en naranja.

Al elegir una columna, se abre un panel lateral. El panel lateral muestra la pestaña **Observaciones**. El panel proporciona un recuento de los siguientes tipos de valores:
+ Valores no válidos: valores cuyo tipo no coincide con el tipo de columna.
+ Valores ausentes: valores que faltan, como `NaN` o `None`.
+ Valores válidos: valores que no son ni ausentes ni inválidos.

En el caso de las columnas numéricas, la pestaña **Observaciones** muestra las siguientes estadísticas de resumen:
+ Mínimo: el valor más pequeño.
+ Máximo: el valor más alto.
+ Media: la media de los valores.
+ Modo: el valor que aparece con más frecuencia.
+ Desviación estándar: la desviación estándar de los valores.

En el caso de las columnas categóricas, la pestaña **Observaciones** muestra las siguientes estadísticas de resumen:
+ Valores únicos: el número de valores únicos en la columna.
+ Superior: el valor que aparece con más frecuencia.

Las columnas que tienen iconos de advertencia en los encabezados tienen problemas de calidad de los datos. Al elegir una columna, se abre la pestaña **Calidad de los datos** que puede utilizar para buscar transformaciones que le ayuden a solucionar el problema. La advertencia tiene uno de los siguientes niveles de gravedad:
+ Bajo: problemas que tal vez no afecten al análisis, pero cuya solución puede resultar útil.
+ Medio: problemas que probablemente afecten al análisis, pero que probablemente no sea crucial solucionarlos.
+ Alto: problemas graves que se recomienda encarecidamente solucionar.

**nota**  
El widget ordena la columna para mostrar los valores que tienen problemas de calidad de los datos en la parte superior del marco de datos. También resalta los valores que causan los problemas. El color del resaltado corresponde al nivel de gravedad.

En **TRANSFORMACIONES SUGERIDAS**, puede elegir una transformación para solucionar el problema de calidad de los datos. El widget puede ofrecer varias transformaciones que pueden solucionar el problema. Puede ofrecer recomendaciones para las transformaciones que mejor se adapten al problema. Puede mover el cursor sobre la transformación para obtener más información sobre ella.

Para aplicar una transformación al conjunto de datos, seleccione **Aplicar y exportar código**. La transformación modifica el conjunto de datos y actualiza la visualización con los valores modificados. El código de la transformación aparece en la siguiente celda del cuaderno. Si aplica transformaciones adicionales al conjunto de datos, el widget anexa las transformaciones a la celda. Puede utilizar el código que genera el widget para hacer lo siguiente:
+ Personalízalo para que se adapte mejor a tus necesidades.
+ Usarlo en sus propios flujos de trabajo.

Para reproducir todas las transformaciones que ha realizado, vuelva a ejecutar todas las celdas del cuaderno.

El widget puede proporcionar información y advertencias para la columna objetivo. La columna objetivo es la columna que intenta predecir. Utilice el siguiente procedimiento para obtener información sobre la columna objetivo.

Para obtener información sobre la columna objetivo, haga lo siguiente.

1. Elija la columna que va a utilizar como columna objetivo.

1. Elija **Seleccionar como columna objetivo**.

1. Elija el tipo de problema. La información y las advertencias del widget se adaptan a los tipos de problemas. Los tipos de problemas son los siguientes:
   + **Clasificación**: la columna objetivo contiene datos categóricos.
   + **Regresión**: la columna objetivo contiene datos numéricos.

1. Seleccione **Ejecutar**.

1. De forma opcional, en **Información de la columna objetivo**, elija una de las transformaciones sugeridas.

## Referencia para la información y las transformaciones del widget
<a name="data-wrangler-notebook-dataprep-assistant-reference"></a>

En el caso de las columnas de características (columnas que no son la columna objetivo), puede obtener la siguiente información para advertirle de problemas con el conjunto de datos.
+ **Valores ausentes**: en la columna faltan valores como `None`, `NaN` (no un número) o `NaT` (no una marca de tiempo). Muchos algoritmos de machine learning no admiten valores ausentes en los datos de entrada. Por lo tanto, rellenarlos o eliminar las filas con los datos ausentes es un paso crucial para la preparación de los datos. Si aparece la advertencia de valores ausentes, puede utilizar una de las siguientes transformaciones para corregir el problema.
  + **Eliminar ausentes**: elimina las filas con valores ausentes. Recomendamos eliminar las filas cuando el porcentaje de filas con datos ausentes sea pequeño y no sea apropiado imputar los valores ausentes. 
  + **Reemplazar por un valor nuevo**: reemplaza los valores textuales ausentes por `Other`. Puede cambiar `Other` a un valor diferente en el código de salida. Sustituye los valores numéricos ausentes por 0.
  + **Reemplazar por media**: reemplaza los valores ausentes por la media de la columna.
  + **Reemplazar por mediana**: reemplaza los valores ausentes por la mediana de la columna.
  + **Eliminar columna**: elimina la columna con los valores ausentes del conjunto de datos. Se recomienda eliminar toda la columna cuando haya un alto porcentaje de filas en las que falten datos.
+ **Valores ausentes encubiertos**: la columna tiene valores ausentes encubiertos. Un valor ausente encubierto es un valor que no está codificado explícitamente como valor ausente. Por ejemplo, en lugar de usar `NaN` para indicar un valor ausente, el valor podría ser `Placeholder`. Puede utilizar una de las siguientes transformaciones para gestionar los valores ausentes:
  + **Eliminar ausentes**: elimina las filas con valores ausentes.
  + **Reemplazar por un valor nuevo**: reemplaza los valores textuales ausentes por `Other`. Puede cambiar `Other` a un valor diferente en el código de salida. Sustituye los valores numéricos ausentes por 0.
+ **Columna constante**: la columna solo tiene un valor. Por lo tanto, no tiene poder predictivo. Se recomienda encarecidamente utilizar la transformación **Eliminar columna** para eliminar la columna del conjunto de datos.
+ **Columna de ID**: la columna no tiene valores repetidos. Todos los valores de la columna son únicos. Pueden ser claves de bases de datos IDs o bien claves. Sin información adicional, la columna no tiene poder predictivo. Se recomienda encarecidamente utilizar la transformación **Eliminar columna** para eliminar la columna del conjunto de datos.
+ **Cardinalidad alta**: la columna tiene un alto porcentaje de valores únicos. La cardinalidad alta limita el poder predictivo de las columnas categóricas. Examine la importancia de la columna en su análisis y considere la posibilidad de utilizar la transformación **Eliminar columnas** para eliminarla.

En el caso de la columna objetivo, puede obtener la siguiente información para advertirle de problemas con el conjunto de datos. Puede usar la transformación sugerida que viene con la advertencia para corregir el problema.
+ **Tipos de datos mixtos en el objetivo (regresión)**: hay algunos valores no numéricos en la columna objetivo. Es posible que haya errores en la entrada de datos. Se recomienda eliminar las filas que tienen valores que no se pueden convertir.
+ **Etiqueta frecuente**: algunos valores de la columna objetivo aparecen con más frecuencia de lo que sería normal en un contexto de regresión. Es posible que haya un error en la recopilación o el procesamiento de los datos. Una categoría que aparezca con frecuencia puede indicar que el valor se utiliza como valor predeterminado o que es un marcador de posición para valores ausentes. Se recomienda usar la transformación **Reemplazar por un valor nuevo** para reemplazar los valores ausentes por `Other`.
+ **Muy pocas instancias por clase**: la columna objetivo tiene categorías que aparecen con poca frecuencia. Algunas de las categorías no tienen filas suficientes para que la columna objetivo resulte útil. Puede usar una de las siguientes transformaciones:
  + **Eliminar objetivo poco frecuente**: elimina valores únicos con menos de diez observaciones. Por ejemplo, elimina el valor `cat` si aparece nueve veces en la columna.
  + **Reemplazar objetivo poco frecuente**: reemplaza las categorías que aparecen con poca frecuencia en el conjunto de datos por el valor `Other`.
+ **Clases demasiado desequilibradas (clasificación multiclase)**: hay categorías en el conjunto de datos que aparecen con mucha más frecuencia que las demás categorías. El desequilibrio de clases puede afectar a la precisión de la predicción. Para obtener las predicciones más precisas posibles, se recomienda actualizar el conjunto de datos con filas que tengan las categorías que actualmente aparecen con menos frecuencia.
+ **Gran classes/too cantidad de clases**: hay una gran cantidad de clases en la columna de destino. Tener muchas clases puede resultar en tiempos de entrenamiento más largos o en una calidad predictiva deficiente. Se recomienda llevar a cabo una de las siguientes operaciones:
  + Agrupar algunas de las categorías en su propia categoría. Por ejemplo, si seis categorías están estrechamente relacionadas, se recomienda utilizar una sola categoría para ellas.
  + Utilizar un algoritmo de ML que sea resiliente a numerosas categorías.

# Seguridad y permisos
<a name="data-wrangler-security"></a>

Cuando consulta datos de Athena o Amazon Redshift, el conjunto de datos consultado se almacena automáticamente en el depósito de AI S3 SageMaker predeterminado de la región en AWS la que utiliza Studio Classic. *Además, cuando exporta un Jupyter Notebook desde Amazon SageMaker Data Wrangler y lo ejecuta, sus flujos de datos, o archivos.flow, se guardan en el mismo depósito predeterminado, con el prefijo data\$1wrangler\$1flows.*

Para necesidades de seguridad de alto nivel, puede configurar una política de bucket que restrinja los roles que tienen acceso a este bucket de AI S3 predeterminado. AWS SageMaker Use la siguiente sección para agregar este tipo de política a un bucket de S3. Para seguir las instrucciones de esta página, usa el AWS Command Line Interface (AWS CLI). Para obtener información sobre cómo hacerlo, consulte [Configuración de la AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html) en la Guía del usuario de IAM.

Además, debe conceder permisos a cada rol de IAM que utilice Data Wrangler para acceder a los recursos necesarios. Si no necesita permisos detallados para el rol de IAM que utiliza para acceder a Data Wrangler, puede añadir la política administrada de IAM, [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess), a un rol de IAM que utilice para crear su usuario de Studio Classic. Esta política le otorga pleno permiso para usar Data Wrangler. Si necesita permisos más detallados, consulte la sección [Conceder permiso a un rol de IAM para que utilice Data Wrangler](#data-wrangler-security-iam-policy).

## Adición de una política de bucket para restringir el acceso a los conjuntos de datos importados a Data Wrangler
<a name="data-wrangler-security-bucket-policy"></a>

Puede agregar una política al bucket de S3 que contenga sus recursos de Data Wrangler mediante una política de bucket de Amazon S3. Entre los recursos que Data Wrangler carga en tu depósito predeterminado de SageMaker AI S3 en la AWS región en la que utilizas Studio Classic se incluyen los siguientes:
+ Resultados de la consulta de Amazon Redshift. Se almacenan con el prefijo *redshift/*.
+ Resultados de la consulta de Athena. Se almacenan con el prefijo *athena/*. 
+ Los archivos .flow que se cargan en Amazon S3 al ejecutar un cuaderno de Jupyter exportado que produce Data Wrangler. Se almacenan con el prefijo *data\$1wrangler\$1flows/*.

Utilice el siguiente procedimiento para crear una política de bucket de S3 que pueda agregar para restringir el acceso de los roles de IAM a ese bucket. Para obtener información acerca de cómo agregar una política a un bucket de S3, consulte [How do I add an S3 Bucket policy?](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/add-bucket-policy.html)

**Para configurar una política de bucket en el bucket de S3 que almacena sus recursos de Data Wrangler:**

1. Configure uno o más roles de IAM que quiera que puedan acceder a Data Wrangler.

1. Abra un intérprete de comandos o símbolo del sistema. Para cada rol que crees, *role-name* sustitúyelo por el nombre del rol y ejecuta lo siguiente:

   ```
   $ aws iam get-role --role-name role-name
   ```

   En la respuesta, verá una cadena `RoleId` que comienza con `AROA`. Copie esta cadena. 

1. Añada la siguiente política al segmento predeterminado de SageMaker IA en la AWS región en la que utilice Data Wrangler. *region*Sustitúyala por la AWS región en la que se encuentra el depósito y por tu *account-id* ID de AWS cuenta. Sustituya `userId` s *AROAEXAMPLEID* empezando por el IDs de AWS cualquier rol al que desee conceder permiso para usar Data Wrangler. 

------
#### [ JSON ]

****  

   ```
   {
     "Version":"2012-10-17",		 	 	 
     "Statement": [
       {
         "Effect": "Deny",
         "Principal": "*",
         "Action": "s3:*",
         "Resource": [
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/data_wrangler_flows/",
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/data_wrangler_flows/*",
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/athena",
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/athena/*",
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/redshift",
           "arn:aws:s3:::sagemaker-us-east-1-111122223333/redshift/*"
           
         ],
         "Condition": {
           "StringNotLike": {
             "aws:userId": [
               "AROAEXAMPLEID_1:*",
               "AROAEXAMPLEID_2:*"
             ]
           }
         }
       }
     ]
   }
   ```

------

## Creación de una lista de permisos para Data Wrangler
<a name="data-wrangler-security-allowlist"></a>

Cada vez que un usuario comienza a ejecutar Data Wrangler desde la interfaz de usuario de Amazon SageMaker Studio Classic, hace una llamada a la interfaz de programación de aplicaciones (API) de SageMaker IA para crear una aplicación Data Wrangler.

Es posible que su organización no otorgue permisos a los usuarios de forma predeterminada para realizar esas llamadas a la API. Para conceder permisos, tiene que crear y asociar una política a los roles de IAM del usuario mediante la siguiente plantilla de políticas: [Ejemplo de lista de permisos de Data Wrangler](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/DataWranglerAllowListExample.txt).

**nota**  
El ejemplo de política anterior solo permite a sus usuarios acceder a la aplicación Data Wrangler.

Para obtener información acerca de la creación de una política, consulte [Creating policies on the JSON tab](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create-console.html#access_policies_create-json-editor). Cuando cree una política, copie y pegue la política JSON del [Ejemplo de lista de permisos de Data Wrangler](https://s3.us-west-2.amazonaws.com/amazon-sagemaker-data-wrangler-documentation-artifacts/DataWranglerAllowListExample.txt) en la pestaña **JSON**.

**importante**  
Elimine cualquier política de IAM que impida a los usuarios ejecutar las siguientes operaciones:  
[CreateApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateApp.html)
[DescribeApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeApp.html)
Si no elimina las políticas, es posible que los usuarios sigan afectados por ellas.

Después de crear la política con la plantilla, asóciela a los roles de IAM de los usuarios. Para obtener más información acerca de cómo asociar políticas, consulte [Adición de permisos de identidad de IAM (consola)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html#add-policies-console).

## Conceder permiso a un rol de IAM para que utilice Data Wrangler
<a name="data-wrangler-security-iam-policy"></a>

Puede conceder un permiso a un rol de IAM para que utilice Data Wrangler con la política general administrada por IAM, [https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerFullAccess). Se trata de una política general que incluye [los permisos necesarios para utilizar todos los](https://docs.aws.amazon.com/sagemaker/latest/dg/security-iam-awsmanpol-AmazonSageMakerFullAccess.html) servicios de IA. SageMaker Esta política otorga a los roles de IAM acceso total a Data Wrangler. Debe tener en cuenta lo siguiente si utiliza `AmazonSageMakerFullAccess` para conceder acceso a Data Wrangler:
+ Si importa datos de Amazon Redshift, el nombre del **Usuario de la base de datos** debe tener el prefijo `sagemaker_access`.
+ Esta política administrada solo otorga permiso para acceder a los buckets con uno de los siguientes nombres: `SageMaker AI`, `SageMaker AI`, `sagemaker` o `aws-glue`. Si desea utilizar Data Wrangler para importar desde un bucket de S3 sin estas frases en el nombre, consulte la última sección de esta página para obtener información sobre cómo conceder permiso a una entidad de IAM para que acceda a sus buckets de S3.

Si necesita un alto nivel de seguridad, puede asociar las políticas de esta sección a una entidad de IAM para conceder los permisos necesarios para el uso de Data Wrangler.

Si tiene conjuntos de datos en Amazon Redshift o Athena que un rol de IAM necesita importar desde Data Wrangler, debe agregar una política a esa entidad para acceder a estos recursos. Las siguientes políticas son las más restrictivas que puede utilizar para conceder permiso a un rol de IAM para importar datos de Amazon Redshift y Athena. 

Para obtener información acerca de cómo asociar una política personalizada a un rol de IAM, consulte [Administración de políticas de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html#create-managed-policy-console) en la Guía del usuario de IAM.

**Ejemplo de política para conceder acceso a la importación de un conjunto de datos de Athena**

La siguiente política supone que el rol de IAM tiene permiso para acceder al bucket de S3 subyacente donde se almacenan los datos mediante una política de IAM independiente.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "athena:ListDataCatalogs",
                "athena:ListDatabases",
                "athena:ListTableMetadata",
                "athena:GetQueryExecution",
                "athena:GetQueryResults",
                "athena:StartQueryExecution",
                "athena:StopQueryExecution"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
                "arn:aws:glue:*:*:table/sagemaker_featurestore/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:DeleteTable"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*/sagemaker_tmp_*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:GetDatabases",
                "glue:GetTable",
                "glue:GetTables"
            ],
            "Resource": [
                "arn:aws:glue:*:*:table/*",
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "glue:CreateDatabase",
                "glue:GetDatabase"
            ],
            "Resource": [
                "arn:aws:glue:*:*:catalog",
                "arn:aws:glue:*:*:database/sagemaker_featurestore",
                "arn:aws:glue:*:*:database/sagemaker_processing",
                "arn:aws:glue:*:*:database/default",
                "arn:aws:glue:*:*:database/sagemaker_data_wrangler"
            ]
        }
    ]
}
```

------

****Ejemplo de política para conceder acceso a la importación de un conjunto de datos de Amazon Redshift****

La siguiente política concede permiso para configurar una conexión de Amazon Redshift con Data Wrangler mediante usuarios de bases de datos que tengan el prefijo `sagemaker_access` en el nombre. Para conceder el permiso de conexión mediante usuarios de bases de datos adicionales, agregue entradas adicionales bajo `"Resources"` en la siguiente política. La siguiente política supone que el rol de IAM tiene permiso para acceder al bucket de S3 subyacente donde se almacenan los datos mediante una política de IAM independiente, si corresponde. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "redshift-data:ExecuteStatement",
                "redshift-data:DescribeStatement",
                "redshift-data:CancelStatement",
                "redshift-data:GetStatementResult",
                "redshift-data:ListSchemas",
                "redshift-data:ListTables"
            ],
            "Resource": [
                "*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "arn:aws:redshift:*:*:dbuser:*/sagemaker_access*",
                "arn:aws:redshift:*:*:dbname:*"
            ]
        }
    ]
}
```

------

**Política para conceder acceso a un bucket de S3**

Si su conjunto de datos está almacenado en Amazon S3, puede conceder permiso a un rol de IAM para que acceda a este bucket con una política similar a la siguiente. En este ejemplo, se concede acceso programático de lectura y escritura al depósito denominado. *test*

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": ["s3:ListBucket"],
      "Resource": ["arn:aws:s3:::test"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:PutObject",
        "s3:GetObject",
        "s3:DeleteObject"
      ],
      "Resource": ["arn:aws:s3:::test/*"]
    }
  ]
}
```

------

Para importar datos de Athena y Amazon Redshift, debe conceder un permiso de rol de IAM para acceder a los siguientes prefijos en el bucket de Amazon S3 predeterminado en la región donde se utiliza AWS el Data Wrangler:,. `athena/` `redshift/` Si aún no existe un bucket de Amazon S3 predeterminado en la AWS región, también debe conceder permiso al rol de IAM para crear un bucket en esta región.

Además, si quieres que el rol de IAM pueda usar las opciones de exportación de trabajos de Amazon SageMaker Feature Store, Pipelines y Data Wrangler, debes conceder acceso al prefijo `data_wrangler_flows/` de este grupo.

 Data Wrangler utiliza los prefijos `athena/` y `redshift/` para almacenar los archivos de vista previa y conjuntos de datos importados. Para obtener más información, consulte [Almacenamiento de datos importados](data-wrangler-import.md#data-wrangler-import-storage).

Data Wrangler usa el prefijo `data_wrangler_flows/` para almacenar archivos .flow cuando ejecuta un cuaderno de Jupyter exportado desde Data Wrangler. Para obtener más información, consulte [Exportación](data-wrangler-data-export.md).

Utilice una política similar a la siguiente para conceder los permisos descritos en los párrafos anteriores.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject"
            ],
            "Resource": [
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/data_wrangler_flows/",
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/data_wrangler_flows/*",
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/athena",
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/athena/*",
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/redshift",
                "arn:aws:s3:::sagemaker-us-east-1-111122223333/redshift/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:CreateBucket",
                "s3:ListBucket"
            ],
            "Resource": "arn:aws:s3:::sagemaker-us-east-1-111122223333"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:ListAllMyBuckets",
                "s3:GetBucketLocation"
            ],
            "Resource": "*"
        }
    ]
}
```

------

También puede acceder a los datos de su bucket de Amazon S3 desde otra AWS cuenta especificando el URI del bucket de Amazon S3. Para ello, la política de IAM que concede acceso al bucket de Amazon S3 de la otra cuenta debe utilizar una política similar a la del siguiente ejemplo, en la que `BucketFolder` se encuentra el directorio específico del bucket `UserBucket` del usuario. Esta política debe añadirse al usuario que conceda acceso a su bucket a otro usuario. 

------
#### [ JSON ]

****  

```
{
   "Version":"2012-10-17",		 	 	 
   "Statement": [
       {
            "Effect": "Allow",
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::UserBucket/BucketFolder/*"
            },
                {
                "Effect": "Allow",
                "Action": [
                    "s3:ListBucket"
                ],
                "Resource": "arn:aws:s3:::UserBucket",
                "Condition": {
                "StringLike": {
                    "s3:prefix": [
                    "BucketFolder/*"
                    ]
                }
            }
        } 
    ]
}
```

------

El usuario que accede al bucket (no el propietario del bucket) debe agregar a su usuario una política similar a la del siguiente ejemplo. Tenga en cuenta que `AccountX` y `TestUser` a continuación se refieren al propietario del bucket y a su usuario, respectivamente.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/TestUser"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": [
                "arn:aws:s3:::UserBucket/BucketFolder/*"
            ]
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:user/TestUser"
            },
            "Action": [
                "s3:ListBucket"
            ],
            "Resource": [
                "arn:aws:s3:::UserBucket"
            ]
        }
    ]
}
```

------

**Ejemplo de política para conceder acceso al uso de SageMaker AI Studio**

Utilice una política como la siguiente para crear un rol de ejecución de IAM que se pueda utilizar para configurar una instancia de Studio Classic. 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "sagemaker:CreatePresignedDomainUrl",
                "sagemaker:DescribeDomain",
                "sagemaker:ListDomains",
                "sagemaker:DescribeUserProfile",
                "sagemaker:ListUserProfiles",
                "sagemaker:*App",
                "sagemaker:ListApps"
            ],
            "Resource": "*"
        }
    ]
}
```

------

## Snowflake y Data Wrangler
<a name="data-wrangler-security-snowflake"></a>

Todos los permisos de AWS los recursos se administran a través de la función de IAM asociada a la instancia de Studio Classic. El administrador de Snowflake administra los permisos específicos de Snowflake, ya que puede conceder permisos y privilegios detallados a cada usuario de Snowflake. Esto incluye bases de datos, esquemas, tablas, almacenes y objetos de integración de almacenamiento. Debe asegurarse de que los permisos correctos estén configurados fuera de Data Wrangler. 

Tenga en cuenta que el comando `COPY INTO Amazon S3` de Snowflake mueve los datos de Snowflake a Amazon S3 a través de la Internet pública de forma predeterminada, pero los datos en tránsito se protegen mediante SSL. Los datos en reposo de Amazon S3 se cifran con SSE-KMS con la AWS KMS key predeterminada.

Con respecto al almacenamiento de credenciales de Snowflake, Data Wrangler no almacena las credenciales de los clientes. Data Wrangler usa Secrets Manager para almacenar las credenciales en un secreto y rota los secretos como parte de un plan de seguridad basado en las prácticas recomendadas. El administrador de Snowflake o Studio Classic debe asegurarse de que el rol de ejecución de Studio Classic del científico de datos tenga permiso para realizar `GetSecretValue` en el secreto que almacena las credenciales. Si ya está asociada al rol de ejecución de Studio Classic, la política `AmazonSageMakerFullAccess` cuenta con los permisos necesarios para leer los secretos creados por Data Wrangler y secretos creados conforme a la convención de nomenclatura y etiquetado de las instrucciones anteriores. Se debe conceder acceso por separado a los secretos que no sigan las convenciones. Se recomienda usar Secrets Manager para evitar compartir credenciales a través de canales no seguros; sin embargo, tenga en cuenta que un usuario que haya iniciado sesión puede recuperar la contraseña de texto sin formato si inicializa un terminal o un cuaderno de Python en Studio Classic y, a continuación, invoca llamadas a la API desde la API de Secrets Manager. 

## Cifrado de datos con AWS KMS
<a name="data-wrangler-security-kms"></a>

En Data Wrangler, puede descifrar archivos cifrados y agregarlos a su flujo de Data Wrangler. También puede cifrar el resultado de las transformaciones utilizando una AWS KMS clave predeterminada o una que usted proporcione.

Puede importar archivos si tienen:
+ cifrado del servidor
+ SSE-KMS como tipo de cifrado

Para descifrar el archivo e importarlo a un flujo de Data Wrangler, debe añadir el usuario de SageMaker Studio Classic que está utilizando como usuario clave.

La siguiente captura de pantalla muestra un rol de usuario de Studio Classic añadido como usuario de claves. Consulte [Roles de IAM](https://console.aws.amazon.com/iam/home#/roles) para acceder a los usuarios en el panel izquierdo para realizar este cambio.

![\[La sección Usuarios de claves de la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/data-wrangler-kms.png)


### Configuración de claves administradas por el cliente de Amazon S3 para el almacenamiento de datos importados de Data Wrangler
<a name="data-wrangler-s3-cmk-setup"></a>

 De forma predeterminada, Data Wrangler usa buckets de Amazon S3 que tienen la siguiente convención de nomenclatura: `sagemaker-region-account number`. Por ejemplo, si su número de cuenta es `111122223333` y utiliza Studio Classic en us-east-1, los conjuntos de datos importados se almacenan con la siguiente convención de nomenclatura: `sagemaker-us-east-1-111122223333`. 

En las siguientes instrucciones se explica cómo configurar una clave administrada por el cliente para el bucket de Amazon S3 predeterminado.

1. Para habilitar el cifrado del servidor y configurar una clave administrada por el cliente para el bucket de S3 predeterminado, consulte [Using KMS Encryption](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UsingKMSEncryption.html).

1. Después de seguir el paso 1, navegue hasta su AWS KMS . Consola de administración de AWS Busque la clave administrada por el cliente que seleccionó en el paso 1 del paso anterior y añada el rol de Studio Classic como usuario de claves. Para ello, siga las instrucciones de [Allows key users to use a customer managed key](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html#key-policy-default-allow-users).

### Cifrado de los datos que exporta
<a name="data-wrangler-export-kms"></a>

Puede cifrar los datos que exporte mediante uno de los métodos siguientes:
+ Si especifica que el bucket de Amazon S3 tiene un objeto, utilice el cifrado SSE-KMS.
+ Especificar una AWS KMS clave para cifrar los datos que exporta desde Data Wrangler.

En la página **Exportar datos**, especifique un valor para el **ARN o ID de clave de AWS KMS **.

Para obtener más información sobre el uso de AWS KMS claves, consulte [Protección de datos mediante el cifrado del lado del servidor con AWS KMS claves almacenadas en (SSE-KMS](https://docs.aws.amazon.com//AmazonS3/latest/userguide/UsingKMSEncryption.html)). AWSAWS Key Management Service 

## AppFlow Permisos de Amazon
<a name="data-wrangler-appflow-permissions"></a>

Al realizar una transferencia, debe especificar un rol de IAM que tenga permisos para realizar la transferencia. Puede usar el mismo rol de IAM que tiene permisos para usar Data Wrangler. De forma predeterminada, el rol de IAM que utiliza para acceder a Data Wrangler es `SageMakerExecutionRole`.

El rol de IAM también debe tener los siguientes permisos:
+ Permisos para Amazon AppFlow
+ Permisos para acceder al catálogo AWS Glue de datos
+ Permisos AWS Glue para descubrir las fuentes de datos disponibles

Cuando realizas una transferencia, Amazon AppFlow almacena los metadatos de la transferencia en el catálogo AWS Glue de datos. Data Wrangler usa los metadatos del catálogo para determinar si están disponibles para consultarlos e importarlos.

Para añadir permisos a Amazon AppFlow, añade la política `AmazonAppFlowFullAccess` AWS gestionada a la función de IAM. Para obtener más información acerca de la adición de políticas, consulte [Adición y eliminación de permisos de identidad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html).

Si va a transferir datos a Amazon S3, también debe asociar la siguiente política.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "VisualEditor0",
      "Effect": "Allow",
      "Action": [
        "s3:GetBucketTagging",
        "s3:ListBucketVersions",
        "s3:CreateBucket",
        "s3:ListBucket",
        "s3:GetBucketPolicy",
        "s3:PutEncryptionConfiguration",
        "s3:GetEncryptionConfiguration",
        "s3:PutBucketTagging",
        "s3:GetObjectTagging",
        "s3:GetBucketOwnershipControls",
        "s3:PutObjectTagging",
        "s3:DeleteObject",
        "s3:DeleteBucket",
        "s3:DeleteObjectTagging",
        "s3:GetBucketPublicAccessBlock",
        "s3:GetBucketPolicyStatus",
        "s3:PutBucketPublicAccessBlock",
        "s3:PutAccountPublicAccessBlock",
        "s3:ListAccessPoints",
        "s3:PutBucketOwnershipControls",
        "s3:PutObjectVersionTagging",
        "s3:DeleteObjectVersionTagging",
        "s3:GetBucketVersioning",
        "s3:GetBucketAcl",
        "s3:PutObject",
        "s3:GetObject",
        "s3:GetAccountPublicAccessBlock",
        "s3:ListAllMyBuckets",
        "s3:GetAnalyticsConfiguration",
        "s3:GetBucketLocation"
      ],
      "Resource": "*"
    }
  ]
}
```

------

Para añadir AWS Glue permisos, añade la política `AWSGlueConsoleFullAccess` gestionada a la función de IAM. Para obtener más información sobre AWS Glue los permisos con Amazon AppFlow, consulta [link-to-appflow-page].

Amazon AppFlow necesita acceder AWS Glue a Data Wrangler para que puedas importar los datos que has transferido. Para conceder AppFlow acceso a Amazon, añade la siguiente política de confianza a la función de IAM.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::123456789012:root",
                "Service": [
                    "appflow.amazonaws.com"
                ]
            },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

------

Para mostrar los datos de Amazon en AppFlow Data Wrangler, añade la siguiente política a la función de IAM:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "glue:SearchTables",
            "Resource": [
                "arn:aws:glue:*:*:table/*/*",
                "arn:aws:glue:*:*:database/*",
                "arn:aws:glue:*:*:catalog"
            ]
        }
    ]
}
```

------

## Uso de configuraciones de ciclo de vida en Data Wrangler
<a name="data-wrangler-lifecycle-configuration"></a>

Es posible que tenga una instancia de Amazon EC2 configurada para ejecutar aplicaciones de Kernel Gateway, pero no la aplicación Data Wrangler. Las aplicaciones de Kernel Gateway proporcionan acceso al entorno y a los kernels que se utilizan para ejecutar los cuadernos y terminales de Studio Classic. La aplicación Data Wrangler es la aplicación de interfaz de usuario que ejecuta Data Wrangler. Las instancias de Amazon EC2 que no son instancias de Data Wrangler requieren una modificación de las configuraciones de su ciclo de vida para ejecutar Data Wrangler. Las configuraciones del ciclo de vida son scripts de shell que automatizan la personalización del entorno de Amazon SageMaker Studio Classic.

Para obtener más información acerca de las configuraciones del ciclo de vida, consulte [Utilice las configuraciones del ciclo de vida para personalizar Amazon SageMaker Studio Classic](studio-lcc.md).

La configuración del ciclo de vida predeterminada de la instancia no admite el uso de Data Wrangler. Puede realizar las siguientes modificaciones en la configuración predeterminada para poder usar Data Wrangler con su instancia.

```
#!/bin/bash
set -eux
STATUS=$(
python3 -c "import sagemaker_dataprep"
echo $?
)
if [ "$STATUS" -eq 0 ]; then
echo 'Instance is of Type Data Wrangler'
else
echo 'Instance is not of Type Data Wrangler'

# Replace this with the URL of your git repository
export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"

git -C /root clone $REPOSTIORY_URL

fi
```

Puede guardar el script como `lifecycle_configuration.sh`.

Puede asociar la configuración del ciclo de vida a su dominio o perfil de usuario de Studio Classic. Para obtener más información acerca de la creación y asociación de un configuración de ciclo de vida, consulte [Creación y asociación de una configuración de ciclo de vida con Amazon SageMaker Studio Classic](studio-lcc-create.md).

Las siguientes instrucciones muestran cómo asociar una configuración de ciclo de vida a un dominio o perfil de usuario de Studio Classic.

Es posible que se produzcan errores al crear o asociar una configuración de ciclo de vida. Para obtener información acerca de la solución de errores de configuración de ciclo de vida, consulte [KernelGateway fallo de la aplicación](studio-lcc-debug.md#studio-lcc-debug-kernel).

# Notas de la versión
<a name="data-wrangler-release-notes"></a>

Data Wrangler se actualiza periódicamente con nuevas características y correcciones de errores. Para actualizar la versión de Data Wrangler que utiliza en Studio Classic, siga las instrucciones que aparecen en [Cierre y actualice las aplicaciones clásicas de Amazon SageMaker Studio](studio-tasks-update-apps.md).


****  

| Notas de la versión | 
| --- | 
|  **31/08/2023** Nueva funcionalidad: Ahora puede crear un informe de información y calidad de los datos de todo su conjunto de datos. Para obtener más información, consulte [Información sobre los datos y la calidad de los datos](data-wrangler-data-insights.md). **20/05/2023** Nueva funcionalidad: Ahora puede importar sus datos desde Salesforce Data Cloud. Para obtener más información, consulte [Importación de datos de Salesforce Data Cloud.](data-wrangler-import.md#data-wrangler-import-salesforce-data-cloud). **18 de abril de 2023** Nueva funcionalidad: Ahora puede obtener sus datos en un formato que Amazon Personalize pueda interpretar. Para obtener más información, consulte [Asignar columnas para Amazon Personalize](data-wrangler-transform.md#data-wrangler-transform-personalize). **1/3/2023** Nueva funcionalidad: Ahora puede usar Hive para importar sus datos de Amazon EMR. Para obtener más información, consulte [Importación de datos de Amazon EMR](data-wrangler-import.md#data-wrangler-emr). **12/10/2022** Nueva funcionalidad: Ahora puede exportar su flujo de Data Wrangler a un punto de conexión de inferencia. Para obtener más información, consulte [Exportación a un punto de conexión de inferencia](data-wrangler-data-export.md#data-wrangler-data-export-inference). Nueva funcionalidad: Ahora puede usar un widget de cuaderno interactivo para preparar los datos. Para obtener más información, consulte [Utilice un widget interactivo de preparación de datos en un bloc de notas clásico de Amazon SageMaker Studio para obtener información valiosa sobre los datos](data-wrangler-interactively-prepare-data-notebook.md). Nueva funcionalidad: Ahora puede importar datos desde plataformas SaaS. Para obtener más información, consulte [Importación de datos de plataformas de software como servicio (SaaS)](data-wrangler-import.md#data-wrangler-import-saas). **10/12/2022** Nueva funcionalidad: Ahora puede reutilizar los flujos de datos para diferentes conjuntos de datos. Para obtener más información, consulte [Reutilización de flujos de datos para diferentes conjuntos de datos](data-wrangler-parameterize.md). **10/05/2022** Nueva funcionalidad: Ahora puede usar el análisis de componentes principales (PCA) como transformación. Para obtener más información, consulte [Reducir la dimensionalidad dentro de un conjunto de datos](data-wrangler-transform.md#data-wrangler-transform-dimensionality-reduction). **10/05/2022** Nueva funcionalidad: Ahora puede reajustar los parámetros del flujo de Data Wrangler. Para obtener más información, consulte [Exportación](data-wrangler-data-export.md). **10/03/2022** Nueva funcionalidad: Ahora puede implementar modelos desde el flujo de Data Wrangler. Para obtener más información, consulte [Entrenamiento automático de modelos en su flujo de datos](data-wrangler-autopilot.md). **20/09/2022** Nueva funcionalidad: Ahora puede establecer períodos de retención de datos en Athena. Para obtener más información, consulte [Importación de datos de Athena](data-wrangler-import.md#data-wrangler-import-athena). **9/06/2022** Nueva funcionalidad: Ahora puede usar Amazon SageMaker Autopilot para entrenar un modelo directamente desde su flujo de Data Wrangler. Para obtener más información, consulte [Entrenamiento automático de modelos en su flujo de datos](data-wrangler-autopilot.md). **6 de mayo de 2022** Nueva funcionalidad: Ahora puede usar instancias m5 y r5 adicionales. Para obtener más información, consulte [instancias](data-wrangler-data-flow.md#data-wrangler-data-flow-instances). **27 de abril de 2022** Nuevas funcionalidades: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) **1/4/2022** Nueva funcionalidad: Ahora puede usar Databricks como origen de datos. Para obtener más información, consulte [Importación de datos de Databricks (JDBC)](data-wrangler-import.md#data-wrangler-databricks). **2/2/2022** Nuevas funcionalidades: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) **16/10/2021** Nueva funcionalidad: Data Wrangler ahora es compatible con los grupos de trabajo de Athena. Para obtener más información, consulte [Importación de datos de Athena](data-wrangler-import.md#data-wrangler-import-athena). **6/10/2021** Nueva funcionalidad: Data Wrangler ahora admite la transformación de datos de serie temporal. Para obtener más información, consulte [Transformar series temporales](data-wrangler-transform.md#data-wrangler-transform-time-series). **15/7/2021** Nuevas funcionalidades: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) Mejoras: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html)  Correcciones de errores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) **26/04/2021**  Mejoras: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) Correcciones de errores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) **8/2/2021**  Nuevas funcionalidades: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) Mejoras: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html) Correcciones de errores: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/data-wrangler-release-notes.html)  | 

# Solucionar problemas
<a name="data-wrangler-trouble-shooting"></a>

Si surge algún problema al utilizar Amazon SageMaker Data Wrangler, le recomendamos que haga lo siguiente:
+ Si aparece un mensaje de error, léalo y solucione el problema que indica, en caso de que sea posible.
+ Asegúrese de que el rol de IAM de su usuario de Studio Classic tenga los permisos necesarios para realizar la acción. Para obtener más información, consulte [Seguridad y permisos](data-wrangler-security.md).
+ Si el problema se produce al intentar importar desde otro AWS servicio, como Amazon Redshift o Athena, asegúrese de haber configurado los permisos y los recursos necesarios para realizar la importación de datos. Para obtener más información, consulte [Importación](data-wrangler-import.md).
+ Si sigue teniendo problemas, seleccione **Obtener ayuda**, en la parte superior derecha de la pantalla, para ponerse en contacto con el equipo de Data Wrangler. Para obtener más información, consulte las siguientes imágenes.  
![\[La ubicación del formulario Ayuda para Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/get-help/get-help.png)  
![\[El formulario Ayuda para Data Wrangler en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/get-help/get-help-forms.png)

Como último recurso, puede intentar reiniciar el kernel en el que se ejecuta Data Wrangler. 

1. Guarde y cierre el archivo .flow para el que desea reiniciar el kernel. 

1. Seleccione el icono ****Terminales y kernels en ejecución****, como se muestra en la siguiente imagen.  
![\[La ubicación del icono de Terminales y kernels en ejecución en la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/stop-kernel-option.png)

1. Seleccione el icono de **Parada** situado a la derecha del archivo .flow cuyo kernel desee finalizar, como se muestra en la siguiente imagen.  
![\[La ubicación del icono de Parada en la consola.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/studio/mohave/stop-kernel.png)

1. Actualice el navegador. 

1. Vuelva a abrir el archivo .flow en el que estaba trabajando. 

## Solución de problemas con Amazon EMR
<a name="data-wrangler-trouble-shooting-emr"></a>

Utilice la siguiente información como ayuda para solucionar los errores que puedan surgir cuando utilice Amazon EMR.
+ Fallo de conexión: si la conexión falla y aparece el mensaje `The IP address of the EMR cluster isn't private error message`, es posible que su clúster de Amazon EMR no se haya lanzado en una subred privada. Como procedimiento recomendado de seguridad, Data Wrangler solo admite la conexión a clústeres privados de Amazon EMR. Elija una subred EC2 privada para lanzar un clúster de EMR.
+ La conexión se bloquea y se ha agotado el tiempo de espera: lo más probable es que se deba a un problema de conectividad de red. Al empezar la conexión al clúster, la pantalla no se actualiza. Puede aparecer el siguiente error después de unos 2 minutos: `JdbcAddConnectionError: An error occurred when trying to connect to presto: xxx: Connect to xxx failed: Connection timed out (Connection timed out) will display on top of the screen.`.

  Los errores pueden tener dos causas principales:
  + Amazon EMR y Amazon SageMaker Studio Classic son diferentes. VPCs Recomendamos inicializar Amazon EMR y Studio Classic en la misma VPC. También puede utilizar el emparejamiento de VPC. Para obtener más información, consulte [¿Qué es una interconexión de VPC?](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html)
  + El grupo de seguridad principal de Amazon EMR carece de la regla de tráfico entrante para el grupo de seguridad de Amazon SageMaker Studio Classic en el puerto utilizado para Presto. Para resolver el problema, permita el tráfico entrante en el puerto 8889.
+ La conexión falla porque el tipo de conexión está mal configurado. Es posible que aparezca el siguiente mensaje de error: ` Data Wrangler couldn't create a connection to {connection_source} successfully. Try connecting to {connection_source} again. For more information, see Troubleshoot. If you’re still experiencing issues, contact support. `.

  Compruebe el método de autenticación. El método de autenticación que especificó en Data Wrangler debe coincidir con el método de autenticación que está utilizando en el clúster.
+ No tiene permisos de HDFS para la autenticación de LDAP. Para resolver el problema, siga las instrucciones en [Set up HDFS Permissions using Linux Credentials](https://docs.aws.amazon.com/whitepapers/latest/teaching-big-data-skills-with-amazon-emr/set-up-hdfs-permissions-using-linux-credentials.html). También puede iniciar sesión en el clúster con los siguientes comandos:

  ```
  hdfs dfs -mkdir /user/USERNAME
  hdfs dfs -chown USERNAME:USERNAME /user/USERNAME
  ```
+ Error por falta de clave de conexión en la autenticación LDAP. Es posible que aparezca el mensaje de error `Data Wrangler couldn't connect to EMR hive successfully. JDBC connection is missing required connection key(s): PWD`.

  Para la autenticación LDAP, debe especificar un nombre de usuario y una contraseña. La URL de JDBC almacenada en Secrets Manager carece de la propiedad `PWD`.
+ Al solucionar problemas de configuración de LDAP, le recomendamos que se asegure de que el autenticador de LDAP (servidor LDAP) esté configurado correctamente para conectarse al clúster de Amazon EMR. Utilice el comando `ldapwhoami` como ayuda para resolver el problema de configuración. Estos son algunos ejemplos de comandos que podría ejecutar:
  + Para LDAPS: `ldapwhoami -x -H ldaps://ldap-server`.
  + Para LDAP: `ldapwhoami -x -H ldap://ldap-server`.

  Si configuró el autenticador correctamente, ambos comandos deberían devolver `Anonymous`.

## Solución de problemas con Salesforce
<a name="data-wrangler-troubleshooting-salesforce-data-cloud"></a>

### Error de configuración del ciclo de vida
<a name="data-wrangler-troubleshooting-salesforce-lcc-debug-data-cloud"></a>

Cuando un usuario abre Studio Classic por primera vez, es posible que reciba un mensaje de error que indique que hay algún problema en la configuración del ciclo de vida. Usa Amazon CloudWatch para acceder a los registros escritos por tu script de configuración del ciclo de vida. Para obtener más información sobre las depuraciones en configuraciones del ciclo de vida, consulte [Depuración de configuraciones del ciclo de vida en Amazon SageMaker Studio Classic](studio-lcc-debug.md).

Si no puede depurar el error, puede crear el archivo de configuración manualmente. Debe crear el archivo cada vez que elimine o reinicie el servidor Jupyter. Utilice el procedimiento siguiente para crear un archivo de forma manual.

**Para crear un archivo de configuración**

1. Vaya a Studio Classic.

1. Seleccione **Archivo**, **Nuevo** y **Terminal**.

1. Cree `.sfgenie_identity_provider_oauth_config`.

1. Abra el archivo en un editor de texto.

1. Añada al archivo un objeto JSON que contenga el nombre de recurso de Amazon (ARN) del secreto de Secrets Manager. Puede usar la siguiente plantilla para crear el objeto.

   ```
   {
     "secret_arn": "example-secret-ARN"
   }
   ```

1. Guarde los cambios en el archivo .

### No se puede acceder a Salesforce Data Cloud desde el flujo de Data Wrangler
<a name="data-wrangler-troubleshooting-salesforce-datacloud-access"></a>

Una vez que el usuario elija **Salesforce Data Cloud** desde su flujo de Data Wrangler, es posible que reciba un mensaje de error que indique que no se han cumplido los requisitos previos para configurar la conexión. Esto puede deberse a los siguientes errores:
+ No se ha creado el secreto de Salesforce en Secrets Manager.
+ Se ha creado el secreto de Salesforce en Secrets Manager, pero le falta la etiqueta de Salesforce.
+ El secreto de Salesforce en Secrets Manager se creó de forma incorrecta. Región de AWS Por ejemplo, su usuario no podrá acceder a Salesforce Data Cloud en `ca-central-1` si ha creado el secreto en `us-east-1`. Puede replicar el secreto en `ca-central-1` o crear uno nuevo con las mismas credenciales. en `ca-central-1`. Para obtener información sobre cómo replicar secretos, consulte [Replicar un AWS Secrets Manager secreto](https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html) en otro. Regiones de AWS
+ A la política que utilizan sus usuarios para acceder a Amazon SageMaker Studio Classic le faltan permisos para AWS Secrets Manager
+ Hay un error tipográfico en el ARN de Secrets Manager del objeto JSON que especificó en la configuración del ciclo de vida.
+ Hay un error tipográfico en el secreto de Secrets Manager que contiene tu configuración de Salesforce OAuth 

### Se muestra una página en blanco `redirect_uri_mismatch`
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-blank-page"></a>

Cuando usuarios elijan **Guardar y conectar**, es posible que se les redirija a una página que muestre `redirect_uri_mismatch`. Falta el URI de devolución de llamada que ha registrado en la configuración de la aplicación Salesforce Connected o es incorrecto.

Utilice la siguiente URL para comprobar si la URL de Studio Classic está registrada correctamente en la configuración de la aplicación Salesforce Connected de su organización: `https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/`. Para obtener más información sobre el uso de la configuración de la aplicación conectada, vaya hasta la siguiente URL: `https://EXAMPLE_SALESFORCE_ORG/lightning/setup/NavigationMenus/home/`.

**nota**  
Propagar el URI en los sistemas de Salesforce tarda aproximadamente diez minutos.

### Espacios compartidos
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-shared-spaces"></a>

Actualmente, los espacios compartidos no funcionan con la integración de Salesforce Data Cloud. Puedes eliminar los espacios compartidos del dominio de Amazon SageMaker AI que piensas usar o puedes usar otro dominio que no tenga configurados los espacios compartidos.

### OAuth Error de redireccionamiento
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-error"></a>

Sus usuarios deberían poder importar sus datos desde Salesforce Data Cloud después de elegir **Conectar**. Si se produce un error, le recomendamos que haga lo siguiente.
+ Dígales que tengan paciencia: cuando se les redirija a Amazon SageMaker Studio Classic, el proceso de autenticación puede tardar hasta un minuto en completarse. Mientras se redirigen, le recomendamos que les diga que eviten interactuar con el navegador. Por ejemplo, no deberían cerrar la pestaña del navegador, cambiar a otra pestaña ni interactuar con el flujo de Data Wrangler. Al interactuar con el navegador, es posible que se elimine el código de autorización necesario para conectarse a la nube de datos.
+ Haga que sus usuarios se vuelvan a conectar a la nube de datos: hay problemas transitorios que pueden provocar un error en la conexión a la nube de datos de Salesforce. Haga que sus usuarios creen un nuevo flujo de Data Wrangler e intenten conectarse de nuevo a Salesforce Data Cloud.
+ Asegúrese de que sus usuarios cierren todas las demás pestañas con Amazon SageMaker Studio Classic: tener Studio Classic abierto en varias pestañas puede provocar un error en la conexión de Salesforce Data Cloud. Asegúrese de que sus usuarios solo tengan abierta una pestaña de Studio Classic.
+ Varios usuarios acceden a Studio Classic al mismo tiempo: solo un usuario debe acceder a un dominio de Amazon SageMaker AI a la vez. Si varios usuarios acceden al mismo dominio, es posible que se produzca un error en la conexión que el usuario intenta crear con Salesforce Data Cloud.

La actualización de Data Wrangler y Studio Classic también podría solucionar el error. Para obtener información sobre la actualización de Data Wrangler, consulte [Actualización de Data Wrangler](data-wrangler-update.md). Para obtener más información sobre la actualización de Studio Classic, consulte [Cierre y actualice Amazon SageMaker Studio Classic](studio-tasks-update-studio.md).

Si ninguno de los pasos de solución de problemas anteriores funciona, es posible que encuentre un mensaje de error de Salesforce con la descripción correspondiente incrustado en la URL de Studio Classic. Este es un ejemplo de mensaje que se podría encontrar: `error=invalid_client_id&error_description=client%20identifier%20invalid`.

Puede ver el mensaje de error en la URL e intentar solucionar los problemas que presenta. Si el mensaje de error o la descripción no están claros, le recomendamos que busque en la base de conocimiento de Salesforce. Si la búsqueda en la base de conocimientos no funciona, puede ponerse en contacto con el servicio de asistencia de Salesforce para obtener más ayuda.

### Data Wrangler tarda mucho en cargarse
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-long-load-time"></a>

Cuando sus usuarios son redirigidos a Data Wrangler desde Salesforce Data Cloud, es posible que experimenten tiempos de carga prolongados.

Si es la primera vez que el usuario utiliza Data Wrangler o si ha eliminado el kernel, es posible que tarde unos 5 minutos en aprovisionar la nueva instancia de Amazon EC2 para que utilice Data Wrangler.

Si no es la primera vez que el usuario utiliza Data Wrangler y no ha eliminado el kernel, puede pedirles que actualicen la página o cierren tantas pestañas del navegador como sea posible.

Si ninguna de las intervenciones anteriores funciona, pídales que configuren una nueva conexión a Salesforce Data Cloud.

### El usuario no puede exportar sus datos con un error `Invalid batch Id`.
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-batch-id"></a>

Cuando el usuario exporta las transformaciones que ha realizado a sus datos de Salesforce, el trabajo de SageMaker procesamiento que Data Wrangler utiliza en el backend podría fallar. Es posible que Salesforce Data Cloud no esté disponible temporalmente o que haya un problema de almacenamiento en caché.

Para solucionar el problema, recomendamos que los usuarios vuelvan al paso en el que importan los datos y cambien el orden de las columnas que consultan. Por ejemplo, pueden cambiar la siguiente consulta:

```
SELECT col_A, col_B FROM table                
```

En la siguiente consulta:

```
SELECT col_B, col_A FROM table                
```

Una vez que hayan cambiado el orden de las columnas y se hayan asegurado de que las transformaciones posteriores que hayan realizado sigan siendo válidas, pueden empezar a exportar sus datos de nuevo.

### Los usuarios no pueden exportar un conjunto de datos muy grande
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-query"></a>

Si sus usuarios importaron un conjunto de datos muy grande de Salesforce Data Cloud, es posible que no puedan exportar las transformaciones que han realizado. Un conjunto de datos grande puede tener demasiadas filas o puede ser el resultado de una consulta compleja.

Le recomendamos que siga estos pasos:
+ Simplificación de la consulta de SQL
+ Muestreo de sus datos

Estas son algunas estrategias que puede utilizar para simplificar sus consultas:
+ Especificar los nombres de las columnas en lugar de utilizar el operador `*`
+ Buscar un subconjunto de los datos que desea importar en lugar de usar un subconjunto más grande
+ Minimizar las uniones entre conjuntos de datos muy grandes

Utilizar el muestreo para reducir el número de filas de su conjunto de datos. Para obtener información sobre los métodos de muestreo, los usuarios pueden consultar [Muestreo](data-wrangler-transform.md#data-wrangler-transform-sampling).

### Los usuarios no pueden exportar datos debido a que el token de actualización no es válido
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-processing-job-fails-invalid-token"></a>

Data Wrangler utiliza un controlador JDBC para integrarse con Salesforce Data Cloud. El método de autenticación es. OAuth En OAuth efecto, el token de actualización y el token de acceso son dos datos diferentes que se utilizan para autorizar el acceso a los recursos de su Salesforce Data Cloud.

El token de acceso, o token principal, es lo que le permite acceder a sus datos de Salesforce y ejecutar consultas directamente a través de Data Wrangler. Es de corta duración y está diseñado para caducar rápidamente. Para mantener el acceso a sus datos de Salesforce, Data Wrangler utiliza el token de actualización para obtener un nuevo token de acceso de Salesforce.

Es posible que haya configurado la actualización para que caduque demasiado rápido como para obtener un nuevo token de acceso para sus usuarios. Puede que tenga que revisar su política de tokens de actualización y comprobar si esta puede adaptarse a las consultas que tardan mucho tiempo en ejecutarse para los usuarios. Para obtener información sobre cómo configurar la política de tokens de actualización, consulte `https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ConnectedApplication/home/`.

### Las consultas fallan o las tablas no se cargan
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-table-not-loading"></a>

Salesforce sufre interrupciones en el servicio. Aunque haya configurado todo correctamente, es posible que, en algunos momentos, los usuarios no puedan importar sus datos.

Las interrupciones del servicio pueden ocurrir por motivos de mantenimiento. Le recomendamos que lo intente al día siguiente para comprobar si el problema se ha resuelto.

Si tiene problemas durante más de un día, le recomendamos que se ponga en contacto con el servicio de asistencia de Salesforce para obtener más ayuda. Para obtener información sobre cómo ponerse en contacto con Salesforce, consulte [How would you like to contact Salesforce?](https://www.salesforce.com/company/contact-us/)

### `OAUTH_APP_BLOCKED` durante el redireccionamiento de Studio Classic
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-app-blocked"></a>

Cuando se redirija al usuario a Amazon SageMaker Studio Classic, es posible que vea el parámetro de consulta `error=OAUTH_APP_BLOCKED` en la URL. Quizá estén experimentando un problema transitorio y es probable que se resuelva por sí solo en un día.

Es posible que usted también haya bloqueado su acceso a la aplicación Connected. Para obtener más información sobre cómo resolver este problema, consulte `https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ConnectedApplication/home/`.

### `OAUTH_APP_DENIED` durante el redireccionamiento de Studio Classic
<a name="data-wrangler-troubleshooting-salesforce-data-cloud-oauth-app-access-denied"></a>

Cuando se redirija al usuario a Amazon SageMaker Studio Classic, es posible que vea el parámetro de consulta `error=OAUTH_APP_ACCESS_DENIED` en la URL. No les ha otorgado permisos de tipo de perfil para acceder a la `Connected App` asociada a Data Wrangler.

Para resolver su problema de acceso, vaya a `https://EXAMPLE_SALESFORCE_ORG_URL/lightning/setup/ManageUsers/home/` y compruebe si el usuario está asignado al perfil correcto.

# Aumentar el límite de instancias de Amazon EC2
<a name="data-wrangler-increase-instance-limit"></a>

Es posible que vea el siguiente mensaje de error cuando use Data Wrangler: `The following instance type is not available: ml.m5.4xlarge. Try selecting a different instance below.`

El mensaje puede indicar que tiene que seleccionar un tipo de instancia diferente, pero también puede indicar que no tiene suficientes instancias de Amazon EC2 para ejecutar correctamente Data Wrangler en su flujo de trabajo. Puede aumentar el número de instancias mediante el siguiente procedimiento.

Para aumentar el número de instancias, haga lo siguiente.

1. Abre el Consola de administración de AWS.

1. En la barra de búsqueda, especifique **Services Quotas**.

1. Elija **Service Quotas**.

1. Elija **Servicios de AWS **.

1. En la barra de búsqueda, especifique **Amazon SageMaker AI**.

1. Elige **Amazon SageMaker AI**.

1. En **Service Quotas**, especifique **Studio KernelGateway Apps running on *ml.m5.4xlarge* instance**.
**nota**  
ml.m5.4xlarge es el tipo de instancia predeterminado de Data Wrangler. Puede usar otros tipos de instancias y solicitar aumentos de cuota para ellos. Para obtener más información, consulte [instancias](data-wrangler-data-flow.md#data-wrangler-data-flow-instances).

1. Selecciona **Studio KernelGateway Apps que se estén ejecutando en la *ml.m5.4xlarge* instancia**.

1. Elija **Solicitar aumento de cuota**.

1. En **Cambiar el valor de cuota**, especifique un valor superior al **Valor de cuota aplicado**.

1. Seleccione **Solicitar**.

Si se aprueba tu solicitud, AWS envía una notificación a la dirección de correo electrónico asociada a tu cuenta. También puede comprobar el estado de su solicitud si selecciona **Historial de solicitudes de cuotas** en la página **Service Quotas**. Las solicitudes procesadas tienen el **estado** **Cerrada**.

# Actualización de Data Wrangler
<a name="data-wrangler-update"></a>

Para actualizar Data Wrangler a la última versión, primero cierra la KernelGateway aplicación correspondiente desde el panel de control de Amazon SageMaker Studio Classic. Una vez cerrada la KernelGateway aplicación, reiníciala abriendo un flujo de Data Wrangler nuevo o existente en Studio Classic. Al abrir un flujo nuevo o existente de Data Wrangler, el kernel que se inicia contendrá la última versión de Data Wrangler.

**Actualización de la instancia de Data Wrangler y Studio Classic**

1. Ve a tu consola de [SageMaker IA](https://console.aws.amazon.com/sagemaker).

1. Elige SageMaker AI y, a continuación, Studio Classic.

1. Elija su nombre de usuario.

1. En **Aplicaciones**, en la fila que muestra el **nombre de la aplicación**, selecciona **Eliminar aplicación** para la aplicación que empieza `sagemaker-data-wrang` por y para la JupyterServer aplicación.

1. Elija **Sí, eliminar aplicación**.

1. Escriba `delete` en el cuadro de confirmación.

1. Elija **Eliminar**.

1. Vuelva a abrir la instancia de Studio Classic. Ahora, cuando empiece a crear un flujo de Data Wrangler, la instancia usará la última versión de Data Wrangler.

Hay otra posibilidad: si utiliza una versión de la aplicación de Data Wrangler que no es la más reciente y tiene un flujo de Data Wrangler existente abierto, se le pedirá que actualice la versión de la aplicación de Data Wrangler en la interfaz de usuario de Studio Classic. Puede ver este mensaje en la siguiente captura de pantalla. 

**importante**  
Esta acción solo actualiza la aplicación de puerta de enlace del kernel de Data Wrangler. Aún tienes que cerrar la JupyterServer aplicación en tu cuenta de usuario. Para ello, siga los pasos anteriores.

![\[La sección Actualizar Data Wrangler de la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/data-wrangler-1click-restart.png)


También puede seleccionar **Recordármelo más tarde**; en ese caso, aparecerá un botón **Actualizar** en la esquina superior derecha de la pantalla.

![\[La ubicación de Actualizar en la consola de Data Wrangler.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/data-wrangler-1click-restart-update.png)


# Apagado de Data Wrangler
<a name="data-wrangler-shut-down"></a>

Cuando no utilice Data Wrangler, es importante apagar la instancia en la que se ejecuta para evitar incurrir en cargos adicionales. 

Para evitar perder trabajo, guarde el flujo de datos antes de apagar Data Wrangler. Para guardar el flujo de datos en Studio Classic, elija **Archivo** y, a continuación, elija **Guardar flujo de Data Wrangler**. Data Wrangler guarda automáticamente el flujo de datos cada 60 segundos. 

**Cierre de la instancia de Data Wrangler en Studio Classic**

1. En Studio Classic, seleccione el icono de **Instancias y kernels en ejecución** (![\[Icon of a gear or cog symbol representing settings or configuration options.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/icons/studio_classic_dw_instances.png)).

1. En **RUNNING APPS** está la aplicación **sagemaker-data-wrangler-1.0**. Seleccione el icono de cierre (![\[Power button icon with a circular shape and vertical line symbol.\]](http://docs.aws.amazon.com/es_es/sagemaker/latest/dg/images/icons/Shutdown_light.png)) situado junto a esta aplicación. 

   Data Wrangler se ejecuta en una instancia ml.m5.4xlarge. Esta instancia desaparece de **INSTANCIAS EN EJECUCIÓN** al apagar la aplicación Data Wrangler.

**importante**  
Si vuelve a abrir Data Wrangler, una instancia de Amazon EC2 comienza a ejecutar la aplicación y se le cobrará por los recursos de computación. Además del procesamiento, se le cobrará por el almacenamiento que utilice. Por ejemplo, se le cobrará por cualquier bucket de Amazon S3 que utilice con Data Wrangler.  
Si descubre que se le sigue cobrando por Data Wrangler después de cerrar sus aplicaciones, existe una extensión de Jupyter que puede usar para cerrar automáticamente las sesiones inactivas. Para obtener información sobre la extensión, consulte [SageMaker-Studio-Autoshutdown-Extension](https://github.com/aws-samples/sagemaker-studio-auto-shutdown-extension).

Después de apagar la aplicación Data Wrangler, tiene que reiniciarse la próxima vez que abra un archivo de flujo de Data Wrangler. Este proceso puede tardar unos minutos. 