P: ¿Qué es Amazon Kinesis Data Analytics?

Amazon Kinesis Data Analytics ofrece la manera más sencilla de procesar y analizar datos de streaming en tiempo real. Con Amazon Kinesis Data Analytics, solo utiliza SQL para procesar las transmisiones de datos, por lo que no es necesario aprender ningún lenguaje de programación nuevo. Basta con apuntar Kinesis Data Analytics a una transmisión de datos de entrada, escribir las consultas en SQL y especificar dónde desea cargar los resultados. Kinesis Data Analytics se ocupa de ejecutar sus consultas en SQL de forma continua en los datos mientras están en tránsito y de enviar los resultados a los destinos.

P: ¿Qué es el procesamiento de transmisiones en tiempo real y por qué lo necesito?

Tras el significativo crecimiento de los orígenes de datos en tiempo real, nos llegan datos a una velocidad increíble. Tanto si se trata de datos de logs procedentes de aplicaciones móviles y web, datos de compra de sitios de comercio electrónico o datos de sensores de dispositivos IoT, proporcionan información que puede ayudar a las empresas a descubrir lo que sus clientes, organización y negocio están haciendo ahora mismo. Al disponer de visibilidad de los datos cuando llegan, puede monitorizar el negocio en tiempo real y aprovechar nuevas oportunidades comerciales con rapidez, como realizar ofertas promocionales a sus clientes en función de dónde se encuentran en un momento determinado, o monitorizar las opiniones en las redes sociales y los cambios de actitud de los clientes para identificar y aprovechar nuevas oportunidades.

Para aprovechar estas oportunidades, necesita un conjunto distinto de herramientas de análisis para recopilar y analizar datos de streaming en tiempo real en lugar de las soluciones que había disponibles anteriormente y que trataban los datos estáticos y almacenados. Con el análisis tradicional, recopila la información, la almacena en una base de datos y la analiza horas, días o semanas después. El análisis de datos en tiempo real requiere un enfoque distinto, así como herramientas y servicios diferentes. En lugar de ejecutar consultas en una base de datos con datos almacenados, las plataformas de procesamiento de streaming procesan los datos de forma constante antes de almacenarlos en una base de datos. Los datos de streaming fluyen a gran velocidad, la cual puede aumentar o disminuir todo el tiempo. Las plataformas de análisis de streaming deben poder procesar los datos cuando llegan, a menudo a velocidades de millones de eventos por hora.

P: ¿Qué puedo hacer con Kinesis Data Analytics?

Puede utilizar Kinesis Data Analytics en prácticamente cualquier caso de uso en el que recopile datos de forma constante en tiempo real y desee obtener información en cuestión de segundos o minutos, en lugar de esperar días o semanas. Específicamente, Kinesis Data Analytics le permite crear con rapidez aplicaciones de procesamiento de transmisiones completas para el análisis de logs, el análisis de secuencias de clics, Internet de las cosas (IoT), la tecnología publicitaria, los videojuegos y más. Los tres patrones de uso más comunes son el análisis de serie de tiempo, los paneles en tiempo real y las alarmas y notificaciones en tiempo real.

Generación de análisis de serie de tiempo

El análisis de serie de tiempo le permite monitorizar y comprender las tendencias de los datos con el paso del tiempo. Con Kinesis Data Analytics, puede crear código SQL que genere de forma constante un análisis de serie temporal en períodos de tiempo. Por ejemplo, puede crear una clasificación en vivo para un juego móvil al procesar los mejores jugadores cada minuto y enviar la información a Amazon S3. O puede monitorizar el tráfico de su sitio web calculando la cantidad de visitantes únicos cada cinco minutos y enviando los resultados procesados a Amazon Redshift.

Envíe datos a paneles en tiempo real

Puede crear aplicaciones que procesen los datos de las consultas y los envíen a un panel en vivo, de modo que pueda visualizar los datos casi en tiempo real. Por ejemplo, una aplicación puede calcular métricas empresariales de forma constante, como la cantidad de compras de un sitio de comercio electrónico, agrupadas por categoría de productos, y enviar los resultados a Amazon Redshift para su visualización con la herramienta de inteligencia empresarial que desee. Otro ejemplo podría ser una aplicación que procesa datos de logs y calcula el número de errores de la aplicación y envía los resultados a Amazon Elasticsearch Service para su visualización con Kibana.

