Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Często zadawane pytania dotyczące automatycznego modułu ładującego usługi Databricks.
Czy moduł automatycznego ładowania ponownie przetwarza plik, gdy plik zostanie dołączony lub zastąpiony?
W przypadku ustawienia domyślnego (cloudFiles.allowOverwrites = false) pliki są przetwarzane dokładnie raz. Gdy plik jest dołączany lub nadpisywany, moduł automatycznego ładowania nie może zagwarantować, która wersja pliku zostanie przetworzona.
Aby zezwolić automatycznemu modułowi ładowania na ponowne przetwarzanie pliku po jego dołączeniu lub zastąpieniu, możesz ustawić wartość cloudFiles.allowOverwrites na true. W takim przypadku moduł automatycznego ładowania ma gwarancję przetworzenia najnowszej wersji pliku. Jednak moduł automatycznego ładowania nie może zagwarantować, która wersja pośrednia jest przetwarzana.
Zachowaj ostrożność, jeśli włączysz tryb powiadomień o plikach cloudFiles.allowOverwrites. W trybie powiadomień dotyczących plików narzędzie do automatycznego ładowania może identyfikować nowe pliki za pośrednictwem powiadomień o plikach i listy katalogów. Ponieważ czas zdarzenia powiadomienia o pliku i czas modyfikacji pliku mogą się różnić, moduł automatycznego ładowania może odbierać dwa różne znaczniki czasu i pozyskiwać ten sam plik dwa razy, nawet jeśli plik nie został zaktualizowany.
Po cloudFiles.allowOverwrites włączeniu należy samodzielnie obsługiwać zduplikowane rekordy. Moduł automatycznego ładowania ponownie przetworzy cały plik nawet wtedy, gdy zostanie on dołączony do lub częściowo zaktualizowany. Ogólnie rzecz biorąc, usługa Azure Databricks zaleca używanie automatycznego modułu ładującego do pozyskiwania tylko plików niezmiennych i używania domyślnego ustawienia cloudFiles.allowOverwrites = false. Jeśli masz dodatkowe pytania, skontaktuj się z zespołem konta usługi Azure Databricks.
Jeśli moje pliki danych nie docierają stale, ale w regularnych odstępach czasu, na przykład raz dziennie, czy nadal należy używać tego źródła i czy istnieją jakieś korzyści?
W takim przypadku można skonfigurować zadanie przesyłania strumieniowego ze strukturą Trigger.AvailableNow (dostępne w środowisku Databricks Runtime 10.4 LTS lub nowszym) i zaplanować uruchamianie po przewidywanym czasie przybycia pliku. Automatyczne ładowanie działa dobrze zarówno w przypadku rzadkich, jak i częstych aktualizacji. Nawet jeśli aktualizacje ostateczne są bardzo duże, moduł ładujący automatycznie skaluje się do rozmiaru wejściowego. Efektywne techniki odnajdywania plików i zdolności ewolucji schematu Auto Loader sprawiają, że jest on zalecaną metodą przyrostowego pozyskiwania danych.
Co się stanie, jeśli zmienię lokalizację punktu kontrolnego podczas ponownego uruchamiania strumienia?
Lokalizacja punktu kontrolnego utrzymuje ważne informacje identyfikujące strumień. Zmiana lokalizacji punktu kontrolnego oznacza, że porzucino poprzedni strumień i uruchomiono nowy strumień.
Czy należy wcześniej utworzyć usługi powiadomień o zdarzeniach?
L.p. Jeśli wybierzesz tryb powiadomień plików i podasz wymagane uprawnienia, automatycznie ładujący może utworzyć usługi powiadomień o plikach. Zobacz Zarządzanie kolejkami powiadomień plików dla każdego strumienia Auto Loader oddzielnie (starsza wersja).
Jeśli zdarzenia plików są włączone w lokalizacji zewnętrznej w Unity Catalog, usługa zdarzeń plików może utworzyć te zdarzenia u dostawcy usług w chmurze i nie trzeba konfigurować modułu Auto Loader, aby tworzył je dla każdego strumienia. Zobacz Use file notification mode with file events (Używanie trybu powiadomień plików ze zdarzeniami plików)
Jak mogę czyścić zasoby powiadomień o zdarzeniach utworzone przez moduł automatycznego ładowania?
Możesz użyć menedżera zasobów w chmurze, aby wyświetlić listę i usunąć zasoby. Te zasoby można również usunąć ręcznie przy użyciu interfejsu użytkownika lub interfejsów API dostawcy usług w chmurze.
Czy można uruchamiać wiele zapytań przesyłania strumieniowego z różnych katalogów wejściowych w tym samym zasobniku/kontenerze?
Tak, o ile nie są katalogami nadrzędny-podrzędny; na przykład i prod-logs/ nie działa, prod-logs/usage/ ponieważ /usage jest katalogiem /prod-logspodrzędnym .
Czy mogę użyć tej funkcji, gdy istnieją powiadomienia o plikach w zasobniku lub kontenerze?
Tak, o ile katalog wejściowy nie powoduje konfliktu z istniejącym prefiksem powiadomień (na przykład powyższym katalogiem nadrzędny-podrzędny).
W jaki sposób schemat wnioskowania automatycznego modułu ładującego?
Gdy ramka danych jest najpierw zdefiniowana, narzędzie do automatycznego ładowania wyświetla katalog źródłowy i wybiera najnowszy (według czasu modyfikacji pliku) 50 GB danych lub 1000 plików i używa ich do wnioskowania schematu danych.
Moduł automatycznego ładowania wywnioskuje również kolumny partycji, sprawdzając strukturę katalogu źródłowego i wyszukują ścieżki plików zawierające /key=value/ strukturę. Jeśli katalog źródłowy ma niespójną strukturę, na przykład:
base/path/partition=1/date=2020-12-31/file1.json
// inconsistent because date and partition directories are in different orders
base/path/date=2020-12-31/partition=2/file2.json
// inconsistent because the date directory is missing
base/path/partition=3/file3.json
Moduł automatycznego ładowania wywnioskuje kolumny partycji jako puste. Użyj polecenia cloudFiles.partitionColumns , aby jawnie analizować kolumny ze struktury katalogów.
Jak działa moduł automatycznego ładowania, gdy folder źródłowy jest pusty?
Jeśli katalog źródłowy jest pusty, moduł automatycznego ładowania wymaga podania schematu, ponieważ nie ma danych do wnioskowania.
Kiedy program Autoloader wnioskował schemat? Czy zmienia się automatycznie po każdej mikrosadowej partii?
Schemat jest wnioskowany, gdy ramka danych jest najpierw zdefiniowana w kodzie. Podczas każdej mikroserii zmiany schematu są oceniane na bieżąco, dzięki czemu nie musisz martwić się o spadki wydajności. Po ponownym uruchomieniu strumienia pobiera on ewoluowany schemat z lokalizacji schematu i rozpoczyna wykonywanie bez jakichkolwiek narzutów z wnioskowania.
Jaki jest wpływ na wydajność przetwarzania danych podczas korzystania z wnioskowania schematu Auto Loader?
Wnioskowanie schematu powinno potrwać kilka minut w przypadku bardzo dużych katalogów źródłowych podczas wnioskowania początkowego schematu. Nie należy zauważać znaczących spadków wydajności podczas wykonywania strumienia. Jeśli uruchomisz kod w notesie usługi Azure Databricks, zobaczysz aktualizacje stanu określające, kiedy moduł automatycznego ładowania będzie wyświetlać katalog na potrzeby próbkowania i wnioskowania schematu danych.
Ze względu na usterkę zły plik drastycznie zmienił schemat. Co należy zrobić, aby wycofać zmianę schematu?
Skontaktuj się z pomocą techniczną usługi Databricks, aby uzyskać pomoc.
Jak Auto Loader określa, czy plik został załadowany, czy nie?
Automatyczny moduł ładowania zazwyczaj wczytuje każdy plik tylko raz, korzystając ze ścieżki pliku. Jeśli jednak ustawisz allowOverwrites opcję true, Auto Loader używa również znacznika czasu ostatniej modyfikacji pliku, aby określić, czy plik jest nowy, czy został zaktualizowany i musi zostać ponownie przetworzony. Zobacz Czy moduł automatycznego ładowania ponownie przetwarza plik, gdy plik zostanie dołączony lub zastąpiony?