Cree canalizaciones de streaming integrales con los esquemas de Amazon Managed Service para Apache Flink con un solo clic. Más información.
Aspectos generales
El análisis interactivo le ayuda a transmitir la exploración de datos en tiempo real. Con consultas o programas adecuados, puede inspeccionar flujos de Amazon MSK o Amazon Kinesis Data Streams y observar cómo se ven los datos en esos flujos. Por ejemplo, puede ver cómo se comporta una métrica en tiempo real que calcula el promedio sobre una ventana de tiempo y envía los datos agregados al destino de su elección. El análisis interactivo también ayuda con el desarrollo repetitivo de aplicaciones de procesamiento de flujo. Las consultas que cree se actualizan continuamente conforme lleguen nuevos datos. Con Amazon Managed Service para Apache Flink Studio, puede implementar estas consultas para que se ejecuten de forma continua con escalado automático y copias de seguridad de estado duradero habilitadas.
Introducción
Amazon Managed Service para Apache Flink ajusta la escala de la aplicación de manera elástica para adaptarse al procesamiento de datos de su flujo de origen y al nivel de complejidad de su consulta en la mayoría de las situaciones. Si desea obtener información detallada acerca de los límites del servicio de las aplicaciones de Apache Flink, consulte la sección Limits (Límites) en la Guía para desarrolladores de Amazon Managed Service para Apache Flink.
Sí, mediante el uso de los conectores de Apache Flink DataStream, las aplicaciones de Amazon Managed Service para Apache Flink pueden utilizar AWS Glue Schema Registry, una función sin servidor de AWS Glue. Puede integrar Apache Kafka, Amazon MSK y Amazon Kinesis Data Streams, como receptor u origen, con sus cargas de trabajo de Amazon Managed Service para Apache Flink. Consulte la guía para desarrolladores de AWS Glue Schema Registry para empezar y obtener más información.
Conceptos clave
- Entrada: la entrada es el origen de streaming de su aplicación. En la configuración de entrada, se asignan las fuentes de streaming a los flujos de datos. Los datos fluyen de sus orígenes de datos a sus flujos de datos. Se procesan los datos de estos flujos de datos al utilizar el código de la aplicación, al enviar datos procesados a sus flujos o destinos de datos posteriores. Las entradas se añaden dentro del código de la aplicación para las aplicaciones de Apache Flink y los bloc de notas de Studio y a través de la API de las aplicaciones de Amazon Managed Service para Apache Flink.
- Código de la aplicación: el código de la aplicación es una serie de operadores de Apache Flink que procesan elementos de entrada y producen elementos de salida. En su forma más simple, el código de la aplicación puede ser un único operador de Apache Flink que lee a partir de un flujo de datos asociado con un origen de streaming y escribe en otro flujo de datos asociado con un elemento de salida. En el caso de un bloc de notas de Studio, podría tratarse de una simple consulta selecta de SQL de Flink, con los resultados mostrados en contexto dentro del bloc de notas. Puede escribir el código de Apache Flink en los idiomas compatibles para las aplicaciones de Amazon Managed Service para Apache Flink o los blocs de notas de Studio.
- Salida: luego, si lo desea, puede configurar la salida de una aplicación para conservar los datos en un destino externo. Estos resultados se añaden dentro del código de aplicación para las aplicaciones de Amazon Managed Service para Apache Flink y los blocs de notas de Studio.
P: ¿Qué código de aplicación admite?
Administración de aplicaciones
- Supervisión de Amazon Managed Service para Apache Flink en la Guía para desarrolladores de Amazon Managed Service para Apache Flink.
- Supervisión de Amazon Managed Service para Apache Flink en la Guía para desarrolladores de Amazon Managed Service para Apache Flink Studio.
P: ¿Cómo administro y controlo el acceso a mis aplicaciones de Amazon Managed Service para Apache Flink?
- Concesión de permisos en la Guía para desarrolladores de Amazon Managed Service para Apache Flink.
- Concesión de permisos en la Guía para desarrolladores de Amazon Managed Service para Apache Flink Studio.
P: ¿Cómo escala mi aplicación Amazon Managed Service para Apache Flink?
Amazon Managed Service para Apache Flink ajusta la escala de su aplicación de manera elástica para adaptarse al procesamiento de datos de su flujo de origen y al nivel de complejidad de su consulta en la mayoría de los casos. Amazon Managed Service para Apache Flink aprovisiona la capacidad en forma de KPU de Amazon. Una KPU le proporciona 1 vCPU y 4 GB de memoria.
Precios y facturación
Se le cobra una tarifa por hora en función de la cantidad de KPU de Amazon que utilice para ejecutar su aplicación de streaming. Una sola KPU es una unidad de capacidad de procesamiento de secuencias compuesta de 1 vCPU de capacidad informática y 4 GB de memoria. Amazon Managed Service para Apache Flink escala automáticamente el número de KPU requerido por su aplicación de procesamiento de flujos, tales como las demandas de memoria y cálculo varían en respuesta a la complejidad del procesamiento y la velocidad de datos de streaming procesados.
Creación de aplicaciones de Apache Flink
Autorización de código de la aplicación para aplicaciones mediante Apache Flink en su IDE
DataStream <GameEvent> rawEvents = env.addSource(
New KinesisStreamSource(“input_events”));
DataStream <UserPerLevel> gameStream =
rawEvents.map(event - > new UserPerLevel(event.gameMetadata.gameId,
event.gameMetadata.levelId,event.userId));
gameStream.keyBy(event -> event.gameId)
.keyBy(1)
.window(TumblingProcessingTimeWindows.of(Time.minutes(1)))
.apply(...) - > {...};
gameStream.addSink(new KinesisStreamSink("myGameStateStream"));
Puede crear operadores personalizados si estos no satisfacen sus necesidades. Puede encontrar más ejemplos en la sección Operators (Operadores) de la Guía para desarrolladores de Amazon Managed Service para Apache Flink. Puede encontrar un listado detallado de los operadores de Apache Flink en la documentación de Apache Flink.
- Orígenes de datos de streaming: Amazon Managed Streaming para Apache Kafka (Amazon MSK), Destinos de Amazon Kinesis Data Streams o receptores: Amazon Kinesis Data Streams
- Amazon Kinesis Data Firehose, Amazon DynamoDB, Amazon Elasticsearch Service y Simple Storage Service (Amazon S3) (a través de integraciones de receptores de archivos)
P: ¿Las aplicaciones de Amazon Managed Service para Apache Flink pueden replicar datos en transmisiones y temas?
Creación de aplicaciones de Amazon Managed Service para Apache Flink Studio en un bloc de notas gestionado
P: ¿Cómo puedo desarrollar una aplicación de Studio?
Puede comenzar desde las consolas de Amazon Managed Service para Apache Flink Studio, Amazon Kinesis Data Streams o Amazon MSK en unos pocos pasos para lanzar un bloc de notas sin servidor para consultar inmediatamente flujos de datos y llevar a cabo análisis de datos interactivos.
Análisis de datos interactivos: puede escribir código en el bloc de notas en SQL, Python o Scala para interactuar con sus datos de streaming, y con tiempos de respuesta de consultas en segundos. Puede utilizar las visualizaciones integradas para explorar los dato, ver la información en tiempo real sobre sus datos de streaming desde su bloc de notas, y desarrollar aplicaciones de procesamiento de flujo con la tecnología de Apache Flink.
Una vez que su código esté listo para ejecutarse como una aplicación de producción, puede hacer la transición con un solo paso a una aplicación de procesamiento de flujo que procesa GB de datos por segundo, sin servidores.
Aplicación de procesamiento de flujo: una vez que esté listo para promover su código a producción, puede crearlo haciendo clic en “Deploy as stream processing application” (Implementar como aplicación de procesamiento de flujo) en la interfaz del bloc de notas o emitir un solo comando en la CLI. Studio se encarga de toda la gestión de la infraestructura necesaria para que pueda ejecutar su aplicación de procesamiento de flujo a escala, con el escalado automático y el estado duradero habilitados, al igual que en una aplicación de Amazon Managed Service para Apache Flink.
P: ¿Qué aspecto tiene el código de mi aplicación?
Puede escribir código en el bloc de notas en su lenguaje preferido de SQL, Python o Scala mediante la API de tablas de Apache Flink. La API de tablas es una abstracción de alto nivel y una API relacional que admite un superconjunto de capacidades de SQL. Ofrece operaciones conocidas, como seleccionar, filtrar, unir, agrupar por, agregar, etc., junto con conceptos específicos del flujo, como la creación de ventanas. Tiene que utilizar % para especificar el idioma que se utilizará en una sección del bloc de notas y puede cambiar fácilmente entre idiomas. Los intérpretes son complementos de Apache Zeppelin que le permiten especificar un idioma o un motor de procesamiento de datos para cada sección del bloc de notas. También puede crear funciones definidas por el usuario y referenciarlas para mejorar la funcionalidad del código.
P: ¿Qué operaciones SQL de archivos se admiten?
Puede realizar operaciones SQL como las siguientes:
- Escanear y filtrar (SELECT, WHERE [SELECCIONAR, DÓNDE])
- Agregaciones (GROUP BY, GROUP BY WINDOW, HAVING [AGRUPAR POR, AGRUPAR POR VENTANA, TENER])
- Conjunto (UNION, UNIONALL, INTERSECT, IN, EXISTS [UNIÓN, UNIONALL, CRUZAR, ADENTRO, EXISTE])
- Ordenar (ORDER BY, LIMIT [ORDENAR POR, LÍMITE])
- Uniones (INNER, OUTER, Timed Window: BETWEEN, AND, Joining with Temporal Tables – tables that track changes over time [INTERNA, EXTERNA, Ventana de tiempo: ENTRE, Y, Unir con tablas temporales: tablas que rastrean los cambios a lo largo del tiempo)
- Top-N
- Deduplicación
- Reconocimiento de patrones
Algunas de estas consultas, como GROUP BY (AGRUPAR POR), OUTER JOIN (UNIÓN EXTERNA) y Top N, son de actualización de resultados para datos de streaming, lo que significa que los resultados se actualizan continuamente a medida que se procesan los datos de streaming. También se admiten otras instrucciones DDL, como CREATE (CREAR), ALTER (MODIFICAR) y DROP (ARRASTRAR). Para obtener una lista completa de consultas y ejemplos, consulte la documentación de consultas sobre Apache Flink.
P: ¿De qué manera se admiten Python y Scala?
La API de tablas de Apache Flink es compatible con Python y Scala a través de la integración del lenguaje mediante cadenas de Python y expresiones de Scala. Las operaciones admitidas son muy similares a las operaciones SQL admitidas; entre ellas, seleccionar, ordenar, agrupar, unir, filtrar y crear ventanas. En nuestra Guía para desarrolladores, puede encontrar una lista completa de las operaciones y ejemplos.
P: ¿Cuáles son las versiones compatibles de Apache Flink y Apache Zeppelin?
Para obtener más información sobre las versiones compatibles de Apache Flink, visite la página de Notas de lanzamiento de Amazon Managed Service para Apache Flink. Esta página también incluye las versiones de Apache Zeppelin, Apache Beam, Java, Scala, Python y SDK de AWS compatibles con Amazon Managed Service para Apache Flink.
P: ¿Qué integraciones se admiten de forma predeterminada en una aplicación de Amazon Managed Service para Apache Flink Studio?
- Origen de datos: Amazon Managed Streaming para Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams, Amazon S3
- Destinos o máscaras: Amazon MSK, Amazon Kinesis Data Streams y Amazon S3
P: ¿Son compatibles las integraciones personalizadas?
Puede configurar integraciones adicionales con unos pocos pasos y líneas más de código de Apache Flink (Python, Scala o Java) para definir las conexiones con todas las integraciones compatibles con Apache Flink. Esto incluye destinos como Amazon OpenSearch Service, Amazon ElastiCache para Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces y más. Puede asociar los ejecutables de estos conectores personalizados cuando cree o configure su aplicación de Amazon Managed Service para Apache Flink Studio.
Acuerdo de nivel de servicios
P: ¿Qué garantiza el SLA de Amazon Managed Service para Apache Flink?
Nuestro acuerdo de nivel de servicio (service level agreement, SLA) garantiza un porcentaje de tiempo de actividad mensual de al menos el 99,9% para Amazon Managed Service para Apache Flink.
P: ¿Cómo sé si reúno los requisitos para recibir un crédito de servicio del SLA?
Puede obtener un crédito de servicio de SLA para Amazon Managed Service para Apache Flink en virtud del SLA de Amazon Managed Service para Apache Flink si más de una zona de disponibilidad en la que ejecuta una tarea, dentro de la misma región de AWS, tiene un porcentaje de tiempo de actividad mensual inferior al 99,9 % durante cualquier ciclo de facturación mensual. Para obtener información completa sobre los términos y las condiciones del SLA, así como detalles sobre cómo enviar una reclamación, consulte la página de información del SLA de Amazon Managed Service para Apache Flink.
Comience a utilizar Amazon Kinesis Data Analytics
Visite la página de precios de Amazon Kinesis Data Analytics.
Aprenda a usar Amazon Kinesis Data Analytics con esta guía paso a paso para SQL o Apache Flink.
Cree su primera aplicación de streaming a partir de la consola de Amazon Kinesis Data Analytics.