Conceptos de Structured Streaming
En este artículo se proporciona una introducción a Structured Streaming en Azure Databricks.
¿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.
Lectura desde un flujo de datos
Use el flujo estructurado para ingerir datos de forma incremental desde orígenes de datos admitidos. Los orígenes de datos más comunes son los siguientes:
- Archivos de datos en el almacenamiento de objetos en la nube. Consulte ¿Qué es Auto Loader?.
- Colas y buses de mensajes. Consulte Configuración de orígenes de datos de streaming.
- Delta Lake. Consulte Lecturas y escrituras en streaming de tablas delta.
Cada origen de datos proporciona una serie de opciones para especificar cómo cargar lotes de datos. Durante la configuración del lector, es posible que tenga que configurar las opciones para hacer lo siguiente:
- Especificar el origen de datos o el formato (por ejemplo, el tipo de archivo, los delimitadores y el esquema).
- Configurar el acceso a los sistemas de origen (por ejemplo, la configuración de puerto y las credenciales).
- Especificar dónde iniciar una secuencia (por ejemplo, desplazamientos de Kafka o lectura de todos los archivos existentes).
- Controlar la cantidad de datos que se procesan en cada lote (por ejemplo, desplazamientos máximos, archivos o bytes por lote). Consulte Configuración de tamaños de lote de Structured Streaming en Azure Databricks.
Escribir en un receptor de datos
Un receptor de datos es el destino de una operación de escritura de streaming. Entre los receptores más comunes que se usan en las cargas de trabajo de streaming de Azure Databricks se incluyen los siguientes:
- Delta Lake
- Colas y buses de mensajes
- Bases de datos clave-valor
Al igual que con los orígenes de datos, la mayoría de los receptores de datos proporcionan una serie de opciones para controlar cómo se escriben los datos en el sistema de destino. Durante la configuración del escritor, especifique las siguientes opciones:
- Modo de salida (anexar de forma predeterminada). Consulte Seleccionar un modo de salida para Structured Streaming.
- Una ubicación de punto de control (necesaria para cada escritor). Consulte Puntos de control de Structured Streaming.
- Intervalos de desencadenador. Consulte Configurar intervalos del desencadenador de Structured Streaming.
- Opciones que especifican el receptor de datos o el formato (por ejemplo: el tipo de archivo, los delimitadores y el esquema).
- Opciones que configuran el acceso a los sistemas de destino (por ejemplo: la configuración de puerto y las credenciales).