Cree alarmas y notificaciones en tiempo real

Puede crear aplicaciones que envíen alarmas o notificaciones en tiempo real cuando determinadas métricas alcancen umbrales predeterminados o, en casos más avanzados, cuando su aplicación detecte anomalías mediante el algoritmo de aprendizaje virtual que proporcionamos. Por ejemplo, una aplicación puede procesar la disponibilidad o la tasa de éxito de una API de cara al cliente con el tiempo y enviar los resultados a Amazon CloudWatch. Puede crear otra aplicación que busque eventos que cumplan determinados criterios y notificar automáticamente a los clientes correspondientes mediante Kinesis Data Streams y Amazon Simple Notification Service (SNS).

P: ¿Cómo comienzo a usar Kinesis Data Analytics?

Inicie sesión en la consola de Kinesis Data Analytics y cree una nueva aplicación de procesamiento de transmisiones. También puede usar la CLI y los SDK de AWS. Puede crear una aplicación completa en tres pasos sencillos: 1) configure los datos de streaming de entrada, 2) escriba las consultas en SQL, y 3) apunte adónde desea que se carguen los datos. Kinesis Data Analytics reconoce formatos de datos estándar como JSON, CSV y TSV, y crea un esquema de referencia automáticamente. Puede modificar el esquema o, si los datos de entrada no están estructurados, puede definir un esquema nuevo con el editor de esquemas intuitivo. A continuación, el servicio aplica el esquema a la transmisión de entrada y hace que tenga el aspecto de una tabla SQL que se actualiza constantemente, para que pueda escribir consultas SQL. Para crear las consultas, utiliza el editor SQL. El editor SQL incorpora todas las características necesarias, incluida la comprobación de sintaxis y las pruebas con datos en vivo. También le proporcionamos plantillas que incluyen el código SQL para cualquier tarea, desde un filtro de transmisiones sencillo a la detección de anomalías y el análisis de los elementos K principales. Kinesis Data Analytics se ocupa del aprovisionamiento y el escalado elástico de toda la infraestructura para abastecer cualquier nivel de procesamiento de datos. No es necesario que planifique, aprovisione ni administre infraestructura.

P: ¿Qué límites tiene Kinesis Data Analytics?

Kinesis Data Analytics ajusta la escala de la aplicación de forma elástica para adaptarse al procesamiento de datos de su transmisión de origen y al nivel de complejidad de su consulta en la mayoría de las situaciones. No obstante, tenga en cuenta estos límites cuando utilice Amazon Kinesis Data Analytics:

  • Un registro no puede exceder los 50 KB. Puede dividir los registros de más de 50 KB en varios al configurar el esquema de entrada.
  • Puede crear hasta cinco aplicaciones de Kinesis Data Analytics por región de AWS en su cuenta. Puede aumentar este límite enviando una solicitud de incremento del límite de servicio.
  • Es posible que tenga que enviar las consultas de forma simultánea para mantener el ritmo de los datos de la transmisión. Para ello, puede especificar que su transmisión de datos de entrada se asigne a hasta 10 transmisiones en la aplicación.
  • El número máximo de unidades de procesamiento de Kinesis (KPU) es ocho.
  • Puede configurar la salida de la aplicación para que envíe resultados simultáneamente hasta a cuatro destinos.
  • El objeto de Amazon S3 que almacena datos de referencia puede tener un tamaño de hasta 1 GB.

P: ¿Qué es una aplicación de Kinesis Data Analytics?

Una aplicación es la entidad de Kinesis Data Analytics con la que trabaja. Las aplicaciones de Kinesis Data Analytics leen y procesan datos de streaming en tiempo real de forma constante. Usted escribe código de aplicación en SQL para procesar los datos de streaming de entrada y producir elementos de salida. A continuación, Kinesis Data Analytics escribe los elementos de salida en un destino configurado.

