Flink de la entrada a la fragancia real (13. Definición de semántica del tiempo)

Antes de la marca de agua, permítanme hablar sobre el concepto de tiempo. Hay varias ventanas de tiempo en https://blog.51cto.com/mapengfei/2554577. En la producción real, ¿a qué hora se genera la ventana? ¿Cuándo ocurrió el incidente? ¿Es hora de entrar en el programa flink? Todavía es el momento en que flink comenzó a procesar
Flink proporciona un conjunto de configuraciones de soluciones de diseño
que se pueden configurar directamente en el código env

    val env = StreamExecutionEnvironment.getExecutionEnvironment

//    env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime)  //以事件时间作为窗口聚合
//env.setStreamTimeCharacteristic(TimeCharacteristic.IngestionTime)   //以数据进入flink的时间作为窗口时间
//    env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime) //以Flink实际处理时间作为窗口时间

Semántica del tiempo

Flink de la entrada a la fragancia real (13. Definición de semántica del tiempo)

Solo se puede decir que en diferentes escenarios, hay escenarios de uso en cada momento, y la implementación específica se basa en la situación real.

Establecer en código

Podemos llamar al método setStreamCharacteristic en el entorno de ejecución directamente en el código para establecer el
tiempo específico de las características de tiempo de la transmisión , y también debemos extraer la marca de tiempo de los datos.
Si desea utilizar la hora del evento, también debe establecer qué campo y Formato; de lo contrario, Flink no sabrá qué campo usas

val env = StreamExecutionEnvironment.getExecutionEnvironment
// Agregue características de tiempo a cada flujo creado por env desde el momento de la llamada
env.setStreamTimeCharcteristic (TimeCharacteristic.EventTime)

Supongo que te gusta

Origin blog.51cto.com/mapengfei/2554583
Recomendado
Clasificación