La Red de Conocimientos Pedagógicos - Conocimientos sobre estudiar en el extranjero - Utilice el procesamiento por lotes de Flink para completar la comparación (conciliación) de datos III

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

El artículo anterior utilizó el procesamiento por lotes de Flink para completar la comparación de datos (conciliación). En segundo lugar, se analiza el problema de utilizar Table API para manejar la comparación de datos. Sin embargo, en algunos escenarios, habrá algunos requisitos comerciales complejos, como la combinación de datos de ambos lados para la producción. En este momento, no es fácil utilizar la API de tabla para completar dichos requisitos. Requiere la ayuda de la API del conjunto de datos subyacente y las funciones de proceso.

Este artículo utilizará la API DataSet para satisfacer las necesidades de comparación de datos. En cuanto a la comparación en tiempo real de datos de transmisión, la presentaremos en el próximo artículo.

La idea central es procesar datos en dos flujos (DataSet es en realidad un flujo de datos especial), y Flink tiene dicha API.

Con coGroup, donde e igual a, es fácil decir que los datos con el mismo número de orden en las dos secuencias están relacionados. coGroup es diferente de join, que solo asocia datos con la misma clave para formar un conjunto de datos. Sin embargo, cuando coGroup encuentra una situación en la que hay registros para un solo conjunto de datos con una clave específica, asocia este grupo con un grupo vacío.

Código fuente

Como puedes ver, es muy fácil utilizar Flink para asociar estos dos datos. En escenarios comerciales reales, cuando el autor devuelve el archivo de inventario, no solo necesita asociar los datos de las dos partes, sino también los datos de otras partes (como los datos del comerciante). En este caso, los métodos actuales que me vienen a la mente son: