Actualmente estamos en el proceso de escribir trabajos de chispa bastante complejos que contienen múltiples uniones y filtros en varias tablas.
Nos gustaría realizar pruebas unitarias de estos trabajos con datos reales, pero los datos reales viven en la nube (depósitos S3) distribuidos en docenas de tablas (archivos orc), millones de filas cada una.
El problema inherente es que el muestreo de varias tablas puede hacer que las uniones en las muestras no produzcan resultados, ya que existe la posibilidad de que no existan ciertos ID en ambas tablas muestreadas. ¿Hay alguna manera (una heurística o una herramienta) de muestrear datos (por ejemplo, 1000 filas) de cada tabla de tal manera que las uniones en claves externas aún proporcionen una cantidad útil de filas?
De esa manera, podemos usar los datos muestreados fuera de línea para realizar pruebas unitarias de los trabajos.