Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
El modo en tiempo real permite el streaming de latencia ultra baja con latencia de un extremo a otro tan bajo como cinco milisegundos, lo que lo convierte en ideal para cargas de trabajo operativas como la detección de fraudes y la personalización en tiempo real. Este tutorial le guía a través de la configuración de la primera consulta de streaming en tiempo real mediante un ejemplo sencillo.
Para obtener información conceptual sobre el modo en tiempo real, cuándo usarlo y las características admitidas, consulte Modo en tiempo real en Structured Streaming. Para conocer los requisitos de configuración, consulte Configuración del modo en tiempo real.
Requisitos
Antes de empezar, asegúrese de tener permisos para crear un clúster de proceso clásico que use la configuración especificada en Configuración del modo en tiempo real. Como alternativa, póngase en contacto con el administrador del área de trabajo para crear un clúster en modo en tiempo real.
Paso 1: Crear un cuaderno
Los cuadernos proporcionan un entorno interactivo para desarrollar y probar consultas de streaming. Use este cuaderno para escribir la consulta en tiempo real y ver la actualización de resultados continuamente.
Para crear un cuaderno:
- Haga clic en Nuevo en la barra lateral y, a continuación, haga clic en
Cuaderno.
- En el menú desplegable de cómputo, seleccione su grupo en modo en tiempo real.
- Seleccione Python o Scala como idioma predeterminado.
Paso 2: Ejecución de una consulta en modo en tiempo real
Copie y pegue el código siguiente en una celda del cuaderno y ejecútelo. En este ejemplo se usa un origen de velocidad, que genera filas a una velocidad especificada y muestra los resultados en tiempo real.
Nota:
La display función con realTime desencadenador está disponible en Databricks Runtime 17.1 y versiones posteriores.
Python
inputDF = (
spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
)
display(inputDF, realTime="5 minutes", outputMode="update")
Scala
import org.apache.spark.sql.streaming.Trigger
import org.apache.spark.sql.streaming.OutputMode
val inputDF = spark
.readStream
.format("rate")
.option("numPartitions", 2)
.option("rowsPerSecond", 1)
.load()
display(inputDF, trigger=Trigger.RealTime(), outputMode=OutputMode.Update())
Después de ejecutar el código, verá una tabla que se actualiza en tiempo real a medida que se generan nuevas filas. La tabla muestra una timestamp columna y una value columna que se incrementa con cada fila.
Descripción del código
El código anterior muestra los componentes esenciales de una consulta de streaming en tiempo real. En las tablas siguientes se explican los parámetros clave y lo que controlan:
Python
| Parámetro | Descripción |
|---|---|
format("rate") |
Usa el origen de velocidad, un origen integrado que genera filas a una velocidad configurable. Esto es útil para realizar pruebas sin dependencias externas. |
numPartitions |
Establece el número de particiones de los datos generados. |
rowsPerSecond |
Controla cuántas filas se generan por segundo. |
realTime="5 minutes" |
Habilita el modo en tiempo real. El intervalo especifica la frecuencia con la que progresan los puntos de control de consulta. Intervalos más largos significan puntos de comprobación menos frecuentes, pero tiempos de recuperación potencialmente más largos después de errores. |
outputMode="update" |
El modo en tiempo real requiere el modo de salida de actualización. |
Scala
| Parámetro | Descripción |
|---|---|
format("rate") |
Usa el origen de velocidad, un origen integrado que genera filas a una velocidad configurable. Esto es útil para realizar pruebas sin dependencias externas. |
numPartitions |
Establece el número de particiones de los datos generados. |
rowsPerSecond |
Controla cuántas filas se generan por segundo. |
Trigger.RealTime() |
Habilita el modo en tiempo real con el intervalo de punto de comprobación predeterminado. También puede especificar un intervalo, por ejemplo Trigger.RealTime("5 minutes"). |
OutputMode.Update() |
El modo en tiempo real requiere el modo de salida de actualización. |
Paso 3: Validar los resultados
Al ejecutar la consulta, la display función crea una tabla que se actualiza en tiempo real a medida que el origen de velocidad genera nuevas filas. Cada fila contiene:
- Marca de tiempo del momento en que la fuente de tasas generó la fila.
- Contador de aumento monotonico que se incrementa con cada nueva fila.
La tabla se actualiza continuamente con una latencia mínima, lo que muestra cómo el modo en tiempo real procesa los datos tan pronto como esté disponible. Esta es la ventaja principal del modo en tiempo real: la capacidad de ver y actuar en los datos inmediatamente en lugar de esperar al procesamiento por lotes.
Recursos adicionales
Ahora que ha ejecutado su primera consulta en tiempo real, explore estos recursos para desarrollar aplicaciones de streaming de producción con Kafka, Kinesis y otros orígenes admitidos.