sql >> Base de Datos >  >> RDS >> PostgreSQL

¿Por qué diferentes resultados de conteo en lecturas consecutivas?

A menos que Dataset está cached usando almacenamiento confiable (estándar Spark cache le dará solo garantías débiles) se puede acceder a la base de datos varias veces, cada vez que muestra el estado actual de la base de datos. Desde

ver diferentes recuentos es un comportamiento esperado.

Además, si la fuente JDBC se usa en un modo distribuido (con columna de partición o predicates ), entonces cada hilo ejecutor usará su propia transacción. Como resultado, el estado del Dataset puede no ser completamente consistente.

No use JDBC. Puedes por ejemplo

  • COPY datos a un sistema de archivos y cargarlos desde allí.
  • Utilice la solución de replicación de su elección para crear una réplica dedicada para análisis y configure y pause la replicación mientras usa el análisis de datos.