

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.

# 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: configurar una fuente de datos de Athena y AWS Glue rastreador 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: configurar una fuente de datos de Athena y AWS Glue rastreador 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 (![SQL Explorer icon.](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.