Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Moduł automatycznego ładowania przyrostowo i wydajnie przetwarza nowe pliki danych, gdy docierają one do magazynu w chmurze, bez konieczności dodatkowej konfiguracji.
Jak działa moduł automatycznego ładowania?
Auto Loader przetwarza nowe pliki danych przyrostowo i wydajnie, gdy tylko pojawiają się w magazynie w chmurze. Zapewnia źródło przesyłania strumieniowego ze strukturą o nazwie cloudFiles. Biorąc pod uwagę ścieżkę katalogu wejściowego w magazynie plików w chmurze, cloudFiles źródło automatycznie przetwarza nowe pliki po ich nadejściu, z opcją również przetwarzania istniejących plików w tym katalogu. Auto Loader obsługuje zarówno język Python, jak i SQL w potokach Lakeflow.
Za pomocą modułu automatycznego ładowania można przetwarzać miliardy plików w celu migracji lub wypełniania tabeli. Automatyczny ładowacz skaluje się, aby wspierać niemalże w czasie rzeczywistym pozyskiwanie milionów plików na godzinę.
Obsługiwane źródła Auto Loader
Moduł automatycznego ładowania może ładować pliki danych z następujących źródeł:
Amazon S3 (
s3://)Azure Data Lake Storage (ADLS,
abfss://)Google Cloud Storage (GCS,
gs://)Woluminy katalogu Unity (
/Volumes/)Azure Blob Storage (
wasbs://)Note
Starszy sterownik obiektów blob Windows Azure Storage (WASB) został przestarzały. ABFS ma wiele korzyści w porównaniu z WASB. Zobacz dokumentację Azure dotyczącą systemu ABFS. Aby uzyskać dokumentację dotyczącą pracy ze starszym sterownikiem WASB, zobacz Połącz się do Azure Blob Storage przy użyciu sterownika WASB (starszym).
Moduł ładujący może automatycznie pozyskiwać formaty plików JSON, CSV, XML, PARQUET, AVRO, ORC, TEXT i BINARYFILE. Moduł automatycznego ładowania obsługuje również odczytywanie wstępnie skompresowanych plików w tych formatach. Aby uzyskać informacje o obsługiwanych typach kompresji według formatu, zobacz Opcje formatu danych.
Dostępne w wersji beta, możesz pobierać pliki jako FILE referencje. Na przykład możesz nieprzerwanie pobierać dokumenty lub obrazy z katalogu do tabeli, gdy pojawiają się nowe pliki. Zobacz pliki Ingest jako typ PLIKU.
W jaki sposób Auto Loader śledzi postęp ładowania?
W miarę odnajdowania plików, ich metadane są przechowywane w skalowalnym magazynie klucz-wartość (RocksDB), w lokalizacji punktu kontrolnego potoku Auto Loader. Ten magazyn wartości kluczowych gwarantuje, że dane są przetwarzane dokładnie raz.
W przypadku awarii Auto Loader może wznowić działanie od miejsca, w którym zostało przerwane, na podstawie informacji przechowywanych w lokalizacji punktu kontrolnego, i nadal zapewniać gwarancję jednokrotnego zapisu danych do Delta Lake. Nie musisz samodzielnie utrzymywać ani zarządzać żadnym stanem, aby osiągnąć odporność na awarie lub semantykę przetwarzania dokładnie raz.
Przyrostowe ładowanie danych przy użyciu Auto Loader w potokach Lakeflow
Databricks zaleca używanie funkcji Auto Loader w potokach Lakeflow do przyrostowego ładowania danych. Nie trzeba podawać schematu ani lokalizacji punktu kontrolnego, ponieważ Lakeflow Pipelines automatycznie zarządza tymi ustawieniami dla Twoich potoków. Aby uzyskać zalecaną konfigurację, zobacz Konfigurowanie automatycznego modułu ładującego dla obciążeń produkcyjnych .
Databricks zaleca również korzystanie z Auto Loader za każdym razem, gdy używasz Structured Streaming w Apache Spark do pozyskiwania danych z magazynu obiektów w chmurze. API są dostępne w językach Python i Scala.
Zacznij korzystać z Auto Loader w Databricks
Zapoznaj się z następującymi artykułami, aby rozpocząć konfigurowanie przyrostowego ładowania danych przy użyciu Auto Loader w potokach Lakeflow:
- Samouczek: tworzenie potoku ETL za pomocą potoków Lakeflow
- Skonfiguruj przyrostowe wczytywanie z Azure Data Lake Storage
Przykłady: typowe wzorce modułu ładującego automatycznego
Przykłady typowych wzorców automatycznego ładowania można znaleźć w temacie Typowe wzorce ładowania danych.
Konfiguracja opcji Auto Loader.
Pełny opis opcji konfiguracji sterujących sposobem, w jaki Auto Loader odczytuje i przetwarza pliki, znajduje się w sekcji Auto Loader.
Dostosowywanie automatycznego modułu ładującego
Auto loader można dostroić na podstawie ilości danych, różnorodności i szybkości.
- Skonfiguruj wnioskowanie schematu i jego ewolucję w Auto Loader: Skonfiguruj, jak Auto Loader wnioskuje o schemat danych i ewoluuje go z upływem czasu, w tym obsługę nowych kolumn i zmian typów.
- Automatyczne rozszerzanie typu przez Auto Loader
- Konfigurowanie automatycznego modułu ładującego pod kątem obciążeń produkcyjnych: optymalizowanie automatycznego modułu ładującego pod kątem niezawodności i wydajności w środowisku produkcyjnym, w tym punktów kontrolnych, obsługi błędów i zarządzania przechowywaniem plików.
- Przechowywanie danych źródłowych: automatyczne archiwizowanie lub usuwanie plików po pozyskaniu w celu zmniejszenia kosztów magazynowania i przyspieszenia odnajdywania plików.
- Monitorowanie i obserwacja Auto Loader: monitoruj kluczowe metryki, sprawdzaj stan pozyskiwania danych na poziomie pliku, twórz pulpity obserwowalności i rozwiązuj typowe problemy.
Jeśli wystąpi nieoczekiwana wydajność, zobacz Automatyczne ładowanie — często zadawane pytania.
Konfiguracja trybów wykrywania plików przez Auto Loader
Moduł automatycznego ładowania obsługuje dwa tryby wykrywania plików. Domyślnie moduł automatycznego ładowania używa trybu wyświetlania listy katalogów. Jednak Databricks zaleca w przypadku większości obciążeń tryb powiadomień o plikach wykorzystujący zdarzenia plików. See:
- Konfiguracja strumieni Auto Loader w trybie listy katalogów
- Konfigurowanie strumieni Auto Loader w trybie powiadomienia o plikach
Zarządzanie danymi poza kolejnością
Automatyczne ładowanie nie gwarantuje kolejności odnajdywania lub przetwarzania plików, niezależnie od tego, czy używasz listy katalogów, czy trybu powiadomień dotyczących plików. Użyj poniższych strategii, aby zaprojektować potoki w celu obsługi przybycia plików w niepoprawnej kolejności.
Potoki Lakeflow z AUTO CDC
Jeśli używasz potoków Lakeflow z funkcją Auto Loader i AUTO CDC, skonfiguruj retencję wpisów tombstone tak, by usunięte rekordy były przechowywane wystarczająco długo, aby obsłużyć pliki przychodzące w niewłaściwej kolejności. Ustaw właściwość tabeli pipelines.cdc.tombstoneGCThresholdInSeconds na docelowej tabeli przesyłania strumieniowego na wartość, która przekracza maksymalne oczekiwane opóźnienie między przybyciem zdarzenia a uruchomieniem potoku. Domyślny okres przechowywania wynosi dwa dni. Aby uzyskać szczegółowe informacje, zobacz create_auto_cdc_flow.
Structured Streaming bez potoków Lakeflow
Jeśli używasz Apache Spark Structured Streaming bezpośrednio z Auto Loaderem (bez potoków Lakeflow), rozważ następujące wzorce obsługi danych przychodzących poza kolejnością:
- Preferuj miękkie usuwanie zamiast twardego usuwania: śledź flagę
deletedi znacznik czasu zamiast usuwać wiersze, aby usunięcia z opóźnionym przybyciem nie powodowały konfliktów z wcześniejszymi rekordami. - Porównaj znaczniki czasu przed zastosowaniem aktualizacji: podczas upserting porównaj znacznik czasu aktualizacji rekordu przychodzącego z bieżącym znacznikiem czasu wiersza docelowego, aby uniknąć zastępowania nieaktualnych danych.
Zalety automatycznego ładowania przy korzystaniu z danych strumieniowych o ustrukturyzowanej formie bezpośrednio na plikach
Na platformie Apache Spark można odczytywać pliki przyrostowo przy użyciu polecenia spark.readStream.format(fileFormat).load(directory). Automatyczne ładowanie zapewnia następujące korzyści w porównaniu do źródła plików:
- Skalowalność: Moduł automatycznego ładowania może efektywnie odnajdywać miliardy plików. Wypełniania danych można wykonywać asynchronicznie, aby uniknąć marnowania zasobów obliczeniowych.
- Wydajność: koszt odnajdywania plików za pomocą narzędzia do automatycznego ładowania jest skalowany z liczbą plików pozyskanych zamiast liczby katalogów, w których pliki mogą znajdować się. Zobacz Konfigurowanie strumieni Auto Loader w trybie listy katalogów.
- Obsługa wnioskowania schematu i ewolucji: moduł ładujący automatycznie może wykrywać dryfy schematów, powiadamiać o wystąpieniu zmian schematu i ratować dane, które w przeciwnym razie zostałyby zignorowane lub utracone. Zobacz Jak działa wnioskowanie schematu Auto Loadera?.
- Koszt: Narzędzie do automatycznego ładowania korzysta z natywnych interfejsów API chmury do pobierania list plików, które istnieją w przechowalni. Ponadto tryb powiadamiania plików Auto Loadera może pomóc jeszcze bardziej zmniejszyć koszty chmury, całkowicie unikając tworzenia listy katalogów. Auto Loader może samodzielnie konfigurować usługi powiadomień o plikach w magazynie, aby odnajdywanie plików było znacznie tańsze.