Aller au contenu principal

Définir le catalogue et le schéma cibles

La section Default location for data assets de l’interface utilisateur de configuration du pipeline définit le catalogue et le schéma default pour un pipeline. Ce catalogue et ce schéma default sont utilisés pour toutes les définitions de datasets et les lectures de tables, sauf s’ils sont remplacés dans la query.

remarque

Le mode de publication hérité utilise le schéma virtuel LIVE pour obtenir un comportement similaire. Dans le mode de publication {default} (utilisé par tous les nouveaux pipelines), le mot-clé LIVE est ignoré. Consultez le schéma EN DIRECT (hérité).

Cibler un dataset dans un catalogue ou un schéma différent

LakeFlow Pipelines supportent la sémantique de résolution d'identificateurs à trois niveaux. Databricks recommande d'utiliser des identifiants entièrement qualifiés pour les requêtes et les instructions qui ciblent des datasets autres que ceux par default configurés pour votre pipeline. Voir Résolution d’identifiant Unity Catalog. Par exemple, pour créer une vue matérialisée appelée regional_sales dans le catalogue main et le schéma stores, qui ne sont pas vos default de pipeline, qualifiez entièrement le nom, comme main.stores.regional_sales:

Python
from pyspark import pipelines as dp

@dp.materialized_view(name="main.stores.regional_sales")
def func():
return spark.read.table("partners");

Les pipelines prennent en charge les commandes SQL USE CATALOG catalog_name et USE SCHEMA schema_name. Exécutez ces commandes pour définir le catalogue et le schéma actuels définis pour le fichier ou le Notebook contenant ces commandes. Les Opérations qui suivent ces commandes dans le fichier de code source et utilisent des identificateurs non qualifiés ou partiellement qualifiés sont résolues sur le catalogue et le schéma actuels plutôt qu'aux valeurs par default définies dans la configuration du pipeline. Consultez Quel est le catalogue et le schéma actuels ?

Que se passe-t-il si un dataset n'existe pas ?

Le tableau suivant décrit le comportement lorsque le code source du pipeline référence des datasets qui n'existent pas :

Opérations

Résultat

Lire l'article

Si une table, une vue matérialisée, une table de streaming ou une vue n'existe pas pour l'identifiant spécifié, la mise à jour échoue.

Écriture

Si une vue matérialisée, une table de streaming, une vue ou un récepteur n’existe pas pour l’identifiant spécifié, la mise à jour tente de créer le dataset. Si nécessaire, la mise à jour crée également le schéma spécifié.

Opérations

Résultat

Lire l'article

Si une table, une vue matérialisée, une table de streaming ou une vue n'existe pas pour l'identifiant spécifié, la mise à jour échoue.

Écriture

Si une vue matérialisée, une table de streaming, une vue ou un récepteur n’existe pas pour l’identifiant spécifié, la mise à jour tente de créer le dataset. Si nécessaire, la mise à jour crée également le schéma spécifié.

important

Vous pourriez recevoir un message d'erreur indiquant qu'un dataset n'existe pas si vous ne disposez pas de privilèges suffisants pour afficher le dataset.

Vous devez disposer de privilèges suffisants pour lire, écrire et créer des datasets avec Lakeflow pipelines. Consultez la page Conditions requises.