Streaming en Azure Databricks

Puede usar Azure Databricks para la ingesta de datos, el procesamiento, el aprendizaje automático y la inteligencia artificial casi en tiempo real para los datos de streaming.

Azure Databricks ofrece numerosas optimizaciones para el streaming y el procesamiento incremental. Para la mayoría de las tareas de streaming o procesamiento incremental de datos o ETL, Databricks recomienda Delta Live Tables. Consulte ¿Qué es Delta Live Tables?.

La mayoría de las cargas de trabajo incrementales y de streaming en Azure Databricks están basadas en Structured Streaming, incluidas Delta Live Tables y Auto Loader. Consulte ¿Qué es Auto Loader?.

Delta Lake y Structured Streaming tienen una estrecha integración para impulsar el procesamiento incremental en un almacén de lago de Databricks. Consulte Lecturas y escrituras en streaming de tablas delta.

Para obtener servicios de modelos en tiempo real, consulte Servicio de modelos con Azure Databricks.

Para más información sobre cómo crear soluciones de streaming en la plataforma de Azure Databricks, consulte la página del producto de streaming de datos.

Azure Databricks dispone de características específicas para trabajar con los campos de datos semiestructurados que contienen las cargas de datos de Avro, búfers de protocolo y JSON. Para obtener más información, consulte:

¿Qué es Spark Structured Streaming?

Structured Streaming de Apache Spark es un motor de procesamiento casi en tiempo real que ofrece tolerancia a errores de un extremo a otro con garantías de procesamiento exactamente una vez mediante las API de Spark conocidas. Structured Streaming permite expresar el cálculo de los datos de streaming de la misma manera en que se expresa un cálculo por lotes en datos estáticos. El motor de flujo estructurado realiza el cálculo de forma incremental y actualiza continuamente el resultado a medida que llegan los datos de streaming.

Si no está familiarizado con Structured Streaming, consulte Ejecución de la primera carga de trabajo de Structured Streaming.

Para más información sobre el uso de Structured Streaming con Unity Catalog, consulte Uso de Unity Catalog con Structured Streaming.

¿Qué orígenes y receptores de streaming admite Azure Databricks?

Databricks recomienda usar Auto Loader para ingerir tipos de archivos compatibles, desde el almacenamiento de objetos en la nube, en Delta Lake. En el caso de las canalizaciones ETL, Databricks recomienda usar Delta Live Tables (que usa tablas Delta y Structured Streaming). También puede configurar cargas de trabajo ETL incrementales mediante streaming hacia y desde tablas de Delta Lake.

Además de Delta Lake y Auto Loader, Structured Streaming puede conectarse a servicios de mensajería, como Apache Kafka.

También puede usar foreachBatch para escribir en receptores de datos arbitrarios.

Recursos adicionales

Apache Spark proporciona una guía de programación de streaming estructurado que tiene más información sobre Structured Streaming.

Para obtener información de referencia sobre Structured Streaming, Databricks recomienda las siguientes referencias de la API de Apache Spark: