

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.

# Creación de un cuaderno de Studio con Kinesis Data Streams
<a name="example-notebook-streams"></a>

En este tutorial se describe cómo crear un cuaderno de Studio que utilice un flujo de datos de Kinesis como fuente.

**Topics**
+ [Cumplimiento de los requisitos previos de](#example-notebook-streams-setup)
+ [Cree una tabla AWS Glue](#example-notebook-streams-glue)
+ [Creación de un cuaderno de Studio con Kinesis Data Streams](#example-notebook-streams-create)
+ [Envío de datos a su flujo de datos de Kinesis](#example-notebook-streams-send)
+ [Prueba de su cuaderno de Studio](#example-notebook-streams-test)

## Cumplimiento de los requisitos previos de
<a name="example-notebook-streams-setup"></a>

Antes de crear un cuaderno de Studio, cree un flujo de datos de Kinesis (`ExampleInputStream`). Su aplicación utiliza estos flujos para el origen de la aplicación.

Puede crear este flujo mediante la consola de Amazon Kinesis o el siguiente comando de la AWS CLI . Para obtener instrucciones sobre la consola, consulte [Creating and Updating Data Streams](https://docs.aws.amazon.com/kinesis/latest/dev/amazon-kinesis-streams.html) en la *Guía para desarrolladores de Amazon Kinesis Data Streams*. Asigne el nombre **ExampleInputStream** al flujo y establezca el **número de particiones abiertas** en **1**.

Para crear la transmisión (`ExampleInputStream`) mediante el AWS CLI, utilice el siguiente comando de Amazon Kinesis `create-stream` AWS CLI .

```
$ aws kinesis create-stream \
--stream-name ExampleInputStream \
--shard-count 1 \
--region us-east-1 \
--profile adminuser
```

## Cree una tabla AWS Glue
<a name="example-notebook-streams-glue"></a>

Su cuaderno de Studio utiliza una [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/what-is-glue.html) base de datos para los metadatos sobre su origen de datos de Kinesis Data Streams.

**nota**  
Puede crear primero la base de datos manualmente o dejar que Managed Service para Apache Flink la cree por usted al crear el cuaderno. De forma similar, puede crear la tabla manualmente tal y como se describe en esta sección o puede usar el código conector de creación de tablas para Managed Service para Apache Flink en su cuaderno en Apache Zeppelin para crear la tabla mediante una instrucción DDL. A continuación, puede registrarse AWS Glue para asegurarse de que la tabla se ha creado correctamente.

**Crear una tabla**

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

1. Si aún no tiene una AWS Glue base de datos, elija **Bases de datos** en la barra de navegación izquierda. Elija **Agregar una base de datos**. En la ventana **Añadir base de datos**, introduzca **default** en el **nombre de la base de datos**. Seleccione **Crear**.

1. En la barra de navegación izquierda, seleccione **Tablas**. En la página **Tablas**, seleccione **Añadir tablas** y **Añadir tabla manualmente**.

1. En la página **Configurar las propiedades de la tabla**, introduzca **stock** como **Nombre de la tabla**. Asegúrese de seleccionar la base de datos que creó anteriormente. Elija **Next** (Siguiente).

1. En la página **Añadir un almacén de datos**, elija **Kinesis**. Para el **Nombre del flujo**, introduzca**ExampleInputStream**. Para la **URL de origen de Kinesis**, pulse Intro **https://kinesis.us-east-1.amazonaws.com**. Si copia y pega la **URL de origen de Kinesis**, asegúrese de eliminar los espacios iniciales o finales. Elija **Next** (Siguiente).

1. En la página de **Clasificación**, seleccione **JSON.** Elija **Siguiente**.

1. En la página **Definir un esquema**, elija Añadir columna para añadir una. Añada columnas con las siguientes propiedades:    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/managed-flink/latest/java/example-notebook-streams.html)

   Elija **Next** (Siguiente).

1. En la página siguiente, verifique su configuración y seleccione **Finalizar.**

1. Elija la tabla recién creada de la lista de tablas.

1. Elija **Editar tabla** y añada una propiedad con la clave `managed-flink.proctime` y el valor `proctime`.

1. Seleccione **Aplicar**.

## Creación de un cuaderno de Studio con Kinesis Data Streams
<a name="example-notebook-streams-create"></a>

Ahora que ha creado los recursos que utiliza su aplicación, cree su cuaderno de Studio. 

**Topics**
+ [Cree un bloc de notas de Studio con Consola de administración de AWS](#example-notebook-create-streams-console)
+ [Cree un bloc de notas de Studio con AWS CLI](#example-notebook-msk-create-api)

### Cree un bloc de notas de Studio con Consola de administración de AWS
<a name="example-notebook-create-streams-console"></a>

1. ¿Abrir la consola Managed Service for Apache Flink en [ https://console.aws.amazon.com/managed-flink/casa? region=us-east-1\$1/applications/panel](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard) de control. 

1. En la página de **Aplicaciones de Managed Service para Apache Flink**, seleccione la pestaña **Studio**. Seleccione **Crear cuaderno de Studio**.
**nota**  
También puede crear un cuaderno de Studio desde las consolas de Amazon MSK o Kinesis Data Streams seleccionando el clúster de Amazon MSK o la el flujo de datos de Kinesis de entrada y eligiendo **Procesar datos en tiempo real**.

1. En la página **Crear cuaderno de Studio**, proporcione la siguiente información:
   + Introduzca **MyNotebook** como nombre del cuaderno.
   + Elija el **valor predeterminado** para la **Base de datos de Glue de AWS **.

   Seleccione **Crear cuaderno de Studio**.

1. **En la página, selecciona Ejecutar. **MyNotebook**** Espere a que el **Estado** muestre **En ejecución**. Se aplican cargos cuando el cuaderno se está ejecutando.

### Cree un bloc de notas de Studio con AWS CLI
<a name="example-notebook-msk-create-api"></a>

Para crear tu bloc de notas de Studio con el AWS CLI, haz lo siguiente:

1. Verifique su ID de cuenta. Necesitará este valor para crear su aplicación.

1. Cree el rol `arn:aws:iam::AccountID:role/ZeppelinRole` y añada los siguientes permisos al rol creado automáticamente por consola.

   `"kinesis:GetShardIterator",`

   `"kinesis:GetRecords",`

   `"kinesis:ListShards"`

1. Cree un archivo denominado `create.json` con el siguiente contenido. Reemplace los valores de marcador de posición con su información.

   ```
   {
       "ApplicationName": "MyNotebook",
       "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
       "ApplicationMode": "INTERACTIVE",
       "ServiceExecutionRole": "arn:aws:iam::AccountID:role/ZeppelinRole",
       "ApplicationConfiguration": {
           "ApplicationSnapshotConfiguration": {
               "SnapshotsEnabled": false
           },
           "ZeppelinApplicationConfiguration": {
               "CatalogConfiguration": {
                   "GlueDataCatalogConfiguration": {
                       "DatabaseARN": "arn:aws:glue:us-east-1:AccountID:database/default"
                   }
               }
           }
       }
   }
   ```

1. Para crear su aplicación, ejecute el siguiente comando:

   ```
   aws kinesisanalyticsv2 create-application --cli-input-json file://create.json 
   ```

1. Una vez completado el comando, verá un resultado que muestra los detalles de su nuevo cuaderno de Studio. A continuación se muestra un ejemplo de la salida.

   ```
   {
       "ApplicationDetail": {
           "ApplicationARN": "arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook",
           "ApplicationName": "MyNotebook",
           "RuntimeEnvironment": "ZEPPELIN-FLINK-3_0",
           "ApplicationMode": "INTERACTIVE",
           "ServiceExecutionRole": "arn:aws:iam::012345678901:role/ZeppelinRole",
   ...
   ```

1. Para iniciar su aplicación, ejecute el siguiente comando. Sustituya los valores de muestra por su ID de la cuenta.

   ```
   aws kinesisanalyticsv2 start-application --application-arn arn:aws:kinesisanalyticsus-east-1:012345678901:application/MyNotebook\
   ```

## Envío de datos a su flujo de datos de Kinesis
<a name="example-notebook-streams-send"></a>

Para enviar los datos de prueba al flujo de datos de Kinesis, haga lo siguiente:

1. Abra el [Kinesis Data Generator](https://awslabs.github.io/amazon-kinesis-data-generator/web/help.html). 

1. Elija **Crear un usuario de Cognito con**. CloudFormation

1. La CloudFormation consola se abre con la plantilla de Kinesis Data Generator. Elija **Next** (Siguiente).

1. En la página **Especificar detalles de pila**, ingrese el nombre y la contraseña de su usuario de Cognito. Elija **Next** (Siguiente).

1. En la página **Configurar opciones de pila**, elija **Siguiente**.

1. En la página **Revisar un Kinesis-Data-Generator-Cognito usuario**, seleccione la opción **Acepto que AWS CloudFormation podría crear recursos de IAM**. casilla de verificación. Elija **Crear pila**.

1. Espera a que la CloudFormation pila termine de crearse. **Una vez completada la pila, abra la pila **Kinesis-Data-Generator-Cognito-User** en la consola y seleccione la pestaña Salidas. CloudFormation ** **KinesisDataGeneratorUrl**Abre la URL que aparece para el valor de salida.

1. En la página de **Amazon Kinesis Data Generator**, inicie sesión con las credenciales que creó en el paso 4.

1. En la siguiente página , especifique los valores siguientes:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/managed-flink/latest/java/example-notebook-streams.html)

   En **Plantilla de registro**, pegue el siguiente código:

   ```
   {
       "ticker": "{{random.arrayElement(
           ["AMZN","MSFT","GOOG"]
       )}}",
       "price": {{random.number(
           {
               "min":10,
               "max":150
           }
       )}}
   }
   ```

1. Elija **Enviar datos**.

1. El generador enviará los datos a su flujo de datos de Kinesis. 

   Deje el generador ejecutándose mientras completa la siguiente sección.

## Prueba de su cuaderno de Studio
<a name="example-notebook-streams-test"></a>

En esta sección, utilizará su cuaderno de Studio para consultar datos de su flujo de datos de Kinesis.

1. ¿Abrir la consola Managed Service for Apache Flink en [ https://console.aws.amazon.com/managed-flink/casa? region=us-east-1\$1/applications/panel](https://console.aws.amazon.com/managed-flink/home?region=us-east-1#/applications/dashboard) de control.

1. En la página de **Aplicaciones de Managed Service para Apache Flink**, seleccione la pestaña **Cuaderno de Studio**. Elija **MyNotebook**.

1. **En la página, selecciona Abrir en Apache Zeppelin. **MyNotebook****

   La interfaz de Apache Zeppelin se abre en una pestaña nueva.

1. En la página **¡Bienvenido a Zeppelin\$1**, elija la **Zeppelin Note**.

1. En la página **Zeppelin Note**, introduzca la siguiente consulta en una nota nueva:

   ```
   %flink.ssql(type=update)
   select * from stock
   ```

   Seleccione el icono de reproducción.

   Al cabo de poco tiempo, el cuaderno muestra los datos de la flujo de datos de Kinesis.

Para abrir el Panel de control de Apache Flink de su aplicación y ver los aspectos operativos, elija **TRABAJO DE FLINK**. Para obtener más información sobre el Panel de control de Flink, consulte [Apache Flink Dashboard](https://docs.aws.amazon.com/managed-flink/latest/java/how-dashboard.html) en la Guía para desarrolladores de [Managed Service para Apache Flink](https://docs.aws.amazon.com/).

Para ver más ejemplos de consultas SQL de Flink Streaming, consulte [Queries](https://nightlies.apache.org/flink/flink-docs-release-1.15/dev/table/sql/queries.html) en la [documentación de Apache Flink.](https://nightlies.apache.org/flink/flink-docs-release-1.15/)