Delen via


VSCode-extensie voor Databricks-zelfstudie: Python uitvoeren op een cluster en als taak

In deze zelfstudie ziet u hoe u aan de slag gaat met de Databricks-extensie voor Visual Studio Code door een eenvoudig Python-codebestand uit te voeren op een Azure Databricks-cluster en als een Azure Databricks-taak uit te voeren in uw externe werkruimte. Zie Wat is de Databricks-extensie voor Visual Studio Code?

Wat gaat u doen in deze zelfstudie?

In deze praktische zelfstudie gaat u als volgt te werk:

  • Maak een Azure Databricks-cluster om uw lokale Python-code uit te voeren.
  • Installeer Visual Studio Code en de Databricks-extensie voor Visual Studio Code.
  • Stel Azure Databricks-verificatie in en configureer de Databricks-extensie voor Visual Studio Code met deze informatie.
  • Configureer de Databricks-extensie voor Visual Studio Code met informatie over uw externe cluster en laat de extensie het cluster starten.
  • Configureer de Databricks-extensie voor Visual Studio Code met de locatie in uw externe Azure Databricks-werkruimte om uw lokale Python-code te uploaden en laat de extensie luisteren naar gebeurtenissen voor het uploaden van code.
  • Schrijf en sla python-code op, waardoor een code-upload-gebeurtenis wordt geactiveerd.
  • Gebruik de Databricks-extensie voor Visual Studio Code om de geüploade code op uw externe cluster uit te voeren en deze vervolgens uit te voeren met uw cluster als een externe taakuitvoering.

In deze zelfstudie ziet u alleen hoe u een Python-codebestand uitvoert en in deze zelfstudie wordt alleen gedemonstreert hoe u OAuth-gebruikers-naar-machine-verificatie (U2M) instelt. Zie volgende stappen voor meer informatie over het opsporen van fouten in Python-codebestanden, het uitvoeren en opsporen van fouten in notebooks en het instellen van andere verificatietypen.

Stap 1: Een cluster maken

Als u al een extern Azure Databricks-cluster hebt dat u wilt gebruiken, noteert u de naam van het cluster en gaat u verder met stap 2 om Visual Studio Code te installeren. Als u de beschikbare clusters wilt weergeven, klikt u in de zijbalk van uw werkruimte op Compute.

Databricks raadt u aan een Personal Compute-cluster te maken om snel aan de slag te gaan. Ga als volgt te werk om dit cluster te maken:

  1. Klik in uw Azure Databricks-werkruimte in de zijbalk op Compute.
  2. Klik op Maken met Personal Compute.
  3. Klik op Rekenproces maken.
  4. Noteer de naam van uw cluster, omdat u dit later in stap 5 nodig hebt wanneer u clustergegevens toevoegt aan de extensie.

Stap 2: Visual Studio Code installeren

Volg de instructies voor macOS, Linux of Windows om Visual Studio Code te installeren.

Als u Visual Studio Code al hebt geïnstalleerd, controleert u of dit versie 1.69.1 of hoger is. Hiervoor klikt u in Visual Studio Code in het hoofdmenu op Code > over Visual Studio Code voor macOS of Help > over Linux of Windows.

Als u Visual Studio Code wilt bijwerken, klikt u in het hoofdmenu op Code > controleren op updates voor macOS of Help > controleren op updates voor Linux of Windows.

Stap 3: De Databricks-extensie installeren

De Visual Studio Code-extensie installeren

  1. Klik in de zijbalk van Visual Studio Code op het pictogram Extensies .
  2. Voer in Zoekextensies in Marketplace inDatabricks.
  3. Klik in de vermelding databricks met de ondertitel IDE-ondersteuning voor Databricks door Databricks op Installeren.

Stap 4: Azure Databricks-verificatie instellen

In deze stap schakelt u verificatie in tussen de Databricks-extensie voor Visual Studio Code en uw externe Azure Databricks-werkruimte, als volgt:

  1. Open vanuit Visual Studio Code een lege map op uw lokale ontwikkelcomputer die u gaat gebruiken om de Python-code te bevatten die u later in stap 7 gaat maken en uitvoeren. Klik hiervoor in het hoofdmenu op Map > openen en volg de aanwijzingen op het scherm.
  2. Klik op de zijbalk van Visual Studio Code op het logopictogram van Databricks .
  3. Klik in het deelvenster Configuratie op Databricks configureren.
  4. Voer in het opdrachtpalet voor Databricks Host bijvoorbeeld https://adb-1234567890123456.7.azuredatabricks.netuw URL per werkruimte in. Druk vervolgens op Enter.
  5. Selecteer OAuth (gebruiker naar computer).
  6. Voltooi de instructies op het scherm in uw webbrowser om de verificatie met Azure Databricks te voltooien. Als u hierom wordt gevraagd, staat u toegang tot alle API's toe.

Stap 5: clustergegevens toevoegen aan de Databricks-extensie en het cluster starten

  1. Terwijl het deelvenster Configuratie al is geopend in de vorige stap waar u verificatie hebt ingesteld, klikt u naast Cluster op het tandwielpictogram (Cluster configureren).
  2. Selecteer in het opdrachtpalet de naam van het cluster dat u in stap 1 hebt gemaakt.
  3. Start het cluster als het nog niet is gestart: klik naast Cluster op het pictogram Afspelen (Cluster starten) als het pictogram Afspelen (Cluster starten) zichtbaar is.

Het cluster starten

Stap 6: Voeg de uploadlocatie van de code toe aan de Databricks-extensie en start de uploadlistener

  1. Terwijl het deelvenster Configuratie al is geopend in de vorige stap waar u clustergegevens hebt toegevoegd, klikt u naast Synchronisatiebestemming op het tandwielpictogram (Synchronisatiebestemming configureren).
  2. Selecteer Nieuwe synchronisatiebestemming maken in het opdrachtenpalet.
  3. Druk Enter om de gegenereerde mapnaam voor extern uploaden te bevestigen.
  4. Start de uploadlistener als deze nog niet is gestart: klik naast Synchronisatiebestemming als het pictogram met de pijlvormige cirkel (synchronisatie starten) zichtbaar is.

De uploadlistener starten

Stap 7: Python-code maken en uitvoeren

  1. Maak een lokaal Python-codebestand: klik op de zijbalk op het mappictogram (Explorer).

  2. Klik in het hoofdmenu op Bestand > nieuw bestand. Geef het bestand een naam demo.py en sla het op in de hoofdmap van het project.

  3. Voeg de volgende code toe aan het bestand en sla deze vervolgens op. Met deze code wordt de inhoud van een eenvoudig PySpark-dataframe gemaakt en weergegeven:

    from pyspark.sql import SparkSession
    from pyspark.sql.types import *
    
    spark = SparkSession.builder.getOrCreate()
    
    schema = StructType([
       StructField('CustomerID', IntegerType(), False),
       StructField('FirstName',  StringType(),  False),
       StructField('LastName',   StringType(),  False)
    ])
    
    data = [
       [ 1000, 'Mathijs', 'Oosterhout-Rijntjes' ],
       [ 1001, 'Joost',   'van Brunswijk' ],
       [ 1002, 'Stan',    'Bokenkamp' ]
    ]
    
    customers = spark.createDataFrame(data, schema)
    customers.show()
    
    # Output:
    #
    # +----------+---------+-------------------+
    # |CustomerID|FirstName|           LastName|
    # +----------+---------+-------------------+
    # |      1000|  Mathijs|Oosterhout-Rijntjes|
    # |      1001|    Joost|      van Brunswijk|
    # |      1002|     Stan|          Bokenkamp|
    # +----------+---------+-------------------+
    
  4. Klik in de Verkenner-weergave met de rechtermuisknop op het demo.py bestand en klik vervolgens op Bestand uploaden en uitvoeren op Databricks. De uitvoer wordt weergegeven in het deelvenster Console voor foutopsporing.

Bestand uploaden en uitvoeren op Databricks

Stap 8: De code uitvoeren als een taak

In de vorige stap hebt u uw Python-code rechtstreeks op het externe cluster uitgevoerd. In deze stap initieert u een werkstroom die gebruikmaakt van het cluster om de code uit te voeren als een Azure Databricks-taak. Bekijk wat is Azure Databricks-taken?

Als u deze code als taak wilt uitvoeren, klikt u in de Verkenner-weergave met de rechtermuisknop op het demo.py bestand en klikt u vervolgens op Bestand uitvoeren als werkstroom op Databricks. De uitvoer wordt weergegeven op een afzonderlijk editortabblad naast de demo.py bestandseditor.

Bestand uitvoeren als werkstroom op Databricks

U hebt het einde van deze zelfstudie bereikt.

Volgende stappen

Nu u de Databricks-extensie voor Visual Studio Code hebt gebruikt om een lokaal Python-bestand te uploaden en op afstand uit te voeren, vindt u meer informatie over het gebruik van de extensie: