PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pourquoi des résultats de comptage différents sur des lectures consécutives ?

Sauf si Dataset est cached en utilisant un stockage fiable (standard Spark cache ne vous donnera que de faibles garanties) la base de données peut être consultée plusieurs fois, affichant à chaque fois l'état actuel de la base de données. Depuis

voir des décomptes différents est un comportement attendu.

De plus, si la source JDBC est utilisée en mode distribué (avec colonne de partitionnement ou predicates ), alors chaque thread exécuteur utilisera sa propre transaction. En conséquence, l'état du Dataset peut ne pas être entièrement cohérent.

N'utilisez pas JDBC. Vous pouvez par exemple

  • COPY données dans un système de fichiers et chargez-les à partir de là.
  • Utilisez la solution de réplication de votre choix pour créer une réplique dédiée à l'analyse, puis configurez et suspendez la réplication pendant l'analyse des données.