Cada aplicación posee tres componentes principales:

  • Entrada – El origen de streaming de su aplicación. En la configuración de entrada, asigna el origen de streaming a una transmisión de entrada en la aplicación. La transmisión en la aplicación se asemeja a una tabla que se actualiza constantemente, en la que puede realizar operaciones SQL SELECT e INSERT. Cada registro de entrada tiene un esquema asociado, que se aplica como parte de la inserción del registro en la transmisión en la aplicación.
  • Código de aplicación – Una serie de enunciados SQL que procesan entradas y producen salidas. En su forma más sencilla, el código de aplicación puede ser un único enunciado SQL que selecciona de una entrada de streaming e introduce los resultados en una salida de streaming. También puede ser una serie de enunciados SQL en los que la salida de uno alimenta la salida del siguiente enunciado SQL. Además, puede escribir código de aplicación para dividir una transmisión de entrada en varias y aplicar consultas adicionales para procesar estas transmisiones independientes. 
  • Salida – Puede crear una o más transmisiones en la aplicación para guardar resultados intermedios. Además, como opción, puede configurar la salida de una aplicación para que envíe datos de transmisiones en la aplicación específicas a un destino externo. 

P: ¿Qué es una transmisión en la aplicación?

Una transmisión en la aplicación es una entidad que almacena datos de forma constante en la aplicación, para que pueda realizar operaciones SQL SELECT e INSERT. La interacción con una transmisión en la aplicación es la misma que con una tabla SQL. Sin embargo, la transmisión difiere de la tabla, ya que los datos se actualizan constantemente. En su código de aplicación, puede crear transmisiones en la aplicación adicionales para almacenar los resultados intermedios de la consulta. Por último, la entrada y salida configuradas se representan en la aplicación como transmisiones en la aplicación.

P: ¿Qué elementos de entrada admite una aplicación de Kinesis Data Analytics?

Kinesis Data Analytics admite dos tipos de elementos de entrada: orígenes de datos de streaming y orígenes de datos de referencia. Un origen de datos de streaming consiste en datos generados constantemente que se envían a la aplicación para su procesamiento. Un origen de datos de referencia consiste en datos estáticos que su aplicación utiliza para enriquecer los datos procedentes de orígenes de streaming. Cada aplicación no puede tener más de un origen de datos de streaming ni más de un origen de datos de referencia. Una aplicación lee y procesa constantemente datos nuevos de orígenes de datos de streaming, incluidos Amazon Kinesis Data Streams o Amazon Kinesis Data Firehose. Una aplicación lee la totalidad de un origen de datos de referencia, incluida Amazon S3, para usarlo a fin de enriquecer el origen de datos de streaming mediante JOIN en SQL.

P: ¿Qué es un origen de datos de referencia?

Un origen de datos de referencia consiste en datos estáticos que su aplicación utiliza para enriquecer los datos procedentes de orígenes de streaming. Los datos de referencia se almacenan como objeto en el bucket de S3. Cuando se inicia la aplicación, Kinesis Data Analytics lee el objeto de S3 y crea una tabla SQL en la aplicación para almacenar los datos de referencia. Entonces, el código de aplicación puede incorporarse con una transmisión en la aplicación. Puede actualizar los datos de la tabla SQL llamando a la API UpdateApplication.

P: ¿Qué código de aplicación se admite?

Kinesis Data Analytics admite SQL ANSI con algunas extensiones al SQL estándar para facilitar el trabajo con datos de streaming. Además, Kinesis Data Analytics proporciona varios algoritmos de aprendizaje automático expuestos como funciones SQL, que incluyen la detección de anomalías, la aproximación de elementos K principales y la aproximación de elementos distintos.

P: ¿Qué destinos se admiten?

Kinesis Data Analytics admite hasta cuatro destinos por aplicación. Puede almacenar resultados SQL en Amazon S3, Amazon Redshift y Amazon Elasticsearch Service (mediante Amazon Kinesis Data Firehose) y Amazon Kinesis Data Streams. Puede escribir en un destino que no sea compatible directamente con Kinesis Data Analytics mediante el envío de los resultados SQL a Amazon Kinesis Data Streams y el uso de la integración con AWS Lambda para enviarlos al destino que elija.


P: ¿Cómo puedo configurar un origen de datos de streaming?

Un origen de datos de streaming puede ser una transmisión de datos de Amazon Kinesis o una transmisión de entrega de Amazon Kinesis Data Firehose. Su aplicación de Kinesis Data Analytics lee nuevos datos constantemente de los orígenes de datos de streaming a medida que llegan en tiempo real. Se puede acceder a los datos en su código SQL mediante una transmisión en la aplicación. Una transmisión en la aplicación actúa a modo de tabla SQL, ya que puede crear, introducir y seleccionar datos. Sin embargo, la diferencia es que una transmisión en la aplicación se actualiza constantemente con datos nuevos del origen de datos de streaming.

Puede utilizar la consola de administración de AWS para añadir un origen de datos de streaming. Puede obtener más información sobre los orígenes en la sección Configuring Application Input de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cómo puedo configurar un origen de datos de referencia?

Un origen de datos de referencia puede ser un objeto de Amazon S3. Su aplicación de Kinesis Data Analytics lee el objeto de S3 por completo cuando comienza a ejecutarse. Se puede acceder a los datos en su código SQL mediante una tabla. El caso de uso más común de un origen de datos de referencia es enriquecer los datos provenientes de un origen de datos de streaming con JOIN en SQL.

Con la CLI de AWS, puede añadir un origen de datos de referencia mediante la especificación del bucket de S3, el objeto, la función de IAM y el esquema asociado. Kinesis Data Analytics carga los datos cuando inicia la aplicación, y los vuelve a cargar cada vez que realiza una llamada a la API de actualización.

P: ¿Qué formatos de datos se admiten?

Kinesis Data Analytics detecta el esquema y analiza automáticamente los registros CSV y JSON cifrados con UTF-8 con la API DiscoverInputSchema. Este esquema se aplica a los datos leídos de la transmisión como parte de la inserción en una transmisión en la aplicación.

Para otros datos cifrados con UTF-8 sin delimitador, utiliza un delimitador distinto de CSV o, en casos en los que la API de descubrimiento no ha determinado el esquema en su totalidad, puede definir un esquema con el editor de esquemas interactivo o utilizar funciones de manipulación de cadenas para estructurar los datos. Para obtener más información, consulte la sección Using the Schema Discovery Feature and Related Editing de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cómo se expone mi transmisión de entrada al código SQL?

Kinesis Data Analytics aplica el esquema que haya especificado e introduce los datos en una o más transmisiones en la aplicación para los orígenes de streaming, y en una sola tabla SQL para los orígenes de referencia. El número por defecto de las transmisiones en aplicación es el que satisfaga las necesidades de la mayoría de sus casos de uso. Debería incrementarlo si cree que su aplicación no mantiene el ritmo de los datos más recientes de la transmisión de origen, definida por la métrica MillisBehindLatest de CloudWatch. La cantidad de transmisiones en aplicación necesarias depende del nivel de desempeño de su transmisión de origen y la complejidad de su consulta. El parámetro para especificar la cantidad de transmisiones en aplicación asignadas a su transmisión de origen se denomina paralelismo de entrada.


P: ¿Qué aspecto tiene el código de mi aplicación?

El código de la aplicación es una serie de enunciados SQL que procesan entradas y producen salidas. Estos enunciados SQL operan en transmisiones en aplicación y tablas de referencia. Una transmisión en aplicación es similar a una tabla que se actualiza de forma constante en la que realiza operaciones SQL SELECT e INSERT. Sus orígenes y destinos configurados están expuestos al código SQL mediante transmisiones en aplicación. También puede crear transmisiones en aplicación adicionales para almacenar resultados de consultas intermedios.

Puede utilizar el siguiente patrón para trabajar con transmisiones en aplicación:

  • 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. Utiliza una bomba para hacer que un enunciado INSERT sea continuo, y escribir a una transmisión en aplicación.
  • Utiliza una bomba para emparejar transmisiones en aplicación, seleccionando datos de una transmisión en aplicación e introduciéndolos en otra transmisión en aplicación.  

El siguiente código SQL proporciona una aplicación sencilla de trabajo:

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

Para obtener más información acerca del código de aplicación, consulte la sección Application Code de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cómo me ayuda Kinesis Data Analytics con la escritura de código SQL?

Kinesis Data Analytics incluye una biblioteca de plantillas de análisis para casos de uso comunes, incluidos filtros de streaming, períodos de tiempo excedidos y detección de anomalías. Puede acceder a estas plantillas desde el editor de SQL en la consola de administración de AWS. Después de crear una aplicación y dirigirse al editor de SQL, las plantillas estarán disponibles en la esquina superior izquierda de la consola.

P: ¿Cómo puedo realizar la detección de anomalías en tiempo real en Kinesis Data Analytics?

Kinesis Data Analytics incluye funciones SQL preparadas para varias tareas de análisis avanzado, incluida una de detección de anomalías. Puede realizar una llamada a esta función desde el código SQL para que detecte anomalías en tiempo real. Kinesis Data Analytics utiliza el algoritmo Random Cut Forest para implementar la detección de anomalías. Para obtener más información sobre Random Cut Forests, consulte el documento técnico Streaming Data Anomaly Detection.


P: ¿Cómo puedo configurar un destino?

El código de la aplicación, escribe la salida de los enunciados SQL en una o más transmisiones en aplicación. De forma opcional, puede agregar una configuración de salida a su aplicación para enviar todo lo escrito en transmisiones en aplicación específicas hasta a cuatro destinos externos. Los destinos externos pueden ser un bucket de Amazon S3, una tabla de Amazon Redshift, un dominio de Amazon Elasticsearch (mediante Amazon Kinesis Data Firehose) y una transmisión de datos de Amazon Kinesis. Cada aplicación es compatible con hasta cuatro destinos, que pueden ser una combinación de los anteriores. Para obtener más información, consulte la sección Configuring Output Streams de la Guía para desarrolladores de Kinesis Data Analytics.

P: Mi destino de preferencia no se admite directamente. ¿Cómo puedo enviar resultados SQL a este destino?

Puede utilizar AWS Lambda para escribir en un destino que no se admite directamente. Le aconsejamos que escriba los resultados en una transmisión de datos de Amazon Kinesis y, a continuación, utilice AWS Lambda para leer los resultados procesados y enviarlos al destino de su elección. Para obtener más información, consulte la sección Example: AWS Lambda Integration de la Guía para desarrolladores de Kinesis Data Analytics. Opcionalmente, puede utilizar una transmisión de entrega de Amazon Kinesis Data Firehose para cargar los datos en Amazon S3 y, a continuación, activar una función de AWS Lambda para leer los datos y enviarlos al destino que elija. Para obtener más información, consulte la sección Using AWS Lambda with Amazon S3 de la Guía para desarrolladores de AWS Lambda.

P: ¿Qué modelo de entrega proporciona Kinesis Data Analytics?

Kinesis Data Analytics utiliza un modelo de entrega de "al menos una vez" para el elemento de salida de la aplicación a los destinos configurados. Las aplicaciones de Kinesis Data Analytics tienen puntos de control internos, que son momentos determinados en los que los registros de salida se han entregado al destino sin que se haya producido ninguna pérdida de datos. El servicio utiliza los puntos de control necesarios para garantizar que los elementos de salida de la aplicación se entreguen al menos una vez en los destinos configurados. Para obtener más información sobre el modelo de entrega, consulte la sección Configuring Application Output de la Guía para desarrolladores de Kinesis Data Analytics.


P: ¿Cómo puedo monitorear las operaciones y el desempeño de mis aplicaciones de Kinesis Data Analytics?

AWS proporciona varias herramientas que puede utilizar para monitorear sus aplicaciones de Kinesis Data Analytics. Puede configurar algunas de estas herramientas para que realicen la monitorización por usted. Para obtener más información sobre cómo monitorear su aplicación, consulte la sección Monitoring Kinesis Analytics de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cómo puedo administrar y controlar el acceso a mis aplicaciones de Kinesis Data Analytics?

Kinesis Data Analytics necesita permisos para leer los registros de los orígenes de datos de streaming que especifique en su aplicación. Kinesis Data Analytics también necesita permisos para escribir los elementos de salida de su aplicación en las transmisiones de datos que especifique en la configuración de salida de la aplicación. Para conceder los permisos, puede crear funciones de IAM que Kinesis Data Analytics puede asumir. Los permisos que conceda a una función determinarán lo que Kinesis Data Analytics podrá hacer cuando el servicio asuma la función. Para obtener más información, consulte la sección Granting Permissions de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿De qué manera Kinesis Data Analytics ajusta la escala de mi aplicación?

Kinesis Data Analytics ajusta la escala de su aplicación elásticamente para adaptarse al procesamiento de datos de su transmisión de origen y al nivel de complejidad de su consulta en la mayoría de los casos. Kinesis Data Analytics aprovisiona capacidad mediante unidades de procesamiento de Amazon Kinesis (KPU). Una sola KPU le proporciona memoria (4 GB), así como la capacidad informática y redes correspondientes.
Cada origen de streaming se asigna a la transmisión en aplicación correspondiente. Si bien no es necesario para muchos clientes, puede usar las KPU de forma más eficaz si incrementa la cantidad de transmisiones en aplicación asignadas a su origen mediante la especificación del parámetro de paralelismo de entrada. Kinesis Data Analytics asigna las particiones del origen de datos de streaming de forma uniforme, como los fragmentos de una transmisión de datos de Amazon Kinesis, a la cantidad de transmisiones de datos en aplicación que haya especificado. Por ejemplo, si el origen de datos de streaming es una transmisión de datos de Amazon Kinesis de 10 fragmentos y especifica un paralelismo de entrada de dos, Kinesis Data Analytics asignará cinco fragmentos de Amazon Kinesis a dos transmisiones en aplicación con los nombres "SOURCE_SQL_STREAM_001" y "SOURCE_SQL_STREAM_002". Para obtener más información, consulte la sección Configuring Application Input de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cuáles son las prácticas recomendadas asociadas con la creación y la administración de mis aplicaciones de Kinesis Data Analytics?

Para obtener más información sobre las prácticas recomendadas, consulte la sección Best Practices de la Guía para desarrolladores de Kinesis Data Analytics, que abarca la administración de aplicaciones, la definición de esquemas de entrada, la conexión de elementos de salida y la creación de código de aplicación.


P: ¿Cómo consigo que un enunciado SQL determinado funcione correctamente?

Para obtener más información, consulte la sección Example Applications de la Guía para desarrolladores de Kinesis Data Analytics, que contiene varios ejemplos de SQL que puede utilizar. Además, la referencia SQL de Kinesis Data Analytics proporciona una guía detallada para la creación de enunciados SQL de streaming. Si se encuentra con algún problema, le aconsejamos que publique una pregunta en los foros de Amazon Kinesis.

P: Kinesis Data Analytics no ha podido detectar o encontrar mi esquema. ¿Cómo puedo usar Kinesis Data Analytics?

Para otros datos cifrados con UTF-8 sin delimitador, utiliza un delimitador distinto de CSV o, en casos en los que la API de descubrimiento no ha determinado el esquema en su totalidad, puede definir un esquema de forma manual o utilizar funciones de manipulación de cadenas para estructurar los datos. Para obtener más información, consulte la sección Using the Schema Discovery Feature and Related Editing de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cuáles son los parámetros importantes que debería monitorizar para asegurarme de que mi aplicación se está ejecutando de forma adecuada?

El parámetro más importante que debería monitorizar es la métrica MillisBehindLatest de CloudWatch, que indica a cuánta distancia del momento actual está leyendo de la transmisión. La métrica constituye un mecanismo eficaz para determinar si está procesando registros de la transmisión de origen lo suficientemente rápido. Debería configurar una alarma de CloudWatch de modo que se active si la diferencia es superior a una hora (la cifra depende de su caso de uso y se puede modificar según sea necesario). Puede obtener más información en la sección Best Practices de la Guía para desarrolladores de Kinesis Data Analytics.

