Remarque
L’accès à cette page requiert une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page requiert une autorisation. Vous pouvez essayer de modifier des répertoires.
Le chargeur automatique peut ingérer en toute sécurité des données à partir d’emplacements externes configurés avec Unity Catalog. Pour en savoir plus sur la connexion sécurisée du stockage avec le catalogue Unity, consultez Se connecter au stockage d’objets cloud à l’aide du catalogue Unity. Le chargeur automatique s’appuie sur Structured Streaming pour le traitement incrémentiel ; pour obtenir des recommandations et des limitations, consultez Utilisation d’Unity Catalog avec Structured Streaming.
Note
Dans Databricks Runtime 11.3 LTS et versions ultérieures, vous pouvez utiliser le chargeur automatique avec des modes d’accès standard ou dédiés (anciennement les modes d’accès partagé et mono-utilisateur).
Le mode Liste des répertoires est pris en charge par défaut. Le mode de notification de fichier est uniquement pris en charge sur les systèmes informatiques avec un mode d'accès dédié.
Spécifier des emplacements pour les ressources d'Auto Loader pour le catalogue Unity
Le modèle de sécurité Unity Catalog suppose que tous les emplacements de stockage référencés dans une charge de travail seront gérés par Unity Catalog. Databricks recommande de toujours stocker les informations de point de contrôle et d’évolution de schéma dans les emplacements de stockage gérés par Unity Catalog. Unity Catalog ne vous permet pas d’imbriquer des fichiers d’inférence et d’évolution de point de contrôle ou de schéma sous le répertoire de table.
Ingérer des données à partir du stockage cloud à l’aide du catalogue Unity
Les exemples suivants supposent que l’utilisateur en cours d’exécution dispose READ FILES d’autorisations sur l’emplacement externe, les privilèges de propriétaire sur les tables cibles et les configurations et octrois suivants.
Note
Azure Data Lake Storage est le seul type de stockage Azure pris en charge par Unity Catalog.
| Emplacement de stockage | Accorder |
|---|---|
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 |
Utiliser Auto Loader pour charger dans une table gérée par Unity Catalog
Les exemples suivants montrent comment utiliser l'Auto Loader pour ingérer des données dans une table managée du catalogue Unity.
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'
);
Lorsque vous utilisez read_files dans une instruction à l’intérieur d’un pipeline déclaratif Spark Lakeflow, les emplacements de point de contrôle et de schéma sont gérés automatiquement.