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ł Auto Loader może bezpiecznie pozyskiwać dane z lokalizacji zewnętrznych skonfigurowanych z Unity Catalogiem. Aby dowiedzieć się więcej na temat bezpiecznego łączenia magazynu z Unity Catalog, zobacz część Połącz się z magazynem obiektów w chmurze przy użyciu Unity Catalog. Automatyczne ładowanie opiera się na Strukturalnym Przesyłaniu Strumieniowym na potrzeby przetwarzania przyrostowego; aby uzyskać zalecenia i ograniczenia, zobacz Używanie Unity Catalog ze Strukturalnym Przesyłaniem Strumieniowym.
Uwaga
W środowisku Databricks Runtime 11.3 LTS lub nowszym można używać Auto Loader w trybach dostępu standardowego lub dedykowanego (dawniej tryb dostępu współdzielonego i tryb pojedynczego użytkownika).
Tryb wyświetlania listy katalogów jest domyślnie obsługiwany. Tryb powiadomień plików jest obsługiwany tylko w przypadku obliczeń z dedykowanym trybem dostępu.
Określanie lokalizacji dla zasobów Auto Loader w Unity Catalog
Model zabezpieczeń Unity Catalog zakłada, że wszystkie lokalizacje magazynowania wymienione w obciążeniu będą zarządzane przez Unity Catalog. Databricks zaleca zawsze przechowywać informacje o punktach kontrolnych i ewolucji schematów w lokalizacjach przechowywania zarządzanych przez Unity Catalog. Unity Catalog nie umożliwia zagnieżdżania punktów kontrolnych ani wnioskowania schematu i plików ewolucji w katalogu tabeli.
Przetwarzanie danych z magazynu w chmurze przy użyciu Unity Catalog
W poniższych przykładach założono, że wykonujący użytkownik ma READ FILES uprawnienia do lokalizacji zewnętrznej, uprawnienia właściciela na tabelach docelowych oraz następujące konfiguracje i uprawnienia.
Uwaga
Usługa Azure Data Lake Storage jest jedynym typem magazynu usługi Azure obsługiwanym przez Unity Catalog.
| Lokalizacja usługi Storage | Dotacja |
|---|---|
abfss://autoloader-source@<storage-account>.dfs.core.windows.net/json-data |
READ FILES |
abfss://dev-bucket@<storage-account>.dfs.core.windows.net |
READ FILES, WRITE FILES, CREATE TABLE |
Użyj Auto Loader do ładowania do tabeli zarządzanej przez Unity Catalog
W poniższych przykładach pokazano, jak używać Auto Loader do wprowadzania danych do tabeli zarządzanej w Unity Catalog.
Python
checkpoint_path = "abfss://dev-bucket@<storage-account>.dfs.core.windows.net/_checkpoint/dev_table"
(spark.readStream
.format("cloudFiles")
.option("cloudFiles.format", "json")
.option("cloudFiles.schemaLocation", checkpoint_path)
.load("abfss://autoloader-source@<storage-account>.dfs.core.windows.net/json-data")
.writeStream
.option("checkpointLocation", checkpoint_path)
.trigger(availableNow=True)
.toTable("dev_catalog.dev_database.dev_table"))
SQL
CREATE OR REFRESH STREAMING TABLE dev_catalog.dev_database.dev_table
AS SELECT * FROM STREAM read_files(
'abfss://autoloader-source@<storage-account>.dfs.core.windows.net/json-data',
format => 'json'
);
W przypadku użycia read_files instrukcji CREATE STREAMING TABLE wewnątrz deklaratywnych potoków Lakeflow Spark, punkty kontrolne i lokalizacje schematu są zarządzane automatycznie.