APACHE HOP (INCUBATING) 1.0 ESTA DISPONIBLE!!

Category : Noticias

TRADUCCIÓN LIBRE AL ESPAÑOL DEL POST OFICIAL DE HOP

Después de más de 2 años de duro e intenso trabajo. La comunidad de Apache Hop se orgullece de anunciar que Apache Hop (Incubating) 1.0 está disponible!

Esta versión 1.0 es el resultado del esfuerzo titánico de la comunidad de Apache Hop.

Haciendo un pequeño resumen de novedades, Hop 1.0 trae:

  • Una arquitectura del código mejor estructurada y limpia. Por lo que es más extensible y mantenible.
  • GUI y herramientas homogeneizadas.
  • Proyectos y Entornos.
  • Motor de ejecución portable. Diseña en Hop, ejecuta donde quieras.
  • Pruebas unitarias, de integración y regresión.
  • Gestión del ciclo de vida.
  • Comunidad.

Arquitectura del código mejor estructurada y limpia.

Apache Hop empezó a partir del código de Kettle ( Pentaho Data Integration ) a finales de 2019. Pero lo cierto es que todas las dependencias han sido actualizadas y, literalmente, todo el código ha sido reescrito. No se ha dejado sin tocar ni una sola línea de código.

El resultado de toda esta limpieza y reescritura del código es un motor limpio y bien organizado. Ahora que sabían cómo había que hacerlo. Lo han vuelto a levantar desde cero. Todas las funcionalidades no esenciales se han convertido en plugins opcionales. Hop ahora soporta más de 20 tipos de plugins y ya cuenta con más de 400.

Con esta arquitectura renovada, ahora Hop es capaz de procesar datos desde dispositivos cuasi IoT hasta petabytes de datos en streaming, batch o en escenarios hibridos.

GUI y herramientas homogeneizadas

Hop GUI es el entorno visual de desarrollo ( IDE ) donde los ingenieros de datos crean flujos de trabajo (workflows) y flujos de datos (pipelines). Hop GUI se ha escrito desde cero y está disponible para todos los principales sistemas operativos: Windows, Mac OS y Linux. Hop Web proporcional el entorno de desarrollo de Hop en tu navegador web.

La posibilidad de diseñar visualmente, ejecutar, previsualizar, debugar y mantener flujos de trabajo y de datos permite a los ingenieros de datos que trabajan con Hop desarrollar sus procesos de una forma mucho más productiva de lo que lo podrían hacer jamás escribido código.

Los ingenieros de datos disponen de miles de transformaciones y acciones en Hop que les permiten desarrollar soluciones complejas de una forma sencilla y entendible. Pudiendo leer, procesar y escribir datos en una gran variedad de plataformas. Esto incluye bases de datos relacionales, NoSQL, plataformas de streaming de datos, servicios cloud y mucho más.

No más archivos de configuración ocultos. Todas las funcionalidades de Hop están disponibles a través de la GUI. Igualmente, todas las opciones para ejecutar, configurar, buscar, etc están disponibles a través de la linea de comandos de forma sencilla.

Proyectos y Entornos.

Los ingenieros de datos casi siempre trabajan en diferentes proyectos de forma simultánea. Igualmente, ejecutan esos proyectos de diferentes entornos

Los proyectos de Hop se pueden gestionar fácilmente des de la GUI de Hop o el comando «hop-conf». Para cada proyecto se pueden definir también diferentes entornos. Cada uno con un propósito especifico (dev, prod, test, etc) . Cada entorno puede tener diferentes archivos de configuración.

Cambiar de proyecto y entorno es tan fácil y rápido cómo cambiar de opción en un desplegable de la GUI. En los entornos de producción, sin entorno gráfico, los proyectos y entornos se proporcionan por la línea de comandos.

Esta separación estricta entre código (los metadatos del proyecto) y configuración ( archivos de entorno) permiten a Hop trabajar fácilmente con sistemas de controles de versiones y sistemas de despliegue. La perspectiva de explorador de archivos permite a los desarrolladores gestionar archivos de workflow y pipelines directamente en git. Con la posibilidad de operar y hacer pull, push o commits. Hay hasta un comparador visual de versiones.

Motor de ejecución portable. Diseña en Hop, ejecuta donde quieras.

El motor de ejecución de flujos de trabajo y datos ( workflows & pipelines) de Hop ha sido diseñado para ser tan flexible cómo sea posible. Un flujo de trabajo o datos se diseña en el GUI de Hop pero se puede ejecutar en el entorno que mejor se ajuste a sus necesidades.

En Hop 1.0 los flujos de trabajo (workflows) se pueden configurar para ser ejecutado en local y en remoto de forma nativa en el motor de ejecución de Hop. Además del motor de ejecución local y remota, los flujos de datos (pipelines) se pueden ejecutar también en Apache Spark, Apache Fink, y Google Dataflow mediante Apache Beam.

Con motores de ejecución portables, los ingenieros de datos podrán, gracias a Hop, diseñar un flujo de trabajo o datos en el GUI de Hop y desplegarlo en el entorno que consideren oportuno. Esto le da a los proyectos desarrollados con Hop la flexibilidad de trabajar en el entorno de datos que sea adecuado a cada proyecto.

Pruebas unitarias, de integración y regresión.

Hop proporciona todo lo que necesitas para manejar errores en los flujos de trabajo y datos (workflows & pipelines) de forma sencilla. Pero, saber que tu proyecto se ejecuta sin errores no garantiza que tus datos se procesan exactamente del modo que tu esperas.

Los desarrolladores de datos con Hop pueden, no sólo diseñar flujos de trabajo y datos en el GUI de Hop, sino que también pueden añadir test unitarios para comprobar que los flujos de trabajo y datos procesan los datos exactamente cómo se espera. Los test unitarios procesan un flujo de datos (pipeline) para una determinada entrada de datos y compara el resultado producido con el dataset esperado. Si el resultado obtenido es igual que el dataset de pruebas entonces el test ha sido superado. Si no, el tes falla.

Los test unitarios pueden ser combinados con test de integración y regresión para asegurar el correcto funcionamiento del proyecto al completo.

Una buena biblioteca de test mejora significativamente la calidad de un proyecto. De hecho, el equipo de desarrollo de Hop toma de su propia medicina. Y gracias a una biblioteca creciente de test unitarios, de integración y regresión ha podido identificar y arreglar un gran número de errores que han estado en el código durante una década.

Gestión del ciclo de vida.

Entornos de ejecución portables, proyectos y entornos, control de versiones integrado, test unitarios y muchas otras funcionalidades que incorpora Hop 1.0 proporcionan todas las herramientas que un equipo de datos necesita para manejar sus proyectos a lo largo de todo el ciclo de vida.

Todas estas herramientas, no sólo te permiten desarrollar, manejar, probar y desplegar tus proyectos de datos de acuerdo con las mejores pácticas de desarrollo de software, sino que, además permiten a los equipos de data seguir con las plataformas e infraestructuras que mejor se ajusten a sus necesidades.

Los requerimientos cambian, igual que los volúmenes de datos y arquitectura. Tener una plataforma que te permita a ti y a tu proyecto evolucionar con esos cambios es crucial en una organización moderna orientada a los datos. Hop 1.0 ofrece todo lo que te hace falta para hacer justamente eso.

Comunidad.

Uno de los pilares fundamentales para convertirse en un proyecto incubado de la Apache Software Foundation es tener una comunidad.

Mientras que el quipo de Hop ha estado trabajando incansablemente para construir la mejor herramienta de orquestación e integración de datos, la construcción de la comunidad ha sido igualmente importante. Construir la mejor herramienta del mundo es inútil sin gente que la use y se emocione con las cosas que puede hacer con ella.

Hop ha experimentado un tremendo crecimiento en el número de miembros que se incorporan a su comunidad desde que se integró en la incubadora de la Apache Software Foundation en Septiembre del 2020. Hop, ahora, tiene cientos de seguidores en diferentes canales de social media. Más de 200 personas están registradas en el chat de Hop. Y grupos de usuarios locales han empezado en Brasi, Japon, España, Italia y más.