Co to jest moduł automatycznego ładowania?

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?

Automatycznie ładujący przyrostowo i wydajnie przetwarza nowe pliki danych w miarę ich przybycia do magazynu w chmurze. Automatyczne ładowanie plików danych z usług AWS S3 (s3://), Azure Data Lake Storage Gen2 (ADLS Gen2, ), Google Cloud Storage (GCS, abfss://gs://), Azure Blob Storage (wasbs://), ADLS Gen1 (adl://) i Databricks File System (DBFS, dbfs:/). Moduł ładujący automatycznie może pozyskiwać JSONformaty plików , , ORCPARQUETXMLAVROCSVTEXTi .BINARYFILE

Uwaga

Moduł automatycznego ładowania udostępnia ź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. Funkcja automatycznego modułu ładującego obsługuje zarówno język Python, jak i sql w tabelach delta live.

Za pomocą modułu automatycznego ładowania można przetwarzać miliardy plików w celu migracji lub wypełniania tabeli. Automatyczne skalowanie modułu ładującego w celu obsługi pozyskiwania w czasie rzeczywistym milionów plików na godzinę.

W jaki sposób moduł ładujący automatycznie śledzi postęp pozyskiwania?

W miarę odnajdowania plików metadane są utrwalane w skalowalnym magazynie klucz-wartość (RocksDB) w lokalizacji punktu kontrolnego potoku automatycznego modułu ładującego. Ten magazyn klucz-wartość gwarantuje, że dane są przetwarzane dokładnie raz.

W przypadku awarii funkcja automatycznego ładowania może wznawiać działanie od miejsca, w którym dane są przechowywane w lokalizacji punktu kontrolnego i nadal zapewniać dokładnie jednokrotne gwarancje podczas zapisywania danych w usłudze Delta Lake. Nie musisz utrzymywać ani zarządzać żadnym stanem samodzielnie, aby osiągnąć odporność na uszkodzenia lub dokładnie raz semantyka.

Pozyskiwanie przyrostowe przy użyciu automatycznego modułu ładującego z tabelami na żywo delty

Usługa Databricks zaleca automatyczne ładowanie w tabelach delta Live Tables w celu pozyskiwania danych przyrostowych. Delta Live Tables rozszerza funkcje przesyłania strumieniowego ze strukturą platformy Apache Spark i umożliwia napisanie zaledwie kilku wierszy deklaratywnego języka Python lub sql w celu wdrożenia potoku danych jakości produkcyjnej za pomocą:

  • Automatyczne skalowanie infrastruktury obliczeniowej w celu uzyskania oszczędności kosztów
  • Sprawdzanie jakości danych z oczekiwaniami
  • Automatyczna obsługa ewolucji schematu
  • Monitorowanie za pomocą metryk w dzienniku zdarzeń

Nie trzeba podawać schematu ani lokalizacji punktu kontrolnego, ponieważ tabele Delta Live Tables automatycznie zarządzają tymi ustawieniami dla potoków. Zobacz Ładowanie danych za pomocą tabel delta live.

Usługa Databricks zaleca również automatyczne ładowanie za każdym razem, gdy używasz przesyłania strumieniowego ze strukturą platformy Apache Spark do pozyskiwania danych z magazynu obiektów w chmurze. Interfejsy API są dostępne w językach Python i Scala.

Wprowadzenie do automatycznego modułu ładującego usługi Databricks

Zapoznaj się z następującymi artykułami, aby rozpocząć konfigurowanie pozyskiwania danych przyrostowych przy użyciu automatycznego modułu ładującego z tabelami delta live:

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.

Konfigurowanie opcji automatycznego modułu ładującego

Auto loader można dostroić na podstawie ilości danych, różnorodności i szybkości.

Aby uzyskać pełną listę opcji automatycznego modułu ładującego, zobacz:

Jeśli wystąpi nieoczekiwana wydajność, zobacz często zadawane pytania.

Konfigurowanie trybów wykrywania plików automatycznego modułu ładującego

Moduł automatycznego ładowania obsługuje dwa tryby wykrywania plików. Zobacz:

Zalety automatycznego modułu ładującego za pomocą przesyłania strumieniowego ze strukturą bezpośrednio w plikach

Na platformie Apache Spark można odczytywać pliki przyrostowo przy użyciu polecenia spark.readStream.format(fileFormat).load(directory). Funkcja automatycznego ładowania zapewnia następujące korzyści w źródle 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 Co to jest tryb listy katalogów automatycznego modułu ładującego?.
  • 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 modułu automatycznego ładowania?.
  • Koszt: Narzędzie do automatycznego ładowania używa natywnych interfejsów API chmury do pobierania list plików, które istnieją w magazynie. Ponadto tryb powiadamiania plików automatycznego modułu ładującego może pomóc jeszcze bardziej zmniejszyć koszty chmury, unikając całkowitego wyświetlania listy katalogów. Automatyczne ładowanie może automatycznie konfigurować usługi powiadomień o plikach w magazynie, aby odnajdywanie plików było znacznie tańsze.