¿Qué es Amazon Managed Service para Apache Flink? - 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.

¿Qué es Amazon Managed Service para Apache Flink?

Con Amazon Managed Service para Apache Flink, puede usar Java, Scala, Python o SQL para procesar y analizar los datos de streaming. El servicio le permite crear y ejecutar código en fuentes de streaming y fuentes estáticas para realizar análisis de series temporales, alimentar cuadros de mando en tiempo real y métricas.

Puede crear aplicaciones con el lenguaje que prefiera en Managed Service for Apache Flink mediante bibliotecas de código abierto basadas en Apache Flink. Apache Flink es un marco y un motor usados habitualmente para procesar flujos de datos.

Managed Service para Apache Flink proporciona la infraestructura subyacente para sus aplicaciones de Apache Flink. Gestiona las capacidades principales, como el aprovisionamiento de recursos informáticos, la resiliencia de la conmutación por error de AZ, la computación paralela, el escalado automático y las copias de seguridad de las aplicaciones (implementadas como puntos de control e instantáneas). Puede utilizar las características de programación de alto nivel de Flink (como operadores, funciones, fuentes y receptores) del mismo modo que las utiliza cuando aloja usted mismo la infraestructura de Flink.

Dispone de dos opciones para ejecutar sus trabajos de Flink con Amazon Managed Service para Apache Flink. Con Managed Service for Apache Flink, puede crear aplicaciones de Flink en Java, Scala o Python (y SQL integrado) mediante un IDE de su elección y las API Apache Flink Datastream o Table. Con Managed Service for Apache Flink Studio, puede consultar flujos de datos de forma interactiva en tiempo real y crear y ejecutar fácilmente aplicaciones de procesamiento de flujos utilizando SQL, Python y Scala estándares.

Puede seleccionar el método que mejor se adapte a su caso de uso. Si no está seguro, esta sección le ofrecerá una guía de alto nivel para ayudarle.

Antes de decidir si usar Amazon Managed Service para Apache Flink o Amazon Managed Service para Apache Flink Studio, debes considerar tu caso de uso.

Si planea utilizar una aplicación de larga duración que se encargue de cargas de trabajo como la transmisión de ETL o las aplicaciones continuas, debería considerar la posibilidad de utilizar el servicio gestionado para Apache Flink. Esto se debe a que puede crear su aplicación Flink utilizando las API de Flink directamente en el IDE que elija. El desarrollo local con su IDE también garantiza que pueda aprovechar los procesos y herramientas comunes del ciclo de vida de desarrollo de software (SDLC), como el control de versiones de código en Git, la automatización de CI/CD o las pruebas unitarias.

Si está interesado en la exploración de datos ad hoc, desea consultar datos de streaming de forma interactiva o crear paneles privados en tiempo real, Managed Service for Apache Flink Studio le ayudará a cumplir estos objetivos con tan solo unos clics. Los usuarios familiarizados con SQL pueden plantearse implementar directamente desde Studio una aplicación de larga duración.

nota

Puede convertir su portátil Studio en una aplicación de larga duración. Sin embargo, si desea integrarlas con sus herramientas de SDLC, como el control de versiones de código en Git y la automatización de CI/CD, o técnicas como las pruebas unitarias, le recomendamos Managed Service for Apache Flink que utilice el IDE que prefiera.

Puede crear aplicaciones con Java, Python y Scala en Managed Service for Apache Flink mediante las API de Apache Flink en el IDE que elija. Puede encontrar instrucciones sobre cómo crear aplicaciones mediante la API Flink Datastream y Table en la documentación. Puede seleccionar el idioma en el que crea su aplicación Flink y las API que utiliza para satisfacer mejor las necesidades de su aplicación y sus operaciones. Si no está seguro, esta sección proporciona una guía de alto nivel para ayudarle.

Las API de Apache Flink tienen diferentes niveles de abstracción que pueden afectar a la forma en que decida crear su aplicación. Son expresivas y flexibles y se pueden usar juntas para crear su aplicación. No tiene que usar solo una API de Flink. Puede obtener más información sobre las API de Flink en la documentación de Apache Flink.

Flink ofrece cuatro niveles de abstracción de API: Flink SQL, Table API, DataStream API y Process Function, que se utiliza junto con la API. DataStream Todos ellos son compatibles con Amazon Managed Service para Apache Flink. Se recomienda empezar con un nivel de abstracción más alto siempre que sea posible; sin embargo, algunas funciones de Flink solo están disponibles con la API de Datastream, donde puede crear su aplicación en Java, Python o Scala. Debería considerar la posibilidad de utilizar la API de Datastream si:

  • Necesita un control detallado sobre el estado

  • Desea aprovechar la posibilidad de llamar a una base de datos externa o a un punto final de forma asíncrona (por ejemplo, para realizar inferencias)

  • Desea utilizar temporizadores personalizados (por ejemplo, para implementar ventanas personalizadas o gestionar eventos tardíos)

  • Desea poder modificar el flujo de su aplicación sin restablecer el estado

nota

Elegir un idioma con la DataStream API:

  • SQL se puede incrustar en cualquier aplicación de Flink, independientemente del lenguaje de programación elegido.

  • Si planea usar la DataStream API, Python no admite todos los conectores.

  • Si necesita baja latencia y alto rendimiento, debería considerar Java/Scala independientemente de la API.

  • Si planea usar Async IO en la API de Process Functions, necesitará usar Java.

La elección de la API también puede afectar a su capacidad de desarrollar la lógica de la aplicación sin tener que restablecer el estado. Esto depende de una función específica, la capacidad de establecer el UID en los operadores, que solo está disponible en la DataStream API para Java y Python. Para obtener más información, consulte Configurar los UUID para todos los operadores en la documentación de Apache Flink.

Cómo empezar con las aplicaciones de transmisión de datos

Puede empezar por crear una aplicación de Managed Service para Apache Flink que lea y procese continuamente datos de streaming. A continuación, cree el código con el IDE que prefiera y pruébelo con datos de streaming en directo. También puede configurar los destinos a los que desea que Managed Service para Apache Flink envíe los resultados.

Para comenzar, le recomendamos que lea las secciones siguientes:

Como alternativa, puede empezar por crear una libreta de servicios gestionados para Apache Flink Studio que le permita consultar flujos de datos de forma interactiva en tiempo real y crear y ejecutar fácilmente aplicaciones de procesamiento de flujos utilizando SQL, Python y Scala estándares. Con unos pocos clics AWS Management Console, puede abrir un bloc de notas sin servidor para consultar flujos de datos y obtener resultados en cuestión de segundos. Para comenzar, le recomendamos que lea las secciones siguientes: