Planifiez l’exécution de votre notebook Snowflake

Vous pouvez planifier l’exécution de votre notebook Snowflake en tant que tâche. Les tâches exécutent du code au sein de Snowflake. Pour plus d’informations sur les tâches, voir Introduction aux tâches.

À propos de la planification des exécutions du notebook

Lorsque vous créez une planification pour l’exécution de votre notebook, Snowsight crée une tâche pour exécuter votre notebook selon cette planification. Cette opération exécute le notebook en mode non interactif, cellule par cellule, de haut en bas. Cette tâche appartient au rôle de propriétaire du notebook et utilise l’entrepôt du notebook pour s’exécuter. Par défaut, les tâches du notebook qui échouent sont suspendues automatiquement après 10 échecs.

Chaque exécution du notebook démarre le notebook et le connecte à l’entrepôt du notebook. En conséquence, l’entrepôt utilisé par le notebook est repris et reste actif jusqu’à 15 minutes après la fin de la tâche planifiée. Voir Remarques relatives à la facturation pour l’exécution de Snowflake Notebooks.

Privilèges requis pour pouvoir exécuter votre notebook en fonction d’une planification

Parce que le processus d’exécution d’un notebook sur une planification crée et exécute une tâche, vous devez utiliser un rôle qui possède les privilèges suivants :

Privilège

Objet

EXECUTE TASK

Compte

USAGE

Base de données contenant le notebook

USAGE, CREATE TASK

Schéma contenant le notebook

Planifier votre notebook

Pour planifier l’exécution de votre notebook, créez une tâche en procédant comme suit :

Note

Vous devez utiliser un rôle bénéficiant des privilèges CREATE TASK et EXECUTE TASK. Voir la liste complète dans la section relatives aux privilèges requis.

  1. Sélectionnez Projects » Notebooks.

  2. Localisez et sélectionnez le notebook à planifier.

  3. Dans le notebook, sélectionnez le bouton de planification, puis Create schedule.

    Le bouton de planification se trouve dans le coin supérieur droit.

    La boîte de dialogue Schedule a notebook run apparaît.

  4. Pour Schedule name, saisissez un nom pour la planification du notebook. Il s’agit du nom de la tâche qui exécute le notebook.

  5. Pour Frequency, sélectionnez une fréquence d’exécution du notebook (par exemple, Daily).

  6. En fonction de la fréquence que vous sélectionnez, définissez Scheduled time et les autres options pour qu’ils correspondent au moment où vous souhaitez que le notebook s’exécute.

  7. En option, pour Parameter, vous pouvez ajouter des arguments de syntaxe de ligne de commande à transmettre au notebook planifié. Par exemple : key1=value1 key2=value2 --option2.

    Note

    Si vous transmettez -- (deux tirets) comme argument autonome, tout argument transmis avant les tirets sera interprété comme transmis au runtime de notebook.

  8. Examinez l’aperçu de la planification et sélectionnez Create.

Une tâche est créée pour planifier l’exécution de votre notebook.

Gérer les planifications des notebooks

Une fois que vous avez créé des planifications pour votre notebook, vous pouvez les voir et les modifier via la liste des tâches du schéma dans lequel se trouve le notebook.

  1. Sélectionnez Projects » Notebooks.

  2. Localisez et sélectionnez le notebook pour lequel vous souhaitez gérer les planifications.

  3. Dans le notebook, sélectionnez le bouton de planification, puis View schedules. Ceci affiche un tableau de toutes les tâches contenues dans le schéma dans lequel se trouve le notebook.

  4. Utilisez le menu vertical indiqué par une ellipse Plus d'actions pour la feuille de calcul sur la tâche qui exécute votre notebook et sélectionnez une action.

Vous pouvez effectuer des modifications telles que modifier l’heure ou la fréquence de la planification, suspendre ou supprimer complètement la tâche. Consultez Introduction aux tâches pour plus de détails sur la gestion des tâches.

Accéder aux paramètres d’un notebook planifié

Vous pouvez accéder aux paramètres d’un notebook planifié via sys.argv. Par exemple :

# first argument
sys.argv[0]

# print the entire list
st.write(sys.argv)
Copy

Gérer les exécutions antérieures de notebooks planifiées

Une fois que votre notebook s’est exécuté comme prévu, vous pouvez consulter son historique d’exécution :

  1. Sélectionnez Projects » Notebooks.

  2. Localisez et sélectionnez le notebook à planifier.

  3. Dans le notebook, sélectionnez le bouton de planification, puis View run history.

    La boîte de dialogue Run History de votre notebook apparaît.

  4. Vous pouvez consulter l’historique d’exécution du notebook, y compris l’activité d’exécution générée par la tâche planifiée ou une API. Les exécutions de notebooks par un utilisateur ne sont pas incluses. Vous pouvez consulter les détails suivants :

    • Trigger : le nom de la tâche qui a provoqué l’exécution du notebook.

    • Last Ran : l’horodatage de la dernière exécution planification du notebook.

    • Status : le statut de la tâche qui s’est exécutée.

    • Duration : la durée d’exécution du notebook.

    • Results : un lien vers les résultats de l’exécution du notebook. Les résultats sont en lecture seule et les cellules du notebook ne peuvent pas être modifiées. Vous pouvez sélectionner Edit current notebook pour ouvrir et modifier la version actuelle du notebook.

  5. Sélectionnez éventuellement View all tasks in schema pour afficher un tableau de toutes les tâches contenues dans le schéma.

  6. Sélectionnez Done pour revenir à votre notebook.

Pour plus d’informations sur la vue de l’historique des tâches, voir Affichage de l’historique des tâches de votre compte.

Utilisation de votre propre planification

Certains clients peuvent préférer exécuter le notebook à l’aide de leur propre outil de planification, comme Airflow. Pour ce faire, ils peuvent exécuter la commande suivante :

EXECUTE NOTEBOOK DB.SCHEMA.NOTEBOOK_NAME();
Copy

Cette opération exécute le notebook cellule par cellule, de haut en bas. Les résultats sont accessibles dans la section de l’historique de l’exécution du notebook.

Limitations

  • L’historique d’exécution de vos notebooks planifiés est limité aux 7 derniers jours.

  • La modification du nom d’un notebook s’exécutant sous forme de tâche planifiée peut entraîner une erreur dans la tâche. Vous pouvez modifier manuellement la tâche à l’aide de la commande CREATE TASK pour appeler le notebook avec le nom modifié.