P: ¿Cómo resuelvo errores de código no válido al ejecutar una aplicación de Kinesis Data Analytics?
Para obtener información acerca de errores de código no válido y resolución de problemas de su aplicación de Kinesis Data Analytics, consulte la sección de resolución de problemas en la Guía para desarrolladores de Amazon Kinesis Data Analytics.


P: ¿Cuánto cuesta Kinesis Data Analytics?

Con Kinesis Data Analytics, paga únicamente por lo que usa. Se le cobra una tarifa por hora en función de la cantidad media de unidades de procesamiento de Kinesis (KPU) que utilice para ejecutar la aplicación de procesamiento de transmisiones. La cifra se redondea a la KPU más cercana.

Una sola KPU es un recurso de procesamiento de transmisiones compuesto de memoria (4 GB), capacidad informática (1 vCPU) y las capacidades de red correspondientes. Como la memoria y el consumo informático de su aplicación de streaming varían durante el procesamiento, Kinesis Data Analytics ajusta la cantidad de KPU de forma elástica y automática, en función de la carga de trabajo de streaming. Kinesis Data Analytics no conlleva el aprovisionamiento de recursos, costos iniciales ni tarifas mínimas.

Para obtener más información sobre los precios, consulte la página de precios de Kinesis Data Analytics.

P: ¿Kinesis Data Analytics está disponible dentro de la capa gratuita de AWS?

No. En la actualidad, Kinesis Data Analytics no está disponible dentro de la capa gratuita de AWS. La capa gratuita de AWS es un programa que ofrece pruebas gratuitas de varios servicios de AWS.

P: ¿Se me cobraría una aplicación de Kinesis Data Analytics que está en ejecución pero no procesa ningún dato del origen?

Si la aplicación de Kinesis Data Analytics está en ejecución, se le cobrará un mínimo de una KPU.

P: Además de los costos de Kinesis Data Analytics, ¿podría incurrir en otros costos?

Kinesis Data Analytics es una solución de procesamiento de transmisiones completamente administrada, independiente del origen de streaming de la que lee datos y de los destinos en los que escribe los datos procesados. Se le facturarán de manera independiente los costos de uso de Kinesis Data Firehose y Kinesis Data Streams relacionados con las transmisiones de entrada y salida.

P: ¿Qué diferencias existen entre Kinesis Data Analytics y ejecutar mi propia aplicación con la biblioteca de clientes de Amazon Kinesis?

La biblioteca de clientes de Amazon Kinesis (KCL) es una biblioteca preintegrada que permite desarrollar aplicaciones de consumo para la lectura y el procesamiento de datos procedentes de una transmisión de datos de Amazon Kinesis. La KCL se encarga de administrar las cuestiones complejas, como la adaptación a los cambios de volumen de la transmisión de datos, el equilibrio de carga de los datos de streaming, la coordinación de servicios distribuidos y el procesamiento de datos con tolerancia a errores. La KCL le permite concentrarse en la lógica de negocio al desarrollar aplicaciones.

Con Kinesis Data Analytics, puede procesar los datos de transmisión y realizar consultas en tiempo real. Puede utilizar SQL estándar para procesar las transmisiones de datos, sin necesidad de aprender ningún lenguaje de programación nuevo. Basta con apuntar Kinesis Data Analytics a una transmisión de datos de entrada, escribir las consultas en SQL y especificar dónde desea que se carguen los resultados. Kinesis Data Analytics utiliza la KCL para leer datos de orígenes de datos de streaming como parte de la aplicación subyacente. El servicio lo libera de esta tarea, así como de muchos de los conceptos más complejos relacionados con el uso de la KCL, como los puntos de control.

Si desea una solución completamente administrada y quiere utilizar SQL para procesar los datos de su transmisión de datos, debería utilizar Kinesis Data Analytics. Utilice la KCL si necesita crear una solución de procesamiento personalizada y Kinesis Data Analytics no satisface sus requisitos particulares. De ese modo, podrá administrar la aplicación de consumo resultante.