Delen via


Een Python-wielbestand gebruiken in een Azure Databricks-taak

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 Azure Databricks-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

  • wheel Python en setuptool pakketten. U kunt deze pakketten installeren pip . 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, de waarde voor = (in dit voorbeeld run) is de naam van het toegangspunt en wordt gebruikt om de Python-wieltaak 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 Azure Databricks-taak maken om het Python-wielbestand uit te voeren

  1. Ga naar de landingspagina van Azure Databricks en voer een van de volgende handelingen uit:

    • Klik in de zijbalk op Pictogram Werkstromen Werkstromen en klik op Knop Taak maken.
    • Klik in de zijbalk op Nieuw pictogram Nieuw en selecteer Taak in het menu.
  2. Vervang in het taakdialoogvenster dat wordt weergegeven op het tabblad Taken een naam voor uw taak toevoegen... door uw taaknaam, bijvoorbeeldPython wheel example.

  3. Voer in De naam van de taak een naam in voor de taak, bijvoorbeeldpython_wheel_task.

  4. Selecteer Python Wheel in Type.

  5. Voer in pakketnaam de naam in my_test_package. 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.

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

  7. Selecteer in Compute een bestaand taakcluster of voeg een nieuw taakcluster toe.

  8. Klik onder Afhankelijke bibliotheken op Toevoegen. Sleep in het dialoogvenster Afhankelijke bibliotheek toevoegen, met Werkruimte geselecteerd, het my_test_package-0.0.1-py3-none-any.whl bestand dat u in stap 4 hebt gemaakt naar het gebied Neerzetten van het dialoogvenster.

  9. Klik op Toevoegen.

  10. Selecteer in Parameters positionele 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 positionele argumenten 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.
  11. 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 weergeven, klikt u op Uitvoering weergeven in het pop-upvenster Geactiveerde uitvoering of klikt u 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 Werkstromen plannen en organiseren voor meer informatie over het maken en uitvoeren van Azure Databricks-taken.