¿Cómo funciona Deduplication en Spark Structured Streaming?

Contenido del Bootcamp Dirigido por: | Última modificación: 6 de junio de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Apache Spark se ha posicionado como uno de los sistemas de computación más empleados en el mundo Big Data. Por esta razón, un buen data scientist debe saber identificar las dinámicas, procesos y herramientas que ofrece para llevar a cabo un estudio adecuado de los macrodatos. Por ejemplo, es importante conocer cómo funciona Deduplication en Spark Structured Streaming dentro de su flujo de datos.

Esta es una de las dinámicas de la arquitectura propuesta por parte de Apache Spark a partir de su proceso de Spark Structured Streaming. Por ello, conocerlo resulta imprescindible y, por medio de este post, te podrás instruir sobre cómo funciona Deduplication en Spark Structured Streaming.

¿Cómo funciona Deduplication en Spark Structured Streaming?

¿Cómo funciona Deduplication en Spark Structured Streaming?

El sistema de computación de Apache Spark soporta deduplicaciones de eventos. Esto quiere decir que la Deduplication en Spark Structured Streaming se utiliza como una estrategia que se encarga de descartar los eventos, valores y datos que se encuentran repetidos en el procesamiento de la información.

Por otra parte, esto se desarrolla según dos alternativas que te compartimos a continuación:

  • Con marca de agua (watermark): esta es la query que usa el watermark para borrar los datos antiguos del estado, es decir, donde ya no se esperan más duplicados.
  • Sin marca de agua: este tipo no posee los limites para definir cuándo un récord duplicado se recibe.

Por otra parte, la Deduplication en Spark Structured Streaming guarda todos los récords pasados en el estado. A continuación, te exponemos cómo funciona la sintaxis del comando en el desarrollo de la consola:

val streamingDf = spark.readStream. … // columns: guid, eventTime, …
// Without watermark using guid column
streamingDf.dropDuplicates(«guid»)
// With watermark using guid and eventTime columns
streamingDf.withWatermark(«eventTime», «10 seconds»)
.dropDuplicates(«guid», «eventTime»)

Como podrás notar, en este ejemplo se estipula cuál será la columna en la que se analizarán los duplicados por medio de su nombre. Además, se inscribe cuál es la función de los valores según la presencia o ausencia de la marca de agua en estos valores.

Por último, uno de los comandos más importantes es el uso de «evenTime» que remite al uso duplicado de determinada información, de manera que cada vez que esta sale de más será eliminada.

Principales funciones de Deduplication en Spark Structured Streaming

A continuación, te compartimos cuáles son las principales funciones que desempeña Deduplication en Spark Structured Streaming como parte del mundo del procesamiento Big Data:

  • Su objetivo principal radica en suprimir los datos o valores duplicados. Estos pueden ser entradas, eventos, mensajes u órdenes, entre otros.
  • Es una API (Interfaz de Programación de Aplicaciones) del módulo intermedio del Apache Spark.
  • Una de sus funciones consiste en la instauración de marcas de agua (watermarks) para limitar el flujo de los datos.
  • Por otra parte, también puede presentarse sin marcas de agua (watermarks), sin embargo, al no establecer un límite de trabajo, este proceso puede tardar mucho más.
  • Puede encargarse de establecer una columna completa que designe la función de duplicados.

Por medio de este post, te hemos expuesto cómo funciona Deduplication en Spark Structured Streaming como parte del sistema de computación Apache Spark. Por ello, debes tener en cuenta que este es un mundo amplio del desarrollo del Big Data por medio de esta serie de herramientas y serivios de Spark. De manera que, para convertirte en un experto, debes continuar aprendiendo sobre el procesamiento de los macrodatos.

Si aún no sabes cómo, en KeepCoding te ofrecemos el Bootcamp Full Stack Big Data, Inteligencia Artificial & Machine Learning. Por medio de este bootcamp, aprenderás las teorías del aprendizaje automático con énfasis en algoritmos de regresión y clasificación. De manera que, con el tiempo, serás capaz de conocer las ventajas y desventajas de los distintos algoritmos analizados. Además, llegarás a las buenas prácticas en el entrenamiento de modelos de aprendizaje automático, gracias a que se fusionarán los fundamentos con ejemplos prácticos. ¡Inscríbete y empieza ahora!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado