Red de conocimientos turísticos - Información de alquiler - Utilice el procesamiento por lotes de Flink para completar la comparación (reconciliación) de datos 3

Utilice el procesamiento por lotes de Flink para completar la comparación (reconciliación) de datos 3

El artículo anterior "Uso del procesamiento por lotes de Flink para completar la comparación de datos (reconciliación) 2" analizó el uso de Table API para procesar la comparación de datos, pero en algunos escenarios habrá requisitos comerciales más complejos, como la salida de datos de ambas partes. la API de tabla no puede cumplir bien con este tipo de requisitos en este momento, lo que requiere la ayuda de la capa subyacente

Este artículo planea utilizar la API DataSet para completar el requisito de comparación de datos en tiempo real. Comparación de datos de transmisión, el siguiente artículo lo presentará.

La idea central es utilizar dos flujos en el procesamiento de datos (DataSet es en realidad un tipo especial de DataStream), y Flink tiene dicha API.

A través de coGroup, donde y equalTo pueden asociar fácilmente datos con el mismo número de pedido en dos flujos juntos, CoGroup es diferente de unirse, y unirse no es equivalente a unirse. Cuando coGroup encuentra solo un conjunto de datos con una clave específica, asocia el grupo con un grupo vacío.

Código fuente

Como puede ver, correlacionar datos entre dos partes usando Flink es muy simple. En el escenario comercial real del autor, algunos no solo necesitan asociar los datos de ambas partes, sino también los datos de la otra parte (como los datos del comerciante) al devolver el archivo de disco al método descendente. Actualmente lo que se piensa en este caso es el siguiente: