Aller au contenu principal

Créer votre premier workflow avec Lakeflow Jobs

Orchestrer des tâches avec Lakeflow Jobs pour lire et traiter un dataset d'exemple. Dans ce démarrage rapide, vous :

  1. Créez un nouveau Notebook et ajoutez du code pour récupérer un exemple de dataset contenant les noms de bébés populaires par année.
  2. Enregistrer l'exemple de dataset dans Unity Catalog.
  3. Créez un nouveau notebook et ajoutez du code pour lire le dataset depuis Unity Catalog, filtrez-le par année et affichez les résultats.
  4. Créez un nouveau job et configurez deux tâches à l’aide des notebooks.
  5. Exécutez le job et consultez les résultats.

Exigences

Si votre Workspace est compatible avec Unity Catalog et que Serverless Jobs est activé, by default, le Job s’exécute sur Serverless compute. Vous n’avez pas besoin d’autorisation de création de cluster pour exécuter votre job avec Serverless compute.

Autrement, vous devez disposer d'autorisation de création de cluster pour créer un compute de Job ou d'autorisations pour les ressources de compute tout usage.

Vous devez disposer d'un volume dans Unity Catalog. Cet article utilise un volume d'exemple nommé my-volume dans un schéma nommé default au sein d'un catalogue nommé main. Vous devez disposer des autorisations suivantes dans Unity Catalog :

  • READ VOLUME et WRITE VOLUME pour le volume my-volume
  • USE SCHEMA pour le default schéma
  • USE CATALOG pour le catalogue main

Pour définir ces autorisations, consultez votre administrateur Databricks ou la référence des privilèges Unity Catalog.

Créer des notebooks

Les étapes suivantes créent deux Notebooks à exécuter dans ce workflow.

Récupérer et enregistrer les données

Pour créer un notebook qui récupère le dataset d'exemple et l'enregistre dans Unity Catalog :

  1. Cliquez sur Nouvelle icône Nouveau dans la barre latérale, puis cliquez sur Notebook . Databricks crée et ouvre un nouveau Notebook vierge dans votre dossier default. La langue default est la langue que vous avez utilisée le plus récemment, et le Notebook est automatiquement attaché à la ressource de compute que vous avez utilisée le plus récemment.

  2. (Facultatif) Renommez le Notebook Récupérer les données de nom.

  3. Si nécessaire, changez le langage par default en Python.

  4. Copiez le code Python suivant et collez-le dans la première cellule du notebook.

    Python
    import requests

    response = requests.get('https://health.data.ny.gov/api/views/jxy9-yhdk/rows.csv')
    csvfile = response.content.decode('utf-8')
    dbutils.fs.put("/Volumes/main/default/my-volume/babynames.csv", csvfile, True)

Lisez et affichez les données filtrées

Pour créer un notebook qui filtre et affiche vos données :

  1. Cliquez sur Nouvelle icône Nouveau dans la barre latérale, puis cliquez sur Notebook .

  2. (Facultatif) Renommez le notebook Filter name data .

  3. Le code Python suivant lit les données que vous avez enregistré à l'étape précédente et crée une vue temporaire. Il crée également un widget que vous pouvez utiliser pour filtrer les données dans la vue.

    Python
    babynames = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my-volume/babynames.csv")
    babynames.createOrReplaceTempView("babynames_table")
    years = spark.sql("select distinct(Year) from babynames_table").toPandas()['Year'].tolist()
    years.sort()
    dbutils.widgets.dropdown("year", "2014", [str(x) for x in years])
    display(babynames.filter(babynames.Year == dbutils.widgets.get("year")))

Créer un Job

Le Job que vous créez comporte deux tâches.

Pour créer la première tâche :

  1. Dans votre Workspace, cliquez Icône Workflows. sur **Tâches et pipelines** dans la barre latérale.
  2. Cliquez sur Créer , puis sur Job .
  3. Cliquez sur la vignette Notebook pour configurer la première tâche. Si la vignette Notebook n'est pas disponible, cliquez sur Ajouter un autre type de tâche et recherchez Notebook .
  4. (Facultatif) Remplacez le nom du job, qui est New Job <date-time> default, par le nom de votre job.
  5. Dans le champ Nom de la tâche , saisissez un nom pour la tâche ; par exemple, retrieve-baby-names .
  6. Si nécessaire, sélectionnez Notebook dans le menu déroulant Type .
  7. Dans le menu déroulant Source , sélectionnez Workspace , qui vous permet d'utiliser un Notebook que vous avez enregistré précédemment.
  8. Pour Chemin, utilisez l'explorateur de fichiers pour trouver le premier Notebook que vous avez créé, cliquez sur le nom du Notebook, puis cliquez sur Confirmer.
  9. Cliquez sur **Enregistrer la tâche**. Une notification apparaît dans le coin supérieur droit de l'écran.

Pour créer la 2e tâche :

  1. Cliquez sur Icône Plus. Ajouter une tâche > Notebook .
  2. Dans le champ Nom de la tâche , saisissez un nom pour la tâche ; par exemple, filter-baby-names .
  3. Pour Path , utilisez le navigateur de fichiers pour trouver le deuxième Notebook que vous avez créé, cliquez sur le nom du Notebook, puis cliquez sur Confirm .
  4. Click Add under parameter . Dans le champ Clé , saisissez year. Dans le champ Valeur , saisissez 2014.
  5. Cliquez sur Enregistrer la tâche .

Exécuter le job

Pour exécuter le Job immédiatement, cliquez sur Bouton Exécuter maintenant dans le coin supérieur droit.

Afficher les détails de l'exécution

  1. Cliquez sur le Runs tab et cliquez sur le Link dans la colonne start time pour ouvrir l'exécution que vous souhaitez afficher.

  2. Cliquez sur l'une ou l'autre des tâches pour afficher la sortie et les détails. Par exemple, cliquez sur la tâche **filter-baby-names** pour afficher la sortie et les détails de l'exécution de la tâche de filtrage :

    Afficher les résultats des noms de filtres

Exécuter avec d'autres paramètres

Pour réexécuter le Job et filtrer les prénoms de bébés pour une année différente :

  1. Cliquez Flèche vers le bas bleue sur à côté de **Exécuter maintenant** et sélectionnez **Exécuter maintenant avec des paramètres différents**.
  2. Dans le champ Valeur , entrez 2015.
  3. Cliquez sur Exécuter .

Ressources supplémentaires