PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Perché risultati di conteggio diversi su letture consecutive?

A meno che Dataset è cached utilizzando uno spazio di archiviazione affidabile (standard Spark cache ti darà solo deboli garanzie) è possibile accedere al database più volte, ogni volta mostrando lo stato corrente del database. Dal

vedere conteggi diversi è un comportamento previsto.

Inoltre, se l'origine JDBC viene utilizzata in modalità distribuita (con colonna di partizionamento o predicates ), quindi ogni thread dell'esecutore utilizzerà la propria transazione. Di conseguenza lo stato del Dataset potrebbe non essere del tutto coerente.

Non utilizzare JDBC. Puoi per esempio

  • COPY dati in un file system e caricarlo da lì.
  • Utilizza la soluzione di replica di tua scelta per creare una replica dedicata per l'analisi e impostare e sospendere la replica durante l'utilizzo dell'analisi dei dati.