Red de conocimiento informático - Material del sitio web - ¿Ejemplo de aplicación de análisis de big data Apache Spark?

¿Ejemplo de aplicación de análisis de big data Apache Spark?

Al considerar los distintos motores del ecosistema Hadoop, es importante comprender que cada motor funciona mejor en determinados casos de uso, y es posible que las empresas necesiten utilizar varias combinaciones de herramientas para cumplir con cada caso de uso requerido. Dicho esto, aquí hay una revisión de algunos de los principales casos de uso de Apache Spark.

1. Transmisión de datos

Un caso de uso clave para Apache Spark es su capacidad para procesar datos de transmisión. Debido a que todos los días se procesan grandes cantidades de datos, es muy importante que las empresas transmitan y analicen los datos en tiempo real. Spark Streaming es capaz de manejar esta carga de trabajo adicional. Algunos expertos incluso creen que Spark puede convertirse en la plataforma preferida para aplicaciones informáticas en streaming, independientemente de su tipo. El motivo de este requisito es que Spark Streaming unifica diferentes funciones de procesamiento de datos para que los desarrolladores puedan utilizar un único marco para satisfacer todas sus necesidades de procesamiento.

Hoy en día, las formas generales en que las empresas utilizan Spark Streaming incluyen:

1. Streaming ETL: herramientas tradicionales ETL (Extracción, Transformación, Carga) para el procesamiento por lotes en entornos de almacenamiento de datos. los datos deben leerse, convertirse a un formato compatible con la base de datos y luego escribirse en la base de datos de destino. Con la transmisión ETL, los datos se limpian y agregan continuamente antes de enviarlos al almacén de datos.

2. Enriquecimiento de datos: esta función de transmisión de Spark enriquece los datos en tiempo real combinándolos con datos estáticos, lo que permite a las organizaciones realizar análisis de datos en tiempo real más completos. Los anunciantes en línea utilizan capacidades de enriquecimiento de datos para combinar datos históricos de los clientes con datos del comportamiento del cliente en tiempo real para proporcionar anuncios más personalizados y dirigidos basados ​​en el comportamiento del cliente en tiempo real.

3. Detección de eventos desencadenantes: Spark Streaming permite a las organizaciones detectar y responder rápidamente a comportamientos raros o anómalos ("eventos desencadenantes") que pueden causar problemas potencialmente graves dentro de un sistema. Las instituciones financieras utilizan activadores para detectar transacciones fraudulentas y evitar que sean defraudadas. Los hospitales también utilizan disparadores para detectar cambios de salud potencialmente peligrosos mientras monitorean los signos vitales de los pacientes, enviando alertas automáticas a los cuidadores adecuados, quienes luego pueden tomar las medidas adecuadas de inmediato.

4. Análisis de conversaciones sofisticado: con Spark Streaming, los eventos relacionados con conversaciones en tiempo real (como la actividad del usuario después de iniciar sesión en un sitio web o una aplicación) se pueden combinar y analizar rápidamente. La información de la sesión también se puede utilizar para actualizar continuamente los modelos de aprendizaje automático. Empresas como Netflix pueden utilizar esta función para comprender instantáneamente cómo los usuarios interactúan con su sitio y brindar más recomendaciones de películas en tiempo real.

En segundo lugar, el aprendizaje automático

Otro caso de uso de Apache Spark son sus capacidades de aprendizaje automático.

Spark tiene un marco integrado para realizar análisis avanzados que ayuda a los usuarios a consultar repetidamente conjuntos de datos, esencialmente para procesar algoritmos de aprendizaje automático. Los componentes del marco incluyen la biblioteca escalable de aprendizaje automático (MLlib) de Spark. MLlib se puede utilizar en áreas como agrupación, clasificación y reducción de dimensionalidad. Todo esto hace que Spark sea útil para algunas funciones de big data muy comunes, como la inteligencia predictiva, la segmentación de clientes con fines de marketing y el análisis de sentimientos. Las empresas que utilizan motores de recomendación descubrirán que Spark hace el trabajo rápidamente.

La ciberseguridad es un buen caso de negocio para las capacidades de aprendizaje automático de Spark. Al utilizar varios componentes de la pila Spark, los proveedores de seguridad pueden inspeccionar paquetes en tiempo real para descubrir rastros de actividad maliciosa. En el front-end, Spark Streaming permite a los analistas de seguridad comprobar si hay amenazas conocidas antes de pasar paquetes a la plataforma de almacenamiento. Al llegar a la tienda, el paquete se analiza más a fondo a través de otros componentes de la pila, como MLlib. Como resultado, los proveedores de seguridad pueden aprender sobre nuevas amenazas a medida que evolucionan, siempre adelantándose a los piratas informáticos y protegiendo a sus clientes en tiempo real.

En tercer lugar, análisis interactivo

Una de las funciones más importantes de Spark es la función de análisis interactivo. MapReduce está diseñado para el procesamiento por lotes, pero los motores SQL-on-Hadoop como Hive o Pig suelen ser demasiado lentos para realizar análisis interactivos. Sin embargo, Apache Spark es lo suficientemente rápido como para realizar consultas exploratorias sin muestreo. Spark también interactúa con una variedad de lenguajes de desarrollo, incluidos SQL, R y Python. Al combinar Spark con herramientas de visualización, se pueden procesar y visualizar conjuntos de datos complejos de forma interactiva.

La próxima versión de Apache Spark (Spark 2.0) se dará a conocer en abril o mayo de este año. Tendrá una nueva característica, transmisión estructurada, que permitirá a los usuarios interactuar con datos en tiempo real. Al combinar la transmisión en vivo con otros tipos de análisis de datos, se espera que la transmisión estructurada facilite el análisis web al permitir a los usuarios ejecutar consultas interactivas en la sesión actual de un visitante de la web. También se puede utilizar para aplicar algoritmos de aprendizaje automático a datos en tiempo real. En este caso, los datos antiguos se entrenarán en el algoritmo y luego se redirigirán para incorporar y aprender de los datos nuevos a medida que llegan a la memoria.

Cuarto, computación en la niebla

Si bien el análisis de big data puede atraer una atención generalizada, el concepto que realmente captura la imaginación de la comunidad tecnológica es el Internet de las cosas (IoT). El IoT incorpora objetos y dispositivos con pequeños sensores que se comunican entre sí y con los usuarios, creando un mundo totalmente conectado. El mundo recopila enormes cantidades de datos, los procesa y proporciona nuevas características y aplicaciones revolucionarias para la vida diaria de las personas. Sin embargo, a medida que el Internet de las cosas se expande, también crece la necesidad de un procesamiento paralelo masivo de grandes cantidades de datos de máquinas y sensores. Sin embargo, es difícil gestionar todos estos procesos utilizando las capacidades analíticas actuales en la nube.

Ahí apareció la computación en la niebla y Apache Spark.

La computación en la niebla descentraliza el procesamiento y almacenamiento de datos en lugar de realizar estas funciones en el borde de la red. Sin embargo, la computación en la niebla aporta nuevas complejidades al procesamiento de datos desorganizados, ya que requiere cada vez más un procesamiento paralelo masivo de baja latencia y algoritmos de análisis de gráficos extremadamente complejos para el aprendizaje automático. Afortunadamente, con componentes clave de la pila como Spark Streaming, una herramienta de consulta interactiva en tiempo real (Shark), una biblioteca de aprendizaje automático (MLib) y un motor de análisis de gráficos (GraphX), Spark califica como algo más que una simple solución de computación en la niebla. De hecho, con la consolidación gradual e inevitable de la industria de IoT, muchos expertos de la industria predicen que Spark puede convertirse en la infraestructura de niebla de facto en comparación con otras plataformas de código abierto.

Spark en el mundo real

Como se mencionó anteriormente, los anunciantes en línea y empresas como Netflix están utilizando Spark para obtener conocimientos y ventajas competitivas. Otras empresas notables que también se benefician de Spark incluyen:

Uber: la empresa multinacional de despacho de taxis en línea recopila terabytes de datos de eventos de sus usuarios móviles todos los días. Al crear una canalización ETL continua utilizando Kafka, Spark Streaming y HDFS, Uber puede transformar datos de eventos no estructurados sin procesar en datos estructurados a medida que se recopilan, que luego se pueden utilizar para análisis adicionales y más complejos.

Pinterest: a través de un canal ETL similar, Pinterest puede usar Spark Streaming para comprender instantáneamente cómo los usuarios de todo el mundo interactúan con los pines. Entonces, a medida que las personas navegan por el sitio y ven pines relacionados, Pinterest puede hacer sugerencias más relevantes, ayudándoles a elegir una receta, decidir qué producto comprar o planificar un viaje a varios destinos.

conviva - Esta empresa de vídeo en streaming promedia unos 4 millones de vídeos al mes, sólo superada por YouTube. Conviva utiliza Spark para reducir la deserción optimizando las transmisiones de video y administrando el tráfico de video en vivo para mantener una experiencia de visualización consistentemente fluida y de alta calidad.

Cuándo no usar Spark

Aunque son genéricas, no significa necesariamente que las capacidades en memoria de Apache Spark sean las más adecuadas para todos los casos de uso. Más específicamente, Spark, la instancia de aplicación de Apache Spark para análisis de big data, no está diseñada como un entorno multiusuario. Los usuarios de Spark necesitan saber si la memoria a la que tienen acceso es suficiente para su conjunto de datos. Agregar más usuarios hace que esta operación sea más compleja, ya que los usuarios deben coordinar su uso de memoria para ejecutar proyectos simultáneamente. Al no poder manejar este tipo de concurrencia, los usuarios deben considerar el uso de un motor alternativo, como Apache Hive, para grandes proyectos de procesamiento por lotes.

Con el tiempo, Apache Spark seguirá desarrollando su ecosistema y se volverá más versátil que antes. En un mundo donde los big data se han convertido en la norma, las organizaciones necesitan encontrar las mejores formas de utilizarlos. Como puede ver en estos casos de uso de Apache Spark, habrá muchas oportunidades en los próximos años para comprender las verdaderas capacidades de Spark.

A medida que más organizaciones se dan cuenta de los beneficios de la transición del procesamiento por lotes al análisis de datos en tiempo real, Apache Spark está posicionado para una adopción rápida y generalizada en muchas industrias.