sql >> Databasteknik >  >> RDS >> PostgreSQL

Varför olika räkningsresultat vid på varandra följande läsningar?

Såvida inte Dataset är cached använder pålitlig lagring (standard Spark cache ger dig endast svaga garantier) kan databasen nås flera gånger, varje gång visar det aktuella tillståndet för databasen. Sedan

att se olika siffror är ett förväntat beteende.

Dessutom, om JDBC-källa används i ett distribuerat läge (med partitioneringskolumn eller predicates ), kommer varje executor-tråd att använda sin egen transaktion. Som ett resultat av tillståndet för Dataset kanske inte är helt konsekvent.

Använd inte JDBC. Du kan till exempel

  • COPY data till ett filsystem och ladda den därifrån.
  • Använd valfri replikeringslösning för att skapa en replik avsedd för analys och ställ in och pausa replikeringen samtidigt som du analyserar data.



  1. Villkorlig kolumn för fråga baserad på andra kolumner i MySQL

  2. VB.net - infoga/hämta bild från mysql-databasen direkt till/från en bildlåda

  3. Hur anger du ett annat portnummer i SQL Management Studio?

  4. Kombinera 2 SELECT LEFT JOIN-förfrågningar, union/deklarera AS fungerar inte