Medmindre Dataset
er cached
ved hjælp af pålidelig lagring (standard Spark cache
vil kun give dig svage garantier) databasen kan tilgås flere gange, hver gang viser den aktuelle status for databasen. Siden
at se forskellige tæller er en forventet adfærd.
Desuden, hvis JDBC-kilden bruges i en distribueret tilstand (med partitioneringskolonne eller predicates
), så vil hver eksekveretråd bruge sin egen transaktion. Som et resultat af tilstanden for Dataset
muligvis ikke helt konsistent.
Brug ikke JDBC. Du kan f.eks.
COPY
data til et filsystem og indlæs det derfra.- Brug en replikeringsløsning efter eget valg til at oprette en replika dedikeret til analyser og indstil og sæt replikeringen på pause, mens du bruger analysere dataene.