Utilisez les instructions ALTER avec les datasets de pipeline.
Les LakeFlow Pipelines sont définis dans un code source dédié que vous rédigez en SQL ou en Python, par exemple, dans l’ éditeur de LakeFlow Pipelines.
Lakeflow Connect crée des pipelines qui ingèrent les données et créent des tables de streaming d'ingestion.
Databricks fournit également un environnement SQL appelé Databricks SQL. Vous pouvez créer des vues matérialisées et des tables de streaming avec Databricks SQL en utilisant la fonctionnalité de pipeline en dehors de Lakeflow (voir Pipelines autonomes). En général, Databricks SQL n'est pas utilisé pour créer ou mettre à jour les LakeFlow Pipelines.
Cependant, vous pouvez utiliser les instructions ALTER SQL dans Databricks SQL pour modifier les propriétés d'un dataset créé avec LakeFlow Pipelines, Databricks SQL ou Lakeflow Connect. Utilisez ces instructions SQL à partir de n'importe quel environnement Databricks SQL, que vous modifiiez les datasets de pipeline Lakeflow, les datasets de pipeline autonomes ou les datasets Lakeflow Connect.
- Tables de streaming – ALTER STREAMING TABLE
- Vues matérialisées – ALTER MATERIALIZED VIEW
Pour les datasets pris en charge par un pipeline autonome créé dans Databricks SQL, vous pouvez également modifier le propriétaire avec SET OWNER TO.
Vous ne pouvez pas modifier le planning ou le trigger d'un dataset défini dans les LakeFlow Pipelines avec une instruction ALTER.
Limitation : les mises à jour et les modifications du pipeline effectuées avec ALTER
Il y a des cas où les instructions ALTER sont en conflit avec la définition des datasets créés par le pipeline. Le SQL qui définit une table ou une vue dans un pipeline est réexécuté à chaque mise à jour. Cela peut annuler les modifications que vous apportez avec une instruction ALTER.
Par exemple, si vous avez une instruction SQL qui définit une vue matérialisée, comme celle-ci :
CREATE OR REPLACE MATERIALIZED VIEW masked_view (
id int,
name string,
region string,
ssn string MASK catalog.schema.ssn_mask_fn
)
WITH ROW FILTER catalog.schema.us_filter_fn ON (region)
AS SELECT id, name, region, ssn
FROM employees;
Ensuite, vous essayez de supprimer le masque de la colonne ssn à l'aide d'une instruction ALTER, comme suit :
ALTER MATERIALIZED VIEW masked_view ALTER COLUMN ssn DROP MASK;
Le masque est supprimé, mais la prochaine fois que la vue matérialisée est mise à jour, la définition SQL le rajoute.
Pour supprimer le masque en toute sécurité, vous devez modifier la définition SQL pour supprimer le masque, puis exécuter la commande ALTER pour DROP le masque.
Pour modifier la définition d'un pipeline défini dans LakeFlow Pipelines, modifiez la source de votre pipeline à l'aide de l'éditeur de pipeline. Pour modifier la définition d'un pipeline autonome, exécutez l'instruction SQL modifiée dans n'importe quel environnement Databricks SQL.