Partager via


Utiliser un fichier de roue Python dans Les travaux Lakeflow

Un fichier roue Python est un moyen standard d’empaqueter et de distribuer les fichiers nécessaires à l’exécution d’une application Python. À l’aide de la tâche de roue Python, vous pouvez garantir une installation rapide et fiable du code Python dans vos travaux. Cet article contient un exemple de création d’un fichier roue Python et d’une tâche qui exécute l’application contenue dans la roue Python. Dans cet exemple, vous allez :

  • Créez les fichiers Python définissant un exemple d’application.
  • Regrouper les fichiers d’exemple dans un fichier roue Python.
  • Créez un travail pour exécuter le fichier roue Python.
  • Exécutez le travail et affichez les résultats.

Avant de commencer

Les éléments suivants sont nécessaires pour effectuer cet exemple :

  • Python3

  • Les packages Python wheel et setuptool. Vous pouvez utiliser pip pour installer ces packages. Par exemple, vous pouvez exécuter la commande suivante pour installer ces packages :

    pip install wheel setuptools
    

Étape 1 : Créer un répertoire local pour l’exemple

Créez un répertoire local pour contenir l’exemple de code et les artefacts générés, par exemple databricks_wheel_test.

Étape 2 : Créer l’exemple de script Python

L’exemple Python suivant est un script simple qui lit les arguments d’entrée et les imprime. Copiez ce script et enregistrez-le dans un chemin appelé my_test_code/__main__.py dans le répertoire que vous avez créé à l’étape précédente.

"""
The entry point of the Python Wheel
"""

import sys

def main():
  # This method will print the provided arguments
  print('Hello from my func')
  print('Got arguments:')
  print(sys.argv)

if __name__ == '__main__':
  main()

Étape 3 : Créer un fichier de métadonnées pour le package

Le fichier suivant contient des métadonnées décrivant le package. Enregistrez-le dans un chemin appelé my_test_code/__init__.py dans le répertoire que vous avez créé à l’étape 1.

__version__ = "0.0.1"
__author__ = "Databricks"

Étape 4 : Créer le fichier roue Python

La conversion des artefacts Python en un fichier roue Python nécessite de spécifier les métadonnées du paquet, telles que le nom du paquet et les points d’entrée. Le script suivant définit ces métadonnées.

Remarque

Les entry_points définis dans ce script sont utilisés pour exécuter le package dans le workflow Azure Databricks. Dans chaque valeur de entry_points, la valeur avant = (dans cet exemple, run) est le nom du point d’entrée et est utilisée pour configurer la tâche de la roue Python.

  1. Enregistrez ce script dans un fichier nommé setup.py à la racine du répertoire que vous avez créé à l’étape 1 :

    from setuptools import setup, find_packages
    
    import my_test_code
    
    setup(
      name='my_test_package',
      version=my_test_code.__version__,
      author=my_test_code.__author__,
      url='https://databricks.com',
      author_email='john.doe@databricks.com',
      description='my test wheel',
      packages=find_packages(include=['my_test_code']),
      entry_points={
        'group_1': 'run=my_test_code.__main__:main'
      },
      install_requires=[
        'setuptools'
      ]
    )
    
  2. Accédez au répertoire que vous avez créé à l’étape 1, puis exécutez la commande suivante pour empaqueter votre code dans la distribution de roue Python :

    python3 setup.py bdist_wheel
    

Cette commande crée le fichier roue Python et l’enregistre dans le fichier dist/my_test_package-0.0.1-py3.none-any.whl de votre répertoire.

Étape 5. Créer une tâche pour exécuter le fichier Python wheel

  1. Dans votre espace de travail, cliquez sur l’icône Flux de travail.Travaux & Pipelines dans la barre latérale.

  2. Cliquez sur Créer, puis Travail.

  3. Cliquez sur la vignette roue Python pour configurer la première tâche. Si la vignette roue Python n’est pas disponible, cliquez sur Ajouter un autre type de tâche et recherchez la roue Python.

  4. Si vous le souhaitez, remplacez le nom du travail, par défaut New Job <date-time>, par le nom de votre travail.

  5. Pour Nom de la tâche, entrez un nom pour la tâche.

  6. Si nécessaire, sélectionnez La roue Python dans le menu déroulant Type .

  7. Dans Nom du package, entrez my_test_package. La valeur Nom du package est le nom du package Python à importer. Dans cet exemple, le nom du package est la valeur attribuée au paramètre name dans setup.py.

  8. Dans Point d’entrée, entrez run. Le point d’entrée est l’une des valeurs spécifiées dans la collection entry_points dans le script setup.py. Dans cet exemple, run est le seul point d’entrée défini.

  9. Dans Compute, sélectionnez un cluster de travaux existant ou ajoutez un nouveau cluster de travaux.

  10. Spécifiez votre fichier de roue Python :

    • Dans la liste déroulante Environnement et bibliothèques , cliquez sur l’icône Crayon. En regard de La valeur par défaut, pour la modifier. Vous pouvez également cliquer sur Ajouter un nouvel environnement pour configurer un nouvel environnement.
    • Dans la boîte de dialogue Configurer l’environnement , cliquez sur Ajouter une dépendance.
    • Cliquez sur l’icône dossier pour ouvrir le navigateur de fichiers. Faites glisser et déposez le fichier de roue que vous avez créé à l’étape 4 dans la boîte de dialogue Sélectionner une dépendance .
    • Cliquez sur Confirmer.
  11. Dans Paramètres, sélectionnez arguments positionnels ou arguments mot clé pour entrer la clé et la valeur de chaque paramètre. Les arguments positionnels et de mots clés sont transférés vers la tâche de roue Python en tant qu’arguments de ligne de commande.

    • Pour entrer des arguments positionnels, entrez des paramètres sous la forme d’un tableau de chaînes au format JSON, par exemple : ["first argument","first value","second argument","second value"].
    • Pour entrer des arguments de mot clé, cliquez sur + Ajouter, puis entrez une clé et une valeur. Cliquez à nouveau sur + Ajouter pour entrer d’autres arguments.
  12. Cliquez sur Create task.

Étape 6 : Exécuter le travail et afficher les détails de l’exécution du travail

Cliquez sur le bouton Exécuter maintenant pour exécuter le flux de travail. Pour afficher les détails de l’exécution, cliquez sur l’onglet Exécutions , puis cliquez sur le lien dans la colonne Heure de début de l’exécution dans la vue Exécutions du travail .

Une fois l’exécution terminée, la sortie s’affiche dans le panneau Sortie, y compris les arguments passés à la tâche.

Étapes suivantes

Pour en savoir plus sur la création et l'exécution de tâches, consultez Lakeflow Jobs.