Delen via


Een Python-wielbestand gebruiken in Lakeflow Jobs

Een Python-wielbestand is een standaardmethode voor het verpakken en distribueren van de bestanden die nodig zijn om een Python-toepassing uit te voeren. Met behulp van de Python-wieltaak kunt u zorgen voor een snelle en betrouwbare installatie van Python-code in uw taken. Dit artikel bevat een voorbeeld van het maken van een Python-wielbestand en een taak waarmee de toepassing wordt uitgevoerd die is verpakt in het Python-wielbestand. In dit voorbeeld gaat u het volgende doen:

  • Maak de Python-bestanden die een voorbeeldtoepassing definiëren.
  • Bundel de voorbeeldbestanden in een Python-wielbestand.
  • Maak een taak om het Python-wielbestand uit te voeren.
  • Voer de taak uit en bekijk de resultaten.

Voordat u begint

U hebt het volgende nodig om dit voorbeeld te voltooien:

  • Python3

  • De Python wheel- en setuptool-pakketten. U kunt pip gebruiken om deze pakketten te installeren. U kunt bijvoorbeeld de volgende opdracht uitvoeren om deze pakketten te installeren:

    pip install wheel setuptools
    

Stap 1: Een lokale map maken voor het voorbeeld

Maak een lokale map voor het opslaan van de voorbeeldcode en gegenereerde artefacten, databricks_wheel_testbijvoorbeeld.

Stap 2: Het Python-voorbeeldscript maken

Het volgende Python-voorbeeld is een eenvoudig script waarmee invoerargumenten worden gelezen en die argumenten worden afgedrukt. Kopieer dit script en sla het op in een pad met de naam my_test_code/__main__.py in de map die u in de vorige stap hebt gemaakt.

"""
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()

Stap 3: Een metagegevensbestand voor het pakket maken

Het volgende bestand bevat metagegevens die het pakket beschrijven. Sla dit op in een pad dat wordt aangeroepen my_test_code/__init__.py in de map die u in stap 1 hebt gemaakt.

__version__ = "0.0.1"
__author__ = "Databricks"

Stap 4: Het Python-wielbestand maken

Voor het converteren van de Python-artefacten naar een Python-wielbestand moet u pakketmetagegevens opgeven, zoals de pakketnaam en toegangspunten. Het volgende script definieert deze metagegevens.

Notitie

De entry_points gedefinieerde in dit script worden gebruikt om het pakket uit te voeren in de Azure Databricks-werkstroom. In elke waarde in entry_points is de waarde vóór = (in dit voorbeeld run) de naam van het entrypoint en wordt deze gebruikt om de Python wheel-taak te configureren.

  1. Sla dit script op in een bestand met de naam setup.py in de hoofdmap van de map die u in stap 1 hebt gemaakt:

    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. Ga naar de map die u in stap 1 hebt gemaakt en voer de volgende opdracht uit om uw code in te pakken in de Python-wieldistributie:

    python3 setup.py bdist_wheel
    

Met deze opdracht maakt u het Python-wielbestand en slaat u het op in het dist/my_test_package-0.0.1-py3.none-any.whl bestand in uw map.

Stap 5. Een taak maken om het Python-wielbestand uit te voeren

  1. Klik in uw werkruimte op het pictogram Werkstromen.Taken en pijplijnen in de zijbalk.

  2. Klik Maken en vervolgens Taak.

  3. Klik op de python-wieltegel om de eerste taak te configureren. Als de Python-wieltegel niet beschikbaar is, klikt u op Nog een taaktype toevoegen en zoekt u naar het Python-wiel.

  4. Vervang eventueel de naam van de taak, die standaard wordt gebruikt New Job <date-time>, door uw taaknaam.

  5. Voer in taaknaam een naam in voor de taak.

  6. Selecteer indien nodig Het Python-wiel in het vervolgkeuzemenu Type .

  7. Voer in pakketnaammy_test_package in. De waarde pakketnaam is de naam van het Python-pakket dat moet worden geïmporteerd. In dit voorbeeld is de pakketnaam de waarde die is toegewezen aan de name parameter in setup.py.

  8. Voer bij invoerpunt in run. Het toegangspunt is een van de waarden die zijn opgegeven in de verzameling entry_points in het setup.py script. In dit voorbeeld run is het enige toegangspunt gedefinieerd.

  9. Selecteer in Computeeen bestaand taakcluster of Nieuwe taakcluster toevoegen.

  10. Geef het Python-wielbestand op:

    • Klik in de vervolgkeuzelijst Omgeving en bibliotheken op het potloodpictogram. Klik naast Standaard om deze te bewerken. U kunt ook op Nieuwe omgeving toevoegen klikken om een nieuwe omgeving te configureren.
    • Klik in het dialoogvenster Omgeving configureren op Afhankelijkheid toevoegen.
    • Klik op Mappictogram het mappictogram om de bestandsbrowser te openen. Sleep het wielbestand dat u in stap 4 hebt gemaakt naar het dialoogvenster Een afhankelijkheid selecteren en neerzetten.
    • Klik op Bevestigen.
  11. Selecteer in ParametersPositionele argumenten of Trefwoordargumenten om de sleutel en de waarde van elke parameter in te voeren. Zowel positionele als trefwoordargumenten worden als opdrachtregelargumenten doorgegeven aan de Python-wieltaak.

    • Als u positieargumenten wilt invoeren, voert u parameters in als een matrix met JSON-indeling met tekenreeksen, bijvoorbeeld: ["first argument","first value","second argument","second value"].
    • Als u trefwoordargumenten wilt invoeren, klikt u op + Toevoegen en voert u een sleutel en waarde in. Klik nogmaals op + Toevoegen om meer argumenten in te voeren.
  12. Klik op Taak maken.

Stap 6: Voer de taak uit en bekijk de details van de taakuitvoering

Klik Knop Nu uitvoeren hier om de werkstroom uit te voeren. Als u details voor de uitvoering wilt bekijken, klikt u op het tabblad Uitvoeringen en klikt u vervolgens op de koppeling in de kolom Begintijd voor de uitvoering in de weergave taakuitvoeringen .

Wanneer de uitvoering is voltooid, wordt de uitvoer weergegeven in het deelvenster Uitvoer , inclusief de argumenten die aan de taak zijn doorgegeven.

Volgende stappen

Zie Lakeflow-taken voor meer informatie over het creëren en uitvoeren van taken.