{"id":1428,"date":"2025-11-22T19:04:00","date_gmt":"2025-11-22T19:04:00","guid":{"rendered":"https:\/\/cloudlab.urv.cat\/catedracloud\/?p=1428"},"modified":"2026-02-04T23:16:24","modified_gmt":"2026-02-04T23:16:24","slug":"apache-flink-y-la-inteligencia-artificial-del-streaming-al-futuro-de-la-inferencia-en-tiempo-real","status":"publish","type":"post","link":"https:\/\/cloudlab.urv.cat\/catedracloud\/2025\/11\/22\/apache-flink-y-la-inteligencia-artificial-del-streaming-al-futuro-de-la-inferencia-en-tiempo-real\/","title":{"rendered":"Apache Flink y la Inteligencia Artificial: del streaming al futuro de la inferencia en tiempo real"},"content":{"rendered":"\n<figure class=\"wp-block-pullquote\"><blockquote><p>La computaci\u00f3n en streaming se ha convertido en un pilar clave del procesamiento de datos moderno, y Apache Flink es hoy d\u00eda uno de sus exponentes m\u00e1s s\u00f3lidos. Flink ha demostrado ser capaz de procesar flujos de eventos a escala industrial con latencias de sub-segundo, soportando garant\u00edas de <em>exactly-once<\/em> y procesamiento con estado, lo que le ha llevado a convertirse en el est\u00e1ndar de facto para sistemas de an\u00e1lisis en tiempo real. Empresas globales como Amazon, Netflix o Uber conf\u00edan en Flink para alimentar sus pipelines de datos continuos a gran escala. Al mismo tiempo, las tendencias emergentes del mercado \u2014arquitecturas <em>cloud-native<\/em>, lagos de datos (<em>data lakes<\/em>) y especialmente las necesidades de la inteligencia artificial\u2014 han planteado nuevos retos: las aplicaciones de IA actuales demandan datos frescos y ricos en contexto para generar resultados precisos. Por ello, la comunidad Flink ha emprendido un ambicioso esfuerzo para integrar la IA con el procesamiento en streaming. En la reciente versi\u00f3n Flink 2.x se han introducido m\u00faltiples innovaciones destinadas a que Flink sirva como plataforma unificada de datos y IA en tiempo real.<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Antecedentes: computaci\u00f3n en streaming y Apache Flink<\/h2>\n\n\n\n<p>La <strong>computaci\u00f3n en streaming<\/strong> es un paradigma en el que las aplicaciones se construyen sobre flujos de eventos continuos. A diferencia de los sistemas por lotes (<em>batch<\/em>), el objetivo es procesar datos en el momento en que llegan para generar resultados de forma inmediata. En este contexto, Apache Flink surgi\u00f3 como un motor de c\u00f3digo abierto dise\u00f1ado desde el inicio para manejar tanto <em>bounded<\/em> como <em>unbounded streams<\/em>. Flink procesa flujos de datos de entrada producidos por fuentes (bases de datos, colas de mensajes, sensores, etc.) y produce flujos de salida que se entregan a sistemas destino, todo en una canalizaci\u00f3n persistente y escalable.<\/p>\n\n\n\n<p>Una de las caracter\u00edsticas distintivas de Flink es su <strong>soporte robusto para procesamiento con estado distribuido y exactamente una vez<\/strong>. Desde su versi\u00f3n 1.0, Flink introdujo la capacidad de mantener estados complejos por clave y garantizar <em>exactly-once<\/em> durante reinicios o fallos, lo que hizo realidad el procesamiento <em>stateful<\/em> end-to-end sobre streams. Adem\u00e1s, Flink ofrece APIs unificadas que permiten escribir programas en Java, Scala, Python o SQL, soportando de forma combinada <em>streaming<\/em> y <em>batch processing<\/em>. Esto le confiere flexibilidad para abordar casos de uso variados: desde pipelines ETL en streaming y an\u00e1lisis en tiempo real, hasta aplicaciones impulsadas por eventos que reaccionan autom\u00e1ticamente a sucesos en los datos. Su madurez y comunidad activa han llevado a Flink a ser utilizado tanto por grandes corporaciones como por empresas medianas con necesidades de an\u00e1lisis en tiempo real.<\/p>\n\n\n\n<p>Con el paso de los a\u00f1os, la arquitectura de Flink se ha adaptado al mundo <em>cloud-native<\/em>. Flink se integra con contenedores y Kubernetes, simplificando su despliegue en la nube. De hecho, hoy muchos proveedores de nube ofrecen servicios gestionados de Flink (por ejemplo, Alibaba Cloud). En el ecosistema de datos moderno, Flink suele actuar como un &#8220;puente en tiempo real&#8221; que captura eventos provenientes de sistemas operacionales (bases de datos relacionales, colas de mensajes, aplicaciones web, IoT, etc.), los procesa con l\u00f3gica compleja (por ejemplo, agregaciones de ventanas, joins, enriquecimiento de datos) y a continuaci\u00f3n sincroniza los resultados con almacenes de datos anal\u00edticos o <em>data lakes<\/em>.<\/p>\n\n\n\n<p>La necesidad de soporte nativo para almacenes de datos en streaming ha llevado a la creaci\u00f3n de proyectos complementarios. Un ejemplo es <strong>Apache Paimon<\/strong> (antes Flink Table Store), incubado por la comunidad Flink en 2022. Paimon es un formato de datos optimizado para actualizaciones en tiempo real sobre lagos de datos, complementando as\u00ed formatos tradicionales (<em>e.g.<\/em> Iceberg, Delta) que fueron pensados para procesamiento por lotes. Gracias a la combinaci\u00f3n de Flink + Paimon surge el concepto de <em>Streaming Lakehouse<\/em>, en el que Flink entrega datos frescos minuto a minuto a un almac\u00e9n de datos actualizable en tiempo real.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Inteligencia Artificial en Flink y avances recientes<\/h2>\n\n\n\n<p>En la era actual, las plataformas de datos ya no solo alimentan anal\u00edticas hist\u00f3ricas, sino que deben nutrir sistemas de inteligencia artificial capaces de reaccionar en tiempo real. La <strong>IA generativa<\/strong>, en particular, impulsa cargas de trabajo que dependen cr\u00edticamente de datos recientes y contextuales. Como destaca la prensa especializada, los <em>workloads<\/em> de IA requieren constantemente datos frescos; de lo contrario, aplicaciones como chatbots de servicio al cliente o sistemas de recomendaci\u00f3n no podr\u00edan ofrecer respuestas precisas ni relevantes. Por ello, Flink est\u00e1 evolucionando para integrar capacidades de IA directamente en los pipelines de streaming.<\/p>\n\n\n\n<p>En el n\u00facleo de esta evoluci\u00f3n se encuentra <a href=\"https:\/\/flink.apache.org\/2025\/03\/24\/apache-flink-2.0.0-a-new-era-of-real-time-data-processing\/#:~:text=The%20Flink%20CDC%203,AI%20value%20in%20data%20streams\">Flink 2.0, lanzado en marzo de 2025 como la primera gran versi\u00f3n en la serie 2.x en casi una d\u00e9cada<\/a>. Flink 2.0 responde a los desaf\u00edos del contexto actual: costes operativos elevados, complejidad de aprendizaje y nuevas demandas como la de los modelos de IA y LLMs. Seg\u00fan el blog oficial, Flink 2.0 apunta a hacer el computo en tiempo real m\u00e1s accesible y eficiente, permitiendo a las organizaciones adoptar capacidades de tiempo real en todo el espectro de <em>big data<\/em> y <em>AI<\/em>. De hecho, el mismo anuncio indica que, a medida que \u201cla IA y los LLMs ganan prominencia, la demanda de soluciones de procesamiento de datos en tiempo real escalables aumenta. Los avances de Flink 2.0 en rendimiento, eficiencia y facilidad de uso le posicionan como base s\u00f3lida para flujos de trabajo de IA\u201d.<\/p>\n\n\n\n<p>Algunas de las innovaciones claves de Flink 2.0 facilitan directamente el soporte para IA en streaming. Por ejemplo, se ha mejorado la <strong>gesti\u00f3n de estado<\/strong> para entornos <em>cloud-native<\/em> (almacenamiento de estado desagregado, ejecuciones as\u00edncronas, etc.), lo que permite mantener modelos y datos intermedios de forma m\u00e1s eficiente en la nube. Tambi\u00e9n se introdujeron las <strong>Materialized Tables<\/strong> en Flink SQL, abstra\u00eddas sobre <em>tables<\/em> relacionales en streaming, unificando en muchos casos los modos <em>stream\/batch<\/em> y simplificando la l\u00f3gica para el desarrollador. Estos avances no son espec\u00edficos de IA, pero crean una base \u00f3ptima de rendimiento y escalabilidad necesaria cuando se integran modelos de aprendizaje autom\u00e1tico en las canalizaciones de datos.<\/p>\n\n\n\n<p>En cuanto al aspecto puramente de IA, Flink ha incorporado funciones especializadas para inferencia en tiempo real. A partir de Flink 2.0 se a\u00f1adi\u00f3 una <strong>sintaxis dedicada en SQL para modelos de IA<\/strong>. Esto significa que los usuarios pueden declarar un modelo de IA como si fuera un objeto de cat\u00e1logo (usando, por ejemplo, <code>CREATE MODEL<\/code>) e invocarlo dentro de consultas SQL con funciones espec\u00edficas. Por ejemplo, Confluent muestra c\u00f3mo registrar un modelo remoto (<em>remote<\/em>) en Flink proporcionando el <em>endpoint<\/em> del proveedor y credenciales, y luego usar la funci\u00f3n <code>ML_PREDICT<\/code> como parte de una consulta. Esta funci\u00f3n, introducida en Flink 2.0\/2.1, permite efectuar la inferencia del modelo en streaming sin bloquear el flujo de datos. En la pr\u00e1ctica, el programa Flink env\u00eda solicitudes as\u00edncronas al servidor de modelos (que puede ser OpenAI, SageMaker, Vertex AI, Azure, etc.) y procesa las respuestas de manera no bloqueante, maximizando el rendimiento del pipeline incluso ante altas tasas de petici\u00f3n.<\/p>\n\n\n\n<p>Un caso de uso concreto es la <strong>generaci\u00f3n de embeddings<\/strong> para <em>Retrieval-Augmented Generation (RAG)<\/em>. Por ejemplo, tras declarar un modelo de embebido (embedding) con un <code>CREATE MODEL<\/code>, una consulta SQL puede usar <code>ML_PREDICT<\/code> para convertir en vectores los textos de eventos en tiempo real. El resultado se puede usar luego para b\u00fasquedas vectoriales que alimenten sistemas de IA conversacional o de recomendaci\u00f3n en tiempo real. Esto es especialmente \u00fatil en flujos donde se quiera alimentar un modelo de lenguaje con datos actualizados de usuarios o transacciones.<\/p>\n\n\n\n<p>Adem\u00e1s de las mejoras en Flink SQL, Flink CDC (Change Data Capture) ha ganado soporte nativo de IA. En la versi\u00f3n 3.3 del conector Flink CDC, se introdujeron capacidades de <strong>invocaci\u00f3n din\u00e1mica de modelos de IA en expresiones de transformaci\u00f3n<\/strong>. Ahora es posible, por ejemplo, aplicar directamente un modelo de chat o de embedding de OpenAI sobre los datos que Flink CDC captura de una base de datos en tiempo real. Esto integra el procesamiento de Flink con tecnolog\u00eda RAG: tras captar los cambios en una base de datos, se pueden usar los modelos de IA para an\u00e1lisis sem\u00e1ntico, clasificaci\u00f3n inteligente o detecci\u00f3n de anomal\u00edas casi al instante. La documentaci\u00f3n oficial destaca que esta integraci\u00f3n permite \u201cun procesamiento de baja latencia en escenarios de riesgo en tiempo real, recomendaciones personalizadas y an\u00e1lisis inteligente de logs, desbloqueando el valor de IA en tiempo real en los streams de datos\u201d.<\/p>\n\n\n\n<p>Por su parte, la comunidad y la industria han impulsado soluciones pr\u00e1cticas para simplificar la inferencia en Flink. Por ejemplo, Confluent ha promovido un enfoque en el que los modelos de IA se despliegan en servidores externos, mientras Flink se encarga de orquestar los datos. En este esquema, Flink realiza consultas a APIs de modelos de forma as\u00edncrona: el texto de los eventos de entrada se env\u00eda al servidor modelo y la predicci\u00f3n retorna al flujo para continuar con la l\u00f3gica de la aplicaci\u00f3n. La plataforma <em>Confluent Cloud para Flink<\/em> habilita sentencias SQL sencillas para invocar motores de IA como OpenAI, SageMaker o Azure directamente desde Flink. Esto significa que las empresas podr\u00e1n orquestar limpieza y procesamiento de datos y a la vez ejecutar inferencia de IA en un mismo pipeline de Flink, usando un \u00fanico lenguaje declarativo (SQL).<\/p>\n\n\n\n<p>Otro avance interesante son los <strong>Flink Agents<\/strong>, un proyecto open-source iniciado por Alibaba, Confluent, Ververica y LinkedIn. Flink Agents es un marco para construir agentes de IA <em>basados en eventos<\/em> aprovechando el motor de Flink. Permite definir flujos de trabajo de agentes que reaccionan a eventos del sistema (por ejemplo, detecci\u00f3n de fraudes, an\u00e1lisis de sentimiento, operaciones de IAOps) empleando patrones como ReAct y con APIs en Java y Python. Gracias al backend de estado de Flink (que act\u00faa como \u201cmemoria\u201d persistente del agente) y a su ejecuci\u00f3n distribuida fiable, los agentes construidos sobre Flink pueden manejar escalas de eventos masivas con tolerancia a fallos. Este enfoque ilustr\u00f3 c\u00f3mo Flink est\u00e1 preparado para la \u201cIA de agentes\u201d del futuro: aplicaciones de IA que no solo responden a consultas de usuarios, sino que se activan y aprenden continuamente de eventos reales en la empresa.<\/p>\n\n\n\n<p>Finalmente, Flink 2.x ha reforzado la idea de ser una plataforma <strong>unificada de datos + IA<\/strong>. En su blog de lanzamiento, la comunidad destaca que Flink 2.1 <em>\u201cintegra de forma transparente el procesamiento de datos en tiempo real con modelos de IA, permitiendo a las empresas avanzar del an\u00e1lisis en tiempo real a la toma de decisiones inteligentes en tiempo real\u201d<\/em>. Con caracter\u00edsticas como los DDL de modelo de IA y el TVF ML_PREDICT ampliado, Flink est\u00e1 llevando la inferencia en tiempo real al n\u00facleo del motor de streaming.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Perspectivas futuras<\/h2>\n\n\n\n<p>Mirando hacia adelante, los creadores de Flink sostienen que <strong>toda aplicaci\u00f3n de IA necesitar\u00e1 datos en tiempo real<\/strong> para ser efectiva. Los modelos de IA modernos son cada vez m\u00e1s grandes y sofisticados, pero su eficacia depende de datos de alta calidad y frescura. Flink est\u00e1 bien posicionado para habilitar esta nueva generaci\u00f3n de aplicaciones inteligentes. El mismo an\u00e1lisis de la comunidad enfatiza que sin datos actualizados, chatbots o sistemas de recomendaci\u00f3n perder\u00e1n precisi\u00f3n, mientras que Flink puede \u201ctransformar los sistemas de IA generativa\u201d asegurando que siempre reciban la informaci\u00f3n m\u00e1s reciente.<\/p>\n\n\n\n<p>Por ello, se espera que las pr\u00f3ximas versiones de Flink profundicen a\u00fan m\u00e1s esta integraci\u00f3n. Ya se ha mencionado la posible introducci\u00f3n de nuevas funciones tipo <code>ML_EVALUATE<\/code> o <code>VECTOR_SEARCH<\/code> para completar el ciclo de entrenamiento e inferencia. Asimismo, Flink 2.0 introdujo la idea de una <strong>\u201dfunci\u00f3n de IA\u201d en Flink SQL<\/strong>: se trata de una funcionalidad que permite llamar directamente a servicios de modelos de lenguaje (siguiendo el protocolo de OpenAI, por ejemplo) y realizar b\u00fasquedas vectoriales dentro de consultas SQL. Esta capacidad abre la puerta a realizar an\u00e1lisis sem\u00e1ntico en tiempo real junto con las operaciones normales de SQL.<\/p>\n\n\n\n<p>En el \u00e1mbito de <em>agents<\/em>, el proyecto Flink Agents seguir\u00e1 evolucionando para simplificar la construcci\u00f3n de sistemas IA basados en eventos. Adem\u00e1s, es probable que veamos a\u00fan mayor enfoque en el soporte de aceleradores de hardware (como GPUs para inferencia en streaming), as\u00ed como integraciones adicionales con frameworks de ML\/IA emergentes. Tambi\u00e9n es posible que Flink incorpore mecanismos m\u00e1s avanzados de aprendizaje en l\u00ednea (<em>online learning<\/em>) o retroalimentaci\u00f3n de inferencia en tiempo real. En resumen, el enfoque futuro de Flink parece dirigido a ofrecer una plataforma robusta para todo el ciclo de datos+IA: desde la ingesta en tiempo real, el almacenamiento de estado, la inferencia de modelo, hasta la retroalimentaci\u00f3n y aprendizaje continuos.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>En definitiva, Apache Flink ha evolucionado desde ser un motor l\u00edder de procesamiento de eventos en tiempo real hacia una plataforma integral que abraza la inteligencia artificial. Los lanzamientos recientes (especialmente la serie 2.x) reflejan un compromiso claro con facilitar la inferencia en streaming y el uso de modelos de IA directamente en las canalizaciones de datos. Gracias a sus garant\u00edas de estado y bajo latencia, Flink permite que los sistemas de IA consuman datos frescos al instante, mejorando dr\u00e1sticamente la relevancia de sus respuestas. Con sus nuevas funcionalidades de AI (tales como la sintaxis de modelo en SQL y la funci\u00f3n ML_PREDICT) y proyectos innovadores como Flink Agents, Flink se posiciona como una base s\u00f3lida para la nueva era de an\u00e1lisis inteligente en tiempo real. En conjunto, estas mejoras preparan el camino para un futuro en el que los sistemas de IA interact\u00faan de forma din\u00e1mica con el mundo real, habilitados por la capacidad de Flink para procesar y alimentar flujos de datos frescos y contextuales sin interrupciones.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La computaci\u00f3n en streaming se ha convertido en un pilar clave del procesamiento de datos moderno, y Apache Flink es hoy d\u00eda uno de sus exponentes m\u00e1s s\u00f3lidos. Flink ha demostrado ser capaz de procesar flujos de eventos a escala industrial con latencias de sub-segundo, soportando garant\u00edas de exactly-once y procesamiento con estado, lo que [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":1429,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_uag_custom_page_level_css":"","_swt_meta_header_display":false,"_swt_meta_footer_display":false,"_swt_meta_site_title_display":false,"_swt_meta_sticky_header":false,"_swt_meta_transparent_header":false,"footnotes":""},"categories":[39],"tags":[],"class_list":["post-1428","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ia"],"jetpack_featured_media_url":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg","uagb_featured_image_src":{"full":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg",313,161,false],"thumbnail":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images-150x150.jpeg",150,150,true],"medium":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images-300x154.jpeg",300,154,true],"medium_large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg",313,161,false],"large":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg",313,161,false],"1536x1536":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg",313,161,false],"2048x2048":["https:\/\/cloudlab.urv.cat\/catedracloud\/wp-content\/uploads\/2025\/08\/images.jpeg",313,161,false]},"uagb_author_info":{"display_name":"Pablo Gimeno Sarroca","author_link":"https:\/\/cloudlab.urv.cat\/catedracloud\/author\/pgimeno\/"},"uagb_comment_info":3,"uagb_excerpt":"La computaci\u00f3n en streaming se ha convertido en un pilar clave del procesamiento de datos moderno, y Apache Flink es hoy d\u00eda uno de sus exponentes m\u00e1s s\u00f3lidos. Flink ha demostrado ser capaz de procesar flujos de eventos a escala industrial con latencias de sub-segundo, soportando garant\u00edas de exactly-once y procesamiento con estado, lo que&hellip;","_links":{"self":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1428","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/comments?post=1428"}],"version-history":[{"count":1,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1428\/revisions"}],"predecessor-version":[{"id":1430,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/posts\/1428\/revisions\/1430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media\/1429"}],"wp:attachment":[{"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/media?parent=1428"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/categories?post=1428"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloudlab.urv.cat\/catedracloud\/wp-json\/wp\/v2\/tags?post=1428"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}