Chyba że Dataset
jest cached
korzystanie z niezawodnego magazynu (standardowa cache
Sparka da tylko słabe gwarancje) dostęp do bazy danych można uzyskać wielokrotnie, za każdym razem pokazując aktualny stan bazy. Od
widzenie różnych liczb jest oczekiwanym zachowaniem.
Ponadto, jeśli źródło JDBC jest używane w trybie rozproszonym (z kolumną partycjonującą lub predicates
), wtedy każdy wątek executora użyje własnej transakcji. W rezultacie stan Dataset
może nie być w pełni spójne.
Nie używaj JDBC. Możesz na przykład
COPY
dane do systemu plików i załaduj je stamtąd.- Użyj wybranego przez siebie rozwiązania do replikacji, aby utworzyć replikę dedykowaną do analiz oraz ustawić i wstrzymać replikację podczas korzystania z analizy danych.