Prefacio

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Lo que aprenderás en este libro

Este libro te enseñará todo lo que necesitas saber sobre el procesamiento de flujos con Apache Flink. Consta de 11 capítulos que, con suerte, cuentan una historia coherente. Mientras que algunos capítulos son descriptivos y pretenden introducir conceptos de diseño de alto nivel, otros son más prácticos y contienen muchos ejemplos de código.

Aunque nuestra intención al escribir el libro era que se leyera en el orden de los capítulos, es posible que los lectores familiarizados con el contenido de un capítulo quieran saltárselo. Otros más interesados en escribir código Flink de inmediato quizá quieran leer primero los capítulos prácticos. A continuación, describimos brevemente el contenido de cada capítulo, para que puedas saltar directamente a los capítulos que más te interesen.

  • El capítulo 1 ofrece una visión general del procesamiento de flujo con estado, las arquitecturas de aplicaciones de procesamiento de datos, los diseños de aplicaciones y las ventajas del procesamiento de flujo sobre los enfoques tradicionales. También te ofrece un breve vistazo a lo que supone ejecutar tu primera aplicación de flujo en una instancia local de Flink.

  • Enel Capítulo 2 se tratan los conceptos fundamentales y los retos del procesamiento de flujos, independientemente de Flink.

  • El Capítulo 3 describe la arquitectura y el funcionamiento interno del sistema Flink. Trata de la arquitectura distribuida, la gestión del tiempo y el estado en las aplicaciones de streaming, y los mecanismos de tolerancia a fallos de Flink.

  • El Capítulo 4 explica cómo configurar un entorno para desarrollar y depurar aplicaciones Flink.

  • El Capítulo 5 te presenta los fundamentos de la API DataStream de Flink. Aprenderás cómo implementar una aplicación DataStream y qué transformaciones de flujo, funciones y tipos de datos son compatibles.

  • El Capítulo 6 trata de los operadores basados en el tiempo de la API DataStream. Esto incluye los operadores de ventana y las uniones basadas en el tiempo, así como las funciones de proceso que proporcionan la mayor flexibilidad al tratar con el tiempo en las aplicaciones de flujo.

  • El capítulo 7 explica cómo implementar funciones con estado y trata todo lo relacionado con este tema, como el rendimiento, la robustez y la evolución de las funciones con estado. También muestra cómo utilizar el estado consultable de Flink.

  • El capítulo 8 presenta los conectores fuente y sumidero de Flink más utilizados. Analiza el enfoque de Flink respecto a la coherencia de extremo a extremo de las aplicaciones y cómo implementar conectores personalizados para ingerir datos de sistemas externos y emitirlos a ellos.

  • Enel Capítulo 9 se explica cómo instalar y configurar clusters Flink en distintos entornos.

  • El Capítulo 10 trata del funcionamiento, monitoreo y mantenimiento de las aplicaciones de streaming que funcionan 24/7.

  • Por último, el Capítulo 11 contiene recursos que puedes utilizar para hacer preguntas, asistir a eventos relacionados con Flink y saber cómo se utiliza Flink en la actualidad.

Convenciones utilizadas en este libro

En este libro se utilizan las siguientes convenciones tipográficas:

Cursiva

Indica nuevos términos, URL, direcciones de correo electrónico, nombres de archivo y extensiones de archivo.

Constant width

Se utiliza para listados de programas, así como dentro de párrafos para referirse a elementos del programa como nombres de variables o funciones, bases de datos, tipos de datos, variables de entorno, sentencias y palabras clave. También se utiliza para nombres de módulos y paquetes, y para mostrar comandos u otro texto que deba ser tecleado literalmente por el usuario y la salida de los comandos.

Constant width italic

Muestra el texto que debe sustituirse por valores proporcionados por el usuario o por valores determinados por el contexto.

Consejo

Este elemento significa un consejo o sugerencia.

Nota

Este elemento significa una nota general.

Advertencia

Este elemento significa una advertencia o precaución.

Utilizar ejemplos de código

Puedes descargarte material complementario de (ejemplos de código en Java y Scala) en https://github.com/streaming-with-flink.

Este libro está aquí para ayudarte a hacer tu trabajo. En general, si se ofrece código de ejemplo con este libro, puedes utilizarlo en tus programas y documentación. No es necesario que te pongas en contacto con nosotros para pedirnos permiso, a menos que estés reproduciendo una parte importante del código. Por ejemplo, escribir un programa que utilice varios trozos de código de este libro no requiere permiso. Vender o distribuir un CD-ROM de ejemplos de los libros de O'Reilly sí requiere permiso. Responder a una pregunta citando este libro y el código de ejemplo no requiere permiso. Incorporar una cantidad significativa de código de ejemplo de este libro en la documentación de tu producto sí requiere permiso.

