stringtranslate.com

Cascada (software)

Cascading es una capa de abstracción de software para Apache Hadoop y Apache Flink . Cascading se utiliza para crear y ejecutar flujos de trabajo de procesamiento de datos complejos en un clúster Hadoop utilizando cualquier lenguaje basado en JVM ( Java , JRuby , Clojure , etc.), ocultando la complejidad subyacente de los trabajos de MapReduce . Es de código abierto y está disponible bajo la licencia Apache . Driven, Inc. ofrece soporte comercial [4].

El creador original de Cascading fue Chris Wensel, quien más tarde fundó Concurrent, Inc., que pasó a llamarse Driven. [5] Cascading está siendo desarrollado activamente por la comunidad [ cita requerida ] y hay varios módulos complementarios disponibles. [6]

Arquitectura

Para utilizar Cascading, también debe estar instalado Apache Hadoop y el archivo .jar del trabajo de Hadoop debe contener los archivos .jar de Cascading. Cascading consta de una API de procesamiento de datos, una API de integración, un planificador de procesos y un programador de procesos.

El uso de cascadas aprovecha la escalabilidad de Hadoop, pero abstrae las operaciones de procesamiento de datos estándar del mapa subyacente y reduce las tareas. [7] [ Se necesita una mejor fuente ] Los desarrolladores usan cascadas para crear un archivo .jar que describe los procesos requeridos. Sigue un paradigma de "fuente-tubería-sumidero", donde los datos se capturan de las fuentes, siguen "tuberías" reutilizables que realizan procesos de análisis de datos, donde los resultados se almacenan en archivos de salida o "sumideros". Las tuberías se crean independientemente de los datos que procesarán. Una vez vinculados a las fuentes y sumideros de datos, se denomina "flujo". Estos flujos se pueden agrupar en una "cascada", y el programador de procesos garantizará que un flujo determinado no se ejecute hasta que se satisfagan todas sus dependencias. Las tuberías y los flujos se pueden reutilizar y reordenar para satisfacer diferentes necesidades comerciales. [8]

Los desarrolladores escriben el código en un lenguaje basado en JVM y no necesitan aprender MapReduce. El programa resultante puede someterse a pruebas de regresión e integrarse con aplicaciones externas como cualquier otra aplicación Java. [9]

La conexión en cascada se utiliza con mayor frecuencia para la segmentación de anuncios, el análisis de archivos de registro, la bioinformática, el aprendizaje automático, el análisis predictivo , la minería de contenido web y las aplicaciones de extracción, transformación y carga (ETL). [5]

Usos de la conexión en cascada

En 2011, SD Times citó a Cascading como uno de los cinco proyectos Hadoop más potentes [10] [ ¿fuente poco fiable? ], como un importante proyecto de código abierto relevante para la bioinformática [11] [ ¿fuente poco fiable? ] y está incluido en Hadoop: A Definitive Guide, de Tom White. [12] El proyecto también ha sido citado en presentaciones, actas de conferencias y reuniones de grupos de usuarios de Hadoop como una herramienta útil para trabajar con Hadoop [13] [14 ] [15] [16] y con Apache Spark [17].

Lenguajes específicos de dominio creados en cascada

Referencias

  1. ^ "Lanzamientos · En cascada/en cascada". github.com . Consultado el 29 de marzo de 2021 .
  2. ^ "Lanzamientos · cwensel/cascading". github.com . Consultado el 29 de marzo de 2021 .
  3. ^ "cascading/LICENSE.txt en 3.3 · Cascading/cascading". github.com . Consultado el 29 de marzo de 2021 .
  4. ^ "Cascada y Impulsado | Soporte". Impulsado .
  5. ^ ab "Integrate.io: una plataforma para respaldar todo su recorrido de datos". Integrate.io .
  6. ^ "Módulos en cascada". Archivado desde el original el 11 de agosto de 2011. Consultado el 22 de agosto de 2011 .
  7. ^ ab Publicación de blog de Etsy que describe su uso de Cascading con Hadoop
  8. ^ "Guía del usuario en cascada" (PDF) . Archivado desde el original (PDF) el 6 de febrero de 2011.
  9. ^ "Gestión del rendimiento de aplicaciones Hadoop: características de DRIVEN". Driven .
  10. ^ Handy, Alex (1 de junio de 2011). "Los cinco proyectos Hadoop más potentes". SD Times . Consultado el 26 de octubre de 2013 .
  11. ^ Taylor, Ronald (21 de diciembre de 2010). "Una descripción general del marco Hadoop/MapReduce/HBase y sus aplicaciones actuales en bioinformática". BioMed Central . Springer Science+Business Media . Consultado el 26 de octubre de 2013 .
  12. ^ White, Tom (24 de septiembre de 2010). Hadoop: la guía definitiva. "O'Reilly Media, Inc." ISBN 9781449396893– a través de Google Books.
  13. ^ "Introducción a Hadoop". www.slideshare.net .
  14. ^ "Julio Guijarro, Steve Loughran y Paolo Castagna, "Hadoop and beyond", HP Labs, Bristol, Reino Unido, 2008" (PDF) . Archivado desde el original (PDF) el 2011-10-01 . Consultado el 2011-08-22 .
  15. ^ "Presentación de Flightcaster Hadoop". www.slideshare.net .
  16. ^ "NoSQL, Hadoop, en cascada, junio de 2010". www.slideshare.net .
  17. ^ "Uso de cascada para crear aplicaciones centradas en datos en Spark". Spark Summit 2014. 2014-05-07 . Consultado el 2016-03-25 .
  18. ^ "Cascading.Multitool en AWS".
  19. ^ "Artículos de AWS". Amazon Web Services, Inc.
  20. ^ Blog BackType Archivado el 25 de agosto de 2011 en Wayback Machine.
  21. ^ "VueloCaster".
  22. ^ "Flujo de iones". Archivado desde el original el 23 de octubre de 2011.
  23. ^ Blog de RapLeaf Archivado el 1 de febrero de 2011 en Wayback Machine.
  24. ^ "Estudio de caso de Razorfish". Amazon Web Services, Inc.
  25. ^ "PyCascading ya no recibe mantenimiento". GitHub . 17 de septiembre de 2021.
  26. ^ "Cascading.JRuby". 8 de agosto de 2018 – vía GitHub.
  27. ^ "Cascalog". 23 de junio de 2023 – vía GitHub.
  28. ^ "Escaldado". 22 de junio de 2023 – vía GitHub.

Enlaces externos