Aspectos generales
El análisis interactivo permite la exploración del flujo 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 durante un periodo de tiempo y enviar los datos agregados a un 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 actualizarán continuamente conforme lleguen nuevos datos. Con Kinesis Data Analytics Studio puede implementar estas consultas para que se ejecuten de forma continua con escalado automático y copias de seguridad de estado duradero habilitadas.
Usar Apache Beam para crear su aplicación de Kinesis Data Analytics es muy similar a comenzar con Apache Flink. Siga las instrucciones de la pregunta anterior y asegúrese de instalar los componentes necesarios para que las aplicaciones se ejecuten en Apache Beam, según las instrucciones de la guía para desarrolladores. Tenga en cuenta que Kinesis Data Analytics solo es compatible con Java SDK cuando se ejecuta en Apache Beam.
Puede comenzar desde la consola de Amazon Kinesis Data Analytics y crear un nuevo bloc de notas de Studio. Una vez que empiece el bloc de notas, puede abrirlo en Apache Zeppelin para escribir inmediatamente código en SQL, Python o Scala. Puede desarrollar aplicaciones de forma interactiva mediante la interfaz del bloc de notas para Amazon Kinesis Data Streams, Amazon MSK y Simple Storage Service (Amazon S3) con las integraciones, y otras fuentes diversas con conectores personalizados. Puede utilizar todos los operadores compatibles con Apache Flink en Flink SQL y Table API para realizar consultas de secuencias de datos ad hoc y desarrollar su aplicación de procesamiento de flujo. Una vez que esté listo, con unos pocos clics, puede promover fácilmente su código a una aplicación de procesamiento de streaming en ejecución continua con escalado automático y estado duradero.
Sí, mediante el uso de los conectores de Apache Flink DataStream, las aplicaciones de Amazon Kinesis Data Analytics for Apache Flink pueden utilizar AWS Glue Schema Registry, una característica 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 Kinesis Data Analytics for Apache Flink. Consulte la documentación del usuario de Schema Registry para comenzar y obtener más información.
Conceptos clave
Administración de aplicaciones
- Monitoring Kinesis Data Analytics (Supervisión de Kinesis Data Analytics) en la Guía para desarrolladores de Amazon Kinesis Data Analytics para Apache Flink.
- Monitoreo de Kinesis Data Analytics en la Guía de Amazon Kinesis Data Analytics para desarrolladores de SQL.
- Monitoring Kinesis Data Analytics (Supervisión de Kinesis Data Analytics) en la Guía para desarrolladores SQL de Amazon Kinesis Data Analytics.
- Granting Permissions (Concesión de permisos) en la Guía para desarrolladores de Amazon Kinesis Data Analytics para Apache Flink.
- Concesión de permisos en la Guía de Amazon Kinesis Data Analytics para desarrolladores de Studio.
- Granting Permissions (Concesión de permisos) en la Guía de Amazon Kinesis Data Analytics para desarrolladores de SQL.
Precios y facturación
Se le cobra una tarifa por hora en función de la cantidad de unidades de procesamiento de Amazon Kinesis (o KPU) 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 Kinesis Data Analytics escala automáticamente el número de KPU requerido por su aplicación de procesamiento de transmisiones, tales como las demandas de memoria y cómputo varían en respuesta a la complejidad del procesamiento y la velocidad de datos de streaming procesados.
Para las aplicaciones de Apache Flink y Apache Beam, pagará una KPU adicional única por aplicación para la organización de aplicaciones. En las aplicaciones de Apache Flink y Apache Beam también paga por el almacenamiento de aplicaciones en ejecución y copias de seguridad de aplicaciones duraderas. El almacenamiento de aplicaciones en ejecución se utiliza para capacidades de procesamiento con estado en Amazon Kinesis Data Analytics y se paga por GB al mes. Las copias de seguridad de aplicaciones duraderas son opcionales, se pagan por GB al mes y proporcionan un punto de recuperación a un momento dado para las aplicaciones.
En el caso de Studio de Amazon Kinesis Data Analytics, en modo de desarrollo o interactivo, se le cobra una KPU adicional para la orquestación de aplicaciones y otra para el desarrollo interactivo. También se le cobra por la ejecución del almacenamiento de la aplicación. No se le cobra por las copias de seguridad duraderas de las aplicaciones.
Creación de aplicaciones de Apache Flink
Autorización de código de aplicación para aplicaciones mediante Apache Flink
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"));
- Orígenes de datos de streaming: Amazon Managed Streaming for Apache Kafka (Amazon MSK), Amazon Kinesis Data Streams Destinos 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)
Apache Flink también incluye otros conectores, como Apache Kafka, Apache Casssandra, Elasticsearch y más.
Sí. Puede usar aplicaciones de Kinesis Data Analytics para Apache Flink para replicar datos entre Amazon Kinesis Data Streams, Amazon MSK y otros sistemas. Un ejemplo presentado en la documentación demuestra cómo leer de un tema Amazon MSK y escribir en otro.
Creación de aplicaciones de Amazon Kinesis Data Analytics Studio
P: ¿Cómo puedo desarrollar una aplicación de Studio?
Puede comenzar desde las consolas de Studio de Amazon Kinesis Data Analytics, Amazon Kinesis Data Streams o Amazon MSK con unos pocos clics para lanzar un bloc de notas sin servidor para consultar inmediatamente secuencias 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 datos y ver la información en tiempo real sobre sus datos de streaming desde su bloc de notas, y desarrollar con facilidad aplicaciones de procesamiento de streaming 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 clic a una aplicación de procesamiento de streaming que procesa GB de datos por segundo, sin servidores.
Aplicación de procesamiento de streaming: una vez que tenga todo listo para promover su código a producción, puede crear su código mediante clics. Puede hacer clic en Deploy as stream processing application (Implementar como aplicación de procesamiento de streaming) en la interfaz del bloc de notas o enviar un único comando en la CLI, y Studio se encarga de toda la administración de la infraestructura necesaria para que ejecute su aplicación de procesamiento de streaming a escala, con escalado automático y estado duradero habilitado, al igual que en una aplicación de Amazon Kinesis Data Analytics 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 de streaming, como el de las ventanas. Tiene que utilizar %<interpreter> para especificar el idioma que se utilizará en una sección del cuaderno y puede cambiar fácilmente entre idiomas. Los intérpretes son complementos de Apache Zeppelin que permiten a los desarrolladores especificar un idioma o un motor de procesamiento de datos para cada sección del cuaderno. 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 llevar a cabo operaciones SQL, como escanear y filtrar (SELECT, WHERE), agregaciones (GROUP BY, GROUP BY WINDOW, HAVING), conjuntos (UNION, UNIONALL, INTERSECT, IN, EXISTS), orden (ORDER BY, LIMIT), uniones (INNER, OUTER, Timed Window -BETWEEN, AND, uniones con tablas temporales, es decir, tablas que siguen los cambios en el tiempo), Top N, desduplicación y reconocimiento de patrones. Algunas de estas consultas, como GROUP BY, OUTER JOIN 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, ALTER y DROP. Para obtener una lista completa de consultas y muestras, consulte https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/table/sql/queries.html.
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. Aquí, en nuestra documentación, puede encontrar una lista completa de las operaciones y muestran incluidas.
P: ¿Cuáles son las versiones compatibles de Apache Flink y Apache Zeppelin?
Para obtener información sobre las versiones compatibles de Apache Flink, consulte la página de notas de lanzamiento de Amazon Kinesis Data Analytics. Esta página también incluye las versiones de Apache Zeppelin, Apache Beam, Java y Python, y los SDK de AWS compatibles con Kinesis Data Analytics.
P: ¿Qué integraciones se admiten por defecto en una aplicación de Kinesis Data Analytics 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 adicionales y líneas de código de Apache Flink (Python, Scala o Java) para definir conexiones con todas las integraciones compatibles con Apache Flink, incluidos destinos como Amazon OpenSearch Service, Amazon ElastiCache for Redis, Amazon Aurora, Amazon Redshift, Amazon DynamoDB, Amazon Keyspaces, entre otros. Puede asociar los ejecutables de estos conectores personalizados cuando cree o configure su aplicación de Studio.
P: ¿Debo desarrollar con Kinesis Data Analytics Studio o con SQL de Kinesis Data Analytics?
Recomendamos comenzar con Kinesis Data Analytics Studio, ya que ofrece una experiencia de procesamiento de streaming más completa con un procesamiento de una sola vez. Kinesis Data Analytics Studio ofrece el desarrollo de aplicaciones de procesamiento de streaming en el lenguaje de su elección (SQL, Python y Scala), escala a GB/s de procesamiento, admite cálculos de larga duración durante horas o incluso días, actualiza código en cuestión de segundos, maneja múltiples streamings de entrada y trabaja con una variedad de streamings de entrada, como Amazon Kinesis Data Streams y Amazon MSK.
Creación de Kinesis Data Analytics para aplicaciones SQL
Para los nuevos proyectos, le recomendamos que utilice el nuevo Kinesis Data Analytics Studio en lugar de Kinesis Data Analytics para aplicaciones SQL. Kinesis Data Analytics Studio combina la facilidad de uso con las capacidades analíticas avanzadas, lo que le permite crear sofisticadas aplicaciones de procesamiento de streaming en cuestión de minutos.
Configuración de los elementos de entrada para aplicaciones SQL
Creación de código de aplicación para aplicaciones SQL
- Utilice siempre un enunciado SELECT en el contexto de un enunciado INSERT. Cuando selecciona filas, introduce resultados en otra transmisión en aplicación.
- Utilice un enunciado INSERT en el contexto de una bomba.
- Tiene que utilizar una bomba para hacer que un enunciado INSERT sea continuo y escribir a una transmisión en aplicación.
CREATE OR REPLACE STREAM "DESTINATION_SQL_STREAM" (
ticker_symbol VARCHAR(4),
change DOUBLE,
price DOUBLE);
CREATE OR REPLACE PUMP "STREAM_PUMP" AS
INSERT INTO "DESTINATION_SQL_STREAM"
SELECT STREAM ticker_symbol, change, price
FROM "SOURCE_SQL_STREAM_001";
Configuración de destinos en aplicaciones SQL
Comparación con otras soluciones de procesamiento de transmisiones
Acuerdo de nivel de servicios
P: ¿Qué se garantiza en el acuerdo de nivel de servicio de Amazon Kinesis Data Analytics?
Mediante el acuerdo de nivel de servicio de Amazon Kinesis Data Analytics se garantiza un porcentaje de tiempo de funcionamiento mensual de al menos 99,9 % para Amazon Kinesis Data Analytics.
P: ¿Cómo sé si reúno los requisitos para recibir un crédito de servicio del SLA?
Será elegible para recibir crédito según el acuerdo de servicio de Amazon Kinesis Data Analytics si más de una zona de disponibilidad en las que ejecuta una tarea, dentro de la misma región, 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 acuerdo, así como detalles sobre cómo enviar una reclamación, consulte la página de información del acuerdo de servicio de Amazon Kinesis.
Comience a utilizar 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.