Agradecemos, pero no exigimos, la atribución. Una atribución suele incluir el título, el autor, la editorial y el ISBN. Por ejemplo "Stream Processing with Apache Flink " de Fabian Hueske y Vasiliki Kalavri (O'Reilly). Copyright 2019 Fabian Hueske y Vasiliki Kalavri, 978-1-491-97429-2".

Si crees que el uso que haces de los ejemplos de código no se ajusta al uso legítimo o al permiso concedido anteriormente, no dudes en ponerte en contacto con nosotros en

Aprendizaje en línea O'Reilly

Nota

Durante casi 40 años, O'Reilly ha proporcionado formación tecnológica y empresarial, conocimientos y perspectivas para ayudar a las empresas a alcanzar el éxito.

Nuestra red única de expertos e innovadores comparten sus conocimientos y experiencia a través de libros, artículos, conferencias y nuestra plataforma de aprendizaje online. La plataforma de aprendizaje en línea de O'Reilly te ofrece acceso bajo demanda a cursos de formación en directo, rutas de aprendizaje en profundidad, entornos de codificación interactivos y una amplia colección de textos y vídeos de O'Reilly y de más de 200 editoriales. Para más información, visita http://oreilly.com.

Cómo contactar con nosotros

Dirige tus comentarios y preguntas sobre este libro a la editorial:

  • O'Reilly Media, Inc.
  • 1005 Gravenstein Highway Norte
  • Sebastopol, CA 95472
  • 800-998-9938 (en Estados Unidos o Canadá)
  • 707-829-0515 (internacional o local)
  • 707-829-0104 (fax)

Tenemos una página web para este libro, donde se enumeran erratas, ejemplos y cualquier información adicional. Puedes acceder a esta página en http://bit.ly/stream-proc.

Para hacer comentarios o preguntas técnicas sobre este libro, envía un correo electrónico a

Para más información sobre nuestros libros, cursos, conferencias y noticias, consulta nuestro sitio web en http://www.oreilly.com.

Encuéntranos en Facebook: http://facebook.com/oreilly

Síguenos en Twitter: http://twitter.com/oreillymedia

Míranos en YouTube: http://www.youtube.com/oreillymedia

Sigue a los autores en Twitter: @fhueske y @vkalavri

Agradecimientos

Este libro no habría sido posible sin la ayuda y el apoyo de varias personas increíbles. Nos gustaría dar las gracias y reconocer aquí a algunas de ellas.

Este libro resume los conocimientos obtenidos a lo largo de años de diseño, desarrollo y pruebas realizadas por la comunidad de Apache Flink en general. Estamos agradecidos a todos los que han contribuido a Flink mediante código, documentación, revisiones, informes de errores, peticiones de funciones, discusiones en listas de correo, cursos de formación, charlas en conferencias, organización de reuniones y otras actividades.

Un agradecimiento especial a nuestros compañeros de Flink: Alan Gates, Aljoscha Krettek, Andra Lungu, ChengXiang Li, Chesnay Schepler, Chiwan Park, Daniel Warneke, Dawid Wysakowicz, Gary Yao, Greg Hogan, Gyula Fóra, Henry Saputra, Jamie Grier, Jark Wu, Jincheng Sun, Konstantinos Kloudas, Kostas Tzoumas, Kurt Young, Márton Balassi, Matthias J. Sax, Maximilian Michels, Nico Kruber, Paris Carbone, Robert Metzger, Sebastian Schelter, Shaoxuan Wang, Shuyi Chen, Stefan Richter, Stephan Ewen, Theodore Vasiloudis, Thomas Weise, Till Rohrmann, Timo Walther, Tzu-Li (Gordon) Tai, Ufuk Celebi, Xiaogang Shi, Xiaowei Jiang, Xingcan Cui. Con este libro, esperamos llegar a desarrolladores, ingenieros y entusiastas del streaming de todo el mundo y hacer crecer aún más la comunidad Flink.

También queremos dar las gracias a nuestros revisores técnicos, que hicieron innumerables y valiosas sugerencias que nos ayudaron a mejorar la presentación del contenido. Gracias, Adam Kawa, Aljoscha Krettek, Kenneth Knowles, Lea Giordano, Matthias J. Sax, Stephan Ewen, Ted Malaska y Tyler Akidau.

Por último, queremos dar las gracias a todas las personas de O'Reilly que nos acompañaron en nuestro viaje de dos años y medio y nos ayudaron a llevar este proyecto a la meta. Gracias, Alicia Young, Colleen Lobner, Christina Edwards, Katherine Tozer, Marie Beaugureau y Tim McGovern.

Get Procesamiento de flujos con Apache Flink now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.