Unión compleja con flujo de datos de google

Soy un novato, tratando de entender cómo podríamos reescribir un proceso ETL por lotes en Google Dataflow. He leído algunos de los documentos, ejecuto algunos ejemplos.

Estoy proponiendo que el nuevo proceso ETL sea impulsado por eventos comerciales (es decir, una fuente PCollection). Esto desencadenaría el proceso ETL para esa entidad comercial particular. El proceso ETL extraería conjuntos de datos de los sistemas fuente y luego pasaría esos resultados (PCollections) a la siguiente etapa de procesamiento. Las etapas de procesamiento implicarían varios tipos de combinaciones (incluidas las combinaciones cartesianas y no clave, por ejemplo, con fecha).

Entonces un par de preguntas aquí:

(1) ¿El enfoque que propongo es válido y eficiente? Si no, lo que sería mejor, no he visto ninguna presentación sobre procesos ETL complejos del mundo real utilizando Google Dataflow, solo escenarios simples.

¿Hay algún producto ETL de "nivel superior" que se ajuste mejor? He estado vigilando a Spark y Flink por un tiempo.

Nuestro ETL actual es moderadamente complejo, aunque solo hay alrededor de 30 tablas principales (dimensiones y hechos clásicos de EDW) y ~ 1000 pasos de transformación. Los datos de origen son complejos (aproximadamente 150 tablas de Oracle).

(2) Las complejas combinaciones no clave, ¿cómo se manejarían?

Obviamente, me atrae el flujo de datos de Google debido a que es una API en primer lugar, y las capacidades de procesamiento en paralelo parecen encajar muy bien (se nos pide pasar del procesamiento nocturno al procesamiento incremental).

¡Un buen ejemplo de Dataflow para este caso de uso realmente impulsaría la adopción!

Gracias Mike S

Respuestas a la pregunta(1)

Su respuesta a la pregunta