Cascading es una capa de abstracción de software para Apache Hadoop y Apache Flink . La conexión en cascada se utiliza para crear y ejecutar flujos de trabajo de procesamiento de datos complejos en un clúster de 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 . El soporte comercial está disponible en Driven, Inc. [4]
Lanzamiento estable | 3.3.0 / 24 de marzo de 2018 [1] |
---|---|
Versión de vista previa | 4.0-wip-120/27 de marzo de 2021 [2] |
Repositorio | github |
Escrito en | Java |
Licencia | Licencia de Apache v2 [3] |
Sitio web | www |
Cascading fue escrito originalmente por Chris Wensel, quien más tarde fundó Concurrent, Inc, que ha sido rebautizado como Driven. [5] La comunidad está desarrollando activamente la conexión en cascada [ cita requerida ] y hay varios módulos adicionales disponibles. [6]
Arquitectura
Para usar Cascading, Apache Hadoop también debe estar instalado, y el .jar del trabajo de Hadoop debe contener los .jars en Cascading. La conexión en cascada consta de una API de procesamiento de datos, una API de integración, un planificador de procesos y un planificador de procesos.
La conexión en cascada 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 Cascading para crear un archivo .jar que describe los procesos requeridos. Sigue un paradigma de 'fuente-tubería-sumidero', donde los datos se capturan de fuentes, sigue '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 vinculado a fuentes de datos y sumideros, se denomina "flujo". Estos flujos se pueden agrupar en una 'cascada', y el programador de procesos se asegurará de 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 las 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 probarse por 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 orientació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). [10]
Usos de la cascada
Cascading fue citado como uno de los cinco proyectos más poderosos de Hadoop por SD Times en 2011, [11] [ ¿fuente no confiable? ] como un gran proyecto de código abierto relevante para la bioinformática [12] [ fuente no confiable? ] y está incluido en Hadoop: A Definitive Guide, de Tom White. [13] El proyecto también se ha citado en presentaciones, actas de conferencias y reuniones de grupos de usuarios de Hadoop como una herramienta útil para trabajar con Hadoop [14] [15] [16] [17] y con Apache Spark [18]
- MultiTool on Amazon Web Services se desarrolló utilizando Cascading. [19]
- LogAnalyzer para Amazon CloudFront se desarrolló utilizando Cascading. [20]
- BackType [21] : plataforma de análisis social
- Etsy [22] - mercado
- FlightCaster [23] : predicción de retrasos en los vuelos
- Ion Flux [24] : análisis de datos de secuencia de ADN
- RapLeaf [25] : sistemas de personalización y recomendación
- Razorfish [26] - publicidad digital
Lenguajes específicos de dominio construidos en cascada
- PyCascading [27] - por Twitter, disponible en GitHub
- Cascading.jruby [28] - desarrollado por Gregoire Marabout, disponible en GitHub
- Cascalog [29] - escrito por Nathan Marz , disponible en GitHub
- Scalding [30] : una API de Scala para cascada. Facilita la transición del código en cascada / escaldado a Spark. Por Twitter, disponible en GitHub
Referencias
- ^ "Lanzamientos · Cascada / cascada" . github.com . Consultado el 29 de marzo de 2021 .
- ^ "Lanzamientos · cwensel / cascading" . github.com . Consultado el 29 de marzo de 2021 .
- ^ "cascading / LICENSE.txt en 3.3 · Cascading / cascading" . github.com . Consultado el 29 de marzo de 2021 .
- ^ Página de soporte en cascada
- ^ Conducido, Inc.
- ^ "Módulos en cascada" . Archivado desde el original el 11 de agosto de 2011 . Consultado el 22 de agosto de 2011 .
- ^ Publicación de blog de Etsy que describe su uso de Cascading con Hadoop
- ^ Guía del usuario en cascada Archivada el 6 de febrero de 2011 en Wayback Machine.
- ^ Página de producto impulsada
- ^ Página de inicio impulsada
- ^ Handy, Alex (1 de junio de 2011). "Los cinco proyectos más poderosos de Hadoop" . Tiempos SD . Consultado el 26 de octubre de 2013 .
- ^ 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 .
- ^ White, Tom, "Hadoop: La guía definitiva", O'Reilly Media, Inc., 2010, págs. 539 - 549.
- ^ Nathan, Paco (Wikipedia: Paco Nathan ), presentación "Getting Started on Hadoop" para SV Cloud Computing Meetup, 19/7/2010.
- ^ "Julio Guijarro, Steve Loughran y Paolo Castagna," Hadoop y más allá ", HP Labs, Bristol Reino Unido, 2008" (PDF) . Archivado desde el original (PDF) el 2011-10-01 . Consultado el 22 de agosto de 2011 .
- ^ Cross, Bradford, "Flightcaster_HUG", presentación en el grupo de usuarios de Bay Area Hadoop, 26 de marzo de 2010
- ^ Curtin, Christopher, "NoSQL, Hadoop y Cascading", junio de 2010.
- ^ "Uso de la conexión en cascada para crear aplicaciones centradas en datos en Spark" . Spark Summit 2014 . 2014-05-07 . Consultado el 25 de marzo de 2016 .
- ^ Cascading.Multitool en AWS
- ^ LogAnalyzer para Amazon CloudFront
- ^ Blog BackType Archivado el 25 de agosto de 2011 en Wayback Machine.
- ^ Publicación de blog de Etsy que describe su uso de Cascading con Hadoop
- ^ FlightCaster
- ^ Ion Flux Archivado el 23 de octubre de 2011 en la Wayback Machine.
- ^ Blog de RapLeaf Archivado el 1 de febrero de 2011 en Wayback Machine.
- ^ Pez navaja
- ^ [1]
- ^ Cascading.jruby
- ^ Cascalog
- ^ Escaldado
enlaces externos
- Página web oficial