Ir al contenido principal

Cómo empezar a utilizar Spark Declarative Pipelines (SDP)

How to get started with Spark Declarative Pipelines (SDP)

Las canalizaciones de datos declarativas se han convertido en una función nativa de Spark en Apache Spark 4.1. Sin marcos adicionales. Sin dependencias externas. No hay nueva curva de aprendizaje. Millones de usuarios de Spark pueden crear canalizaciones ETL de nivel de producción con las herramientas que ya conocen y adoran.

El ejemplo utilizado aquí, una tubería de grado de producción que rastrea cada avión en el cielo con millones de eventos IoT en vivo transmitidos cada segundo, solía ser un esfuerzo de ingeniería serio. Ahora se puede hacer en una pausa para tomar café, con unas pocas líneas de código y 100% de código abierto.

Figura: Visualización de datos de aeronaves OpenSky con aplicaciones Databricks

¿Qué es Spark Declarative Pipelines?

Spark Declarative Pipelines (SDP) es un marco declarativo nativo para crear canalizaciones de datos fiables por lotes y streaming en Python o SQL.

Los trabajos tradicionales de Spark son esenciales: debe codificar cada paso: leer este código fuente, aplicar esta transformación, escribir en esta tabla, así como controlar la secuencia de ejecución y muchos otros detalles técnicos usted mismo. SDP invierte este modelo. Es declarativo: usted describe el resultado deseado y Spark determina cómo llegar allí.

Databricks creó originalmente SDP como Delta Live Tables (DLT) y lo contribuyó al proyecto de código abierto Apache Spark en Data + AI Summit 2025.

¿Cómo funciona SDP?

Spark Declarative Pipelines (SDP) define cómo las transformaciones actualizan conjuntos de datos en una canalización. SDP automáticamente:

  • Resuelve las dependencias entre conjuntos de datos y transformaciones
  • Determina el orden de ejecución en los pasos de la canalización
  • Ejecuta tareas independientes en paralelo para mejorar el rendimiento y la eficiencia

Una canalización SDP se crea a partir de componentes principales clave.

Gasoductos

Una canalización es la unidad de nivel superior que agrupa conjuntos de datos y transformaciones relacionados en un solo proyecto. Cuando se ejecuta una canalización, SDP analiza todos los conjuntos de datos declarados, resuelve las dependencias y ejecuta tareas en el orden correcto mientras paraleliza pasos independientes.

Las canalizaciones se definen en YAML y se componen de archivos fuente Python y SQL. Para obtener más información, consulte la Guía de programación de canalizaciones declarativas de Spark.

Tablas de transmisión en directo

Las tablas de streaming procesan datos de forma incremental. Cada ejecución de canalización procesa solo registros nuevos, manteniendo el estado en todas las ejecuciones para garantizar una semántica única y única.

Utilice tablas de streaming para incorporar registros de eventos o datos de IoT de orígenes de solo anexo. La demostración de aviónica vinculada muestra uno de los ejemplos de trabajo más pequeños de una tabla de flujo SDP en Python.

Puntos de vista materializados

Las vistas materializadas almacenan los resultados de consulta precalculados como tablas que permanecen alineadas con el estado actual de los datos de origen.

Utilice vistas materializadas para agregaciones, uniones y análisis resumidos. La demostración de aviónica vinculada muestra un pequeño ejemplo de una vista materializada de SDP en SQL que agrega datos de aviónica en vivo

Flujos

Los flujos definen cómo se mueven los datos del origen al destino. Admiten semántica de streaming y por lotes y permiten un control detallado sobre el enrutamiento y la transformación.

Utilícelo cuando necesite múltiples orígenes, enrutamiento condicional o lógica personalizada.

Puntos de vista temporales

Las vistas temporales existen solo durante la vida útil de la tubería. Descomponen transformaciones complejas en pasos legibles y con nombre sin crear tablas persistentes intermedias.

Utilícelo para mantener la lógica de canalización modular, comprobable y fácil de depurar.

En estos tutoriales no necesitará flujos ni vistas temporales, pero tenga en cuenta estos elementos cuando las canalizaciones se vuelvan más complejas.

Eso es suficiente para crear su primera canalización de datos SDP. Vamos.

Tutoriales de Spark Declarative Pipelines (SDP)

A continuación se muestra un solo ejemplo, presentado en dos entornos diferentes. Uno se ejecuta localmente con PySpark de código abierto y el otro se ejecuta en la nube en una cuenta (gratuita para siempre) de Databricks Free Edition. Ambos tutoriales de SDP (el tutorial local de PySpark y el tutorial de Lakeflow Declarative Pipelines) le guiarán a través del mismo caso de uso: crear una tubería que ingiere y procese datos de aviación en vivo procedentes de aeronaves de todo el mundo.

Fuente de datos OpenSky

Ambos tutoriales utilizan un origen de datos PySpark personalizado que se conecta a la API REST de OpenSky Network. La Red OpenSky agrega datos de vigilancia del tráfico aéreo aportados por entusiastas de la aviación de todo el mundo, creando una imagen en tiempo real del tráfico aéreo mundial. La API REST de OpenSky es gratuita para uso no comercial, pero se aplican límites de velocidad. Consulte los documentos de la API de OpenSky para conocer los umbrales actuales.

La recopilación de datos de OpenSky Network es de colaboración colectiva: cualquiera puede contribuir configurando un receptor ADS-B de bajo costo. Los datos que procesará en estos tutoriales existen porque miles de voluntarios de todo el mundo han hecho exactamente eso. Envíe sus datos a la Red OpenSky si desea convertirse en uno de ellos.

Cada ejecución de la tubería SDP recibe actualizaciones en vivo de posición, velocidad y altitud de las aeronaves actualmente en vuelo, con nuevos datos que llegan cada pocos segundos. El origen de datos es un origen de datos PySpark de código abierto, por lo que funciona tanto en Spark normal como en Spark Declarative Pipelines.

The OpenSky data source

Estos son datos reales de IoT a escala de producción. El mismo tipo que impulsa plataformas logísticas, sistemas de seguimiento de carga y operaciones de supervisión portuaria. No se trata de un archivo CSV de muestra estático: cada ejecución de tuberías extrae datos en vivo de aeronaves actualmente en vuelo.

La única diferencia entre los dos tutoriales es dónde se ejecutan.

Tutorial local de PySpark (código abierto)

El tutorial local de PySpark le guía a través de la creación de una canalización declarativa desde cero en su equipo local utilizando PySpark y cualquier editor que prefiera. Incluye:

  • Control total sobre el entorno de desarrollo y elección del IDE
  • Acceso directo a los archivos de salida de Parquet en su sistema de archivos local
  • Pila de código abierto 100 % sin dependencias propietarias

Requisitos: Python 3.12, Java 17, PySpark 4.1 y un IDE como VS Code

Iniciar el tutorial local de SDP

Tutorial de Lakeflow (edición gratuita de Databricks)

El tutorial Lakeflow es la ruta más rápida para una canalización en ejecución. Lakeflow es la implementación gestionada por Databricks de Spark Declarative Pipelines, basada en el mismo núcleo de código abierto con capacidades empresariales adicionales. Incluye:

  • Informática sin servidor con escalado automático, sin necesidad de configuración de clúster
  • Editor de canalizaciones integrado con exploración de datos basada en IA
  • Tablas de salida registradas en el catálogo de Unity con seguimiento automático de linaje
  • Sin configuración local, todo se ejecuta en la nube

Requisitos: cuenta Databricks Free Edition (sin tarjeta de crédito, nunca caduca)

Iniciar el tutorial de Lakeflow SDP

Preguntas frecuentes

Spark Declarative Pipelines (SDP) es un marco declarativo nativo integrado en Apache Spark 4.1 o posterior para crear canalizaciones de datos fiables por lotes y streaming en Python o SQL. Usted declara qué datos deben existir, su origen, su forma y cómo se actualizan, y Spark se encarga de la resolución de dependencias, el orden de ejecución y el procesamiento paralelo. Simplemente ejecute su canalización declarativa y Spark se encargará del resto.

Última actualización: agosto de 2026
Autor: Frank Munz