Creación de un cuaderno de Studio con Kinesis Data Streams - Managed Service para Apache Flink

Amazon Managed Service para Apache Flink Amazon se denominaba anteriormente Amazon Kinesis Data Analytics para Apache Flink.

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

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

Cumplir con los requisitos previos

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 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

Su cuaderno de Studio utiliza una AWS Glue 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. Del mismo modo, puede crear la tabla manualmente tal y como se describe en esta sección, o bien puede usar el código de conexión de creación de tablas para Managed Service for Apache Flink en su bloc de notas en Apache Zeppelin para crear la tabla mediante una declaración. DDL A continuación, puede comprobar si AWS Glue la tabla se ha creado correctamente.

Crear una tabla
  1. Inicie sesión en AWS Management Console y abra la AWS Glue consola en https://console.aws.amazon.com/glue/.

  2. 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.

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

  4. 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).

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

  6. En la página de clasificación, elija. JSON Elija Next (Siguiente).

  7. En la página Definir un esquema, elija Añadir columna para añadir una. Añada columnas con las siguientes propiedades:

    Nombre de la columna Tipo de datos
    ticker string
    price double

    Elija Next (Siguiente).

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

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

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

  11. Seleccione Aplicar.

Creación de un cuaderno de Studio con Kinesis Data Streams

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

Para crear su aplicación, puede utilizar el AWS Management Console o el AWS CLI.

Cree un cuaderno de Studio con el AWS Management Console

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

  2. 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 bloc de notas de Studio desde las consolas Amazon MSK o Kinesis Data Streams seleccionando el clúster de MSK Amazon o el flujo de datos de Kinesis de entrada y eligiendo Procesar datos en tiempo real.

  3. 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.

  4. En la MyNotebookpágina, selecciona Ejecutar. 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

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.

  2. 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"

  3. 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" } } } } }
  4. Para crear su aplicación, ejecute el siguiente comando:

    aws kinesisanalyticsv2 create-application --cli-input-json file://create.json
  5. 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", ...
  6. 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

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

  1. Abra el Kinesis Data Generator.

  2. Elija Crear un usuario de Cognito con. CloudFormation

  3. La AWS CloudFormation consola se abre con la plantilla Kinesis Data Generator. Elija Next (Siguiente).

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

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

  6. En la página Revisar Kinesis-Data-Generator-Cognito-User, elija Acepto que podría crear recursos. AWS CloudFormation IAM casilla de verificación. Elija Crear pila.

  7. Espera a que la AWS 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. AWS CloudFormation URLAbra KinesisDataGeneratorUrlla lista para el valor de salida.

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

  9. En la siguiente página , especifique los valores siguientes:

    Region us-east-1
    Stream/Firehose Stream ExampleInputStream
    Registros por segundo 1

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

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

  11. 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

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#/applications/panel de control.

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

  3. En la MyNotebookpágina, elija Abrir en Apache Zeppelin.

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

  4. En la página ¡Bienvenido a Zeppelin!, elija la Zeppelin Note.

  5. 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 para ver los aspectos operativos, elija. FLINKJOB Para obtener más información sobre el Panel de control de Flink, consulte Apache Flink Dashboard en la Guía para desarrolladores de Managed Service para Apache Flink.

Para ver más ejemplos de SQL consultas de Flink Streaming, consulte Consultas en la documentación de Apache Flink.