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?
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 języki Python i SQL w technologii DLT.
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ę.
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 Gen2 (ADLS Gen2,
abfss://
)Google Cloud Storage (GCS,
gs://
)Azure Blob Storage (
wasbs://
)Uwaga
Sterownik obiektów blob starszej wersji usługi Windows Azure Storage (WASB) został wycofany. ABFS ma wiele korzyści w porównaniu z WASB. Zobacz dokumentację platformy Azure dotyczącą systemu ABFS. Aby uzyskać dokumentację dotyczącą pracy ze starszym sterownikiem WASB, zobacz Connect to Azure Blob Storage with WASB (legacy)(Nawiązywanie połączenia z usługą Azure Blob Storage przy użyciu starszej wersji systemu WASB).
ADLS Gen1 (
adl://
)Uwaga
Platforma Azure ogłosiła planowane wycofanie Azure Data Lake Storage Gen1. Usługa Databricks zaleca migrację wszystkich danych z usługi Azure Data Lake Storage Gen1 do usługi Azure Data Lake Storage Gen2. Jeśli jeszcze nie przeprowadzono migracji, zobacz Uzyskiwanie dostępu do usługi Azure Data Lake Storage Gen1 z usługi Azure Databricks.
System plików usługi Databricks (DBFS,
dbfs:/
).
Moduł ładujący może automatycznie pozyskiwać formaty plików JSON
, CSV
, XML
, PARQUET
, AVRO
, ORC
, TEXT
i BINARYFILE
.
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 klucz-wartość 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 utrzymywać ani zarządzać żadnym stanem samodzielnie, aby osiągnąć odporność na uszkodzenia lub semantykę dokładnie raz.
Pozyskiwanie przyrostowe przy użyciu automatycznego modułu ładującego z biblioteką DLT
Databricks zaleca użycie Auto Loader w DLT do przetwarzania danych przyrostowych. Biblioteka DLT rozszerza funkcjonalność przesyłania strumieniowego w ramach Apache Spark Structured Streaming i umożliwia napisanie zaledwie kilku wierszy deklaratywnego kodu w języku Python lub SQL, aby wdrożyć potok danych o jakości produkcyjnej za pomocą:
- Automatyczne skalowanie infrastruktury obliczeniowej w celu uzyskania oszczędności kosztów
- Sprawdzanie jakości danych zgodnie z wymaganiami
- Automatyczna obsługa ewolucji schematu
- Monitorowanie za pomocą metryk w dzienniku zdarzeń
Nie trzeba podawać schematu ani lokalizacji punktu kontrolnego, ponieważ biblioteka DLT automatycznie zarządza tymi ustawieniami dla potoków. Zobacz Ładowanie danych za pomocą biblioteki DLT.
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. Interfejsy 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 pozyskiwania danych przy użyciu Auto Loadera z DLT:
- Poradnik: uruchom swoje pierwsze obciążenie ETL w usłudze Databricks, używając przykładowych danych (Python, notatnik SQL)
- Ładowanie danych z chmurowego magazynu obiektów do tabel strumieniowych za pomocą Auto Loader (notebook: Python, SQL)
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.
Auto loader można dostroić na podstawie ilości danych, różnorodności i szybkości.
- Konfigurowanie wnioskowania schematu i jego ewolucji w automatycznym module ładującym
- Konfigurowanie automatycznego modułu ładującego dla obciążeń produkcyjnych
Aby uzyskać pełną listę opcji automatycznego modułu ładującego, zobacz:
Jeśli wystąpi nieoczekiwane działanie, zobacz często zadawane pytania.
Konfiguracja trybów wykrywania plików przez Auto Loader
Moduł automatycznego ładowania obsługuje dwa tryby wykrywania plików. Zobacz:
- Co to jest tryb wyświetlania katalogów w Auto Loaderze?
- Co to jest tryb powiadamiania w automatycznym ładowaniu plików?
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 Co to jest tryb listowania katalogów w Auto Loaderze?.
- 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 w dalszym zmniejszaniu kosztów chmury poprzez całkowite unikanie wyświetlania 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.