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.
Tutorial: Implemente un cuaderno Studio como un servicio gestionado para la aplicación Apache Flink con un estado duradero
El siguiente tutorial muestra cómo implementar un cuaderno de Studio como un servicio gestionado para una aplicación Apache Flink con estado duradero.
Este tutorial contiene las siguientes secciones:
Completar los requisitos previos
Cree un nuevo bloc de notas de Studio siguiendo lasTutorial: Crear un cuaderno de Studio en Managed Service para Apache Flink, utilizando Kinesis Data Streams o AmazonMSK. Asigne un nombre al cuaderno de Studio ExampleTestDeploy
.
Implementación de una aplicación con un estado duradero mediante la AWS Management Console
Agregue una ubicación de bucket S3 en la que desee almacenar el código empaquetado en la ubicación del código de la aplicación (opcional) en la consola. Esto permite seguir los pasos necesarios para implementar y ejecutar la aplicación directamente desde el cuaderno.
Añada los permisos necesarios al rol de la aplicación para habilitar el rol que está utilizando para leer y escribir en un bucket de Amazon S3 y para lanzar una aplicación Managed Service para Apache Flink:
Amazon S3 FullAccess
Amazon gestionó - flinkFullAccess
Acceso a sus fuentes, destinos y, según VPCs corresponda. Para obtener más información, consulte Revisa los IAM permisos de las libretas Studio.
Consulte el siguiente código de muestra:
%flink.ssql(type=update) CREATE TABLE exampleoutput ( 'ticket' VARCHAR, 'price' DOUBLE ) WITH ( 'connector' = 'kinesis', 'stream' = 'ExampleOutputStream', 'aws.region' = 'us-east-1', 'scan.stream.initpos' = 'LATEST', 'format' = 'json' );
INSERT INTO exampleoutput SELECT ticker, price FROM exampleinputstream
Al lanzar esta característica, verá un nuevo menú desplegable en la esquina superior derecha de cada nota de su cuaderno con el nombre del cuaderno. Puede hacer lo siguiente:
Consulte la configuración del cuaderno de Studio en AWS Management Console.
Cree su Zeppelin Note y expórtelo a Amazon S3. En ese momento, proporcione un nombre para la aplicación y seleccione Crear y exportar. Recibirá una notificación cuando se complete la exportación.
Si lo necesita, puede ver y ejecutar cualquier prueba adicional en el ejecutable en Amazon S3.
Una vez completada la compilación, podrá implementar su código como una aplicación de streaming de Kinesis con estado duradero y escalado automático.
Utilice el menú desplegable y elija Deploy Zeppelin Note as Kinesis streaming application (Implementar Zeppelin Note como aplicación de streaming de Kinesis). Revise el nombre de la aplicación y elija Implementar mediante AWS consola.
Esto lo llevará a la AWS Management Console página para crear una aplicación de servicio gestionado para Apache Flink. Tenga en cuenta que el nombre de la aplicación, el paralelismo, la ubicación del código, la base de datos de Glue predeterminada VPC (si corresponde) y las IAM funciones se han rellenado previamente. Comprueba que los IAM roles tengan los permisos necesarios para acceder a tus orígenes y destinos. Las instantáneas están habilitadas de forma predeterminada para una administración duradera del estado de las aplicaciones.
Elija Crear aplicación.
Puede elegir configurar y modificar cualquier configuración y seleccionar Ejecutar para iniciar la aplicación de streaming.
Implementación de una aplicación con un estado duradero mediante la AWS CLI
Para implementar una aplicación mediante el AWS CLI, debe actualizar su modelo de servicio AWS CLI para usar el que se proporciona con la información de la versión beta 2. Para obtener información acerca de cómo utilizar el modelo de servicio actualizado, consulte Cumplir con los requisitos previos.
El siguiente ejemplo de código inicia un cuaderno de Studio:
aws kinesisanalyticsv2 create-application \ --application-name <app-name> \ --runtime-environment ZEPPELIN-FLINK-3_0 \ --application-mode INTERACTIVE \ --service-execution-role <iam-role> --application-configuration '{ "ZeppelinApplicationConfiguration": { "CatalogConfiguration": { "GlueDataCatalogConfiguration": { "DatabaseARN": "arn:aws:glue:us-east-1:<account>:database/<glue-database-name>" } } }, "FlinkApplicationConfiguration": { "ParallelismConfiguration": { "ConfigurationType": "CUSTOM", "Parallelism": 4, "ParallelismPerKPU": 4 } }, "DeployAsApplicationConfiguration": { "S3ContentLocation": { "BucketARN": "arn:aws:s3:::<s3bucket>", "BasePath": "/something/" } }, "VpcConfigurations": [ { "SecurityGroupIds": [ "<security-group>" ], "SubnetIds": [ "<subnet-1>", "<subnet-2>" ] } ] }' \ --region us-east-1
El siguiente ejemplo de código inicia un cuaderno de Studio:
aws kinesisanalyticsv2 start-application \ --application-name <app-name> \ --region us-east-1 \ --no-verify-ssl
El siguiente código devuelve la página del URL bloc de notas de Apache Zeppelin de una aplicación:
aws kinesisanalyticsv2 create-application-presigned-url \ --application-name <app-name> \ --url-type ZEPPELIN_UI_URL \ --region us-east-1 \ --no-verify-ssl