Zelfstudie: Azure Databricks implementeren met een Azure Cosmos DB-eindpunt

In deze zelfstudie wordt beschreven hoe u een in VNet geïnjecteerde Databricks-omgeving implementeert met een service-eindpunt dat is ingeschakeld voor Azure Cosmos DB.

In deze zelfstudie leert u het volgende:

  • Een Azure Databricks-werkruimte maken in een virtueel netwerk
  • Een Azure Cosmos DB-service-eindpunt maken
  • Een Azure Cosmos DB-account maken en gegevens importeren
  • Een Azure Databricks-cluster maken
  • Query's uitvoeren op Azure Cosmos DB vanuit een Azure Databricks-notebook

Voorwaarden

Ga als volgt te werk voordat u begint:

Een Azure Cosmos DB-service-eindpunt maken

  1. Nadat u een Azure Databricks-werkruimte hebt geïmplementeerd in een virtueel netwerk, navigeert u naar het virtuele netwerk in de Azure Portal. Let op de openbare en persoonlijke subnetten die zijn gemaakt via de Databricks-implementatie.

  2. Selecteer het openbare subnet en maak een Azure Cosmos DB-service-eindpunt . Vervolgens opslaan.

    Een Cosmos DB-service-eindpunt toevoegen

Een Azure Cosmos DB-account maken

  1. Open de Azure Portal. Selecteer linksboven in het scherm Een resource > maken Databases > Azure Cosmos DB.

  2. Vul bij Instantiedetails op het tabblad Basisinformatie de volgende instellingen in:

    Instelling Waarde
    Abonnement uw abonnement
    Resourcegroep uw resourcegroep
    Accountnaam db-vnet-service-endpoint
    API Core (SQL)
    Locatie VS - west
    Geo-Redundancy Uitschakelen
    Schrijfbewerkingen voor meerdere regio's Inschakelen

    Basisaccountgegevens van Cosmos DB toevoegen

  3. Selecteer het tabblad Netwerk en configureer uw virtuele netwerk.

    A. Kies het virtuele netwerk dat u hebt gemaakt als vereiste en selecteer vervolgens openbaar subnet. U ziet dat het privésubnet de opmerking 'Microsoft AzureCosmosDB'-eindpunt ontbreekt heeft. Dit komt omdat u alleen het Azure Cosmos DB-service-eindpunt hebt ingeschakeld op het openbare subnet.

    B. Zorg ervoor dat Toegang vanaf Azure Portal toestaan is ingeschakeld. Met deze instelling hebt u toegang tot uw Azure Cosmos DB-account vanaf de Azure Portal. Als deze optie is ingesteld op Weigeren, krijgt u fouten wanneer u toegang probeert te krijgen tot uw account.

    Opmerking

    Dit is niet nodig voor deze zelfstudie, maar u kunt ook Toegang vanaf mijn IP-adres toestaan inschakelen als u toegang wilt krijgen tot uw Azure Cosmos DB-account vanaf uw lokale computer. Als u bijvoorbeeld verbinding maakt met uw account met behulp van de Azure Cosmos DB SDK, moet u deze instelling inschakelen. Als deze optie is uitgeschakeld, ontvangt u de foutmelding 'Toegang geweigerd'.

    Netwerkinstellingen cosmos DB-account

  4. Selecteer Beoordelen en maken en vervolgens Maken om uw Azure Cosmos DB-account in het virtuele netwerk te maken.

  5. Nadat uw Azure Cosmos DB-account is gemaakt, gaat u naar Sleutels onder Instellingen. Kopieer de primaire connection string en sla deze op in een teksteditor voor later gebruik.

    Pagina Cosmos DB-accountsleutels

  6. Selecteer Data Explorer en Nieuwe container om een nieuwe database en container toe te voegen aan uw Azure Cosmos DB-account.

    Nieuwe cosmos DB-verzameling

Gegevens uploaden naar Azure Cosmos DB

  1. Open de grafische interfaceversie van het hulpprogramma voor gegevensmigratie voor Azure Cosmos DBDtui.exe.

    Cosmos DB-hulpprogramma voor gegevensmigratie

  2. Selecteer op het tabblad Brongegevensde optie CSV-bestand(en) in de vervolgkeuzelijst Importeren uit . Selecteer vervolgens Bestanden toevoegen en voeg het CSV-bestand met stormgegevens toe dat u hebt gedownload als vereiste.

    Broninformatie van cosmos DB-hulpprogramma voor gegevensmigratie

  3. Voer op het tabblad Doelgegevens uw connection string in. De connection string indeling is AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>. AccountEndpoint en AccountKey zijn opgenomen in de primaire connection string die u in de vorige sectie hebt opgeslagen. Voeg toe Database=<your database name> aan het einde van de connection string en selecteer Verifiëren. Voeg vervolgens de containernaam en partitiesleutel toe.

    Doelgegevens van cosmos DB-hulpprogramma voor gegevensmigratie

  4. Selecteer Volgende totdat de pagina Samenvatting wordt weergegeven. Selecteer vervolgens Importeren.

Een cluster maken en een bibliotheek toevoegen

  1. Navigeer naar uw Azure Databricks-service in de Azure Portal en selecteer Werkruimte starten.

  2. Maak een nieuw cluster. Kies een clusternaam en accepteer de overige standaardinstellingen.

    Nieuwe clusterinstellingen

  3. Nadat het cluster is gemaakt, gaat u naar de clusterpagina en selecteert u het tabblad Bibliotheken . Selecteer Nieuwe installeren en upload het JAR-bestand van de Spark-connector om de bibliotheek te installeren.

    Spark-connectorbibliotheek installeren

    U kunt controleren of de bibliotheek is geïnstalleerd op het tabblad Bibliotheken .

    Tabblad Databricks-clusterbibliotheken

Query's uitvoeren op Azure Cosmos DB vanuit een Databricks-notebook

  1. Navigeer naar uw Azure Databricks-werkruimte en maak een nieuw Python-notebook.

    Nieuw Databricks-notebook maken

  2. Voer de volgende Python-code uit om de configuratie van de Azure Cosmos DB-verbinding in te stellen. Wijzig het eindpunt, de hoofdsleutel, de database en de container dienovereenkomstig.

    connectionConfig = {
      "Endpoint" : "https://<your Azure Cosmos DB account name.documents.azure.com:443/",
      "Masterkey" : "<your Azure Cosmos DB primary key>",
      "Database" : "<your database name>",
      "preferredRegions" : "West US 2",
      "Container": "<your container name>",
      "schema_samplesize" : "1000",
      "query_pagesize" : "200000",
      "query_custom" : "SELECT * FROM c"
    }
    
  3. Gebruik de volgende Python-code om de gegevens te laden en een tijdelijke weergave te maken.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Gebruik de volgende magic-opdracht om een SQL-instructie uit te voeren die gegevens retourneert.

    %sql
    select * from storm
    

    U hebt uw in VNet opgenomen Databricks-werkruimte verbonden met een Azure Cosmos DB-resource met een service-eindpunt. Zie Azure Cosmos DB-connector voor Apache Spark voor meer informatie over het maken van verbinding met Azure Cosmos DB.

Resources opschonen

Verwijder de resourcegroep, de Azure Databricks-werkruimte en alle gerelateerde resources wanneer u deze niet meer nodig hebt. Als u de taak verwijdert, voorkomt u onnodige facturering. Als u van plan bent om de Azure Databricks-werkruimte in de toekomst te gebruiken, kunt u het cluster stoppen en later opnieuw starten. Als u deze Azure Databricks-werkruimte niet meer gaat gebruiken, verwijdert u alle resources die u in deze zelfstudie hebt gemaakt met behulp van de volgende stappen:

  1. Klik in het linkermenu in de Azure Portal op Resourcegroepen en klik vervolgens op de naam van de resourcegroep die u hebt gemaakt.

  2. Selecteer verwijderen op de pagina van de resourcegroep, typ de naam van de resource die u wilt verwijderen in het tekstvak en selecteer vervolgens opnieuw Verwijderen .

Volgende stappen

In deze zelfstudie hebt u een Azure Databricks-werkruimte geïmplementeerd in een virtueel netwerk en de Azure Cosmos DB Spark-connector gebruikt om azure Cosmos DB-gegevens op te vragen vanuit Databricks. Ga verder met de zelfstudie voor het gebruik van SQL Server met Azure Databricks voor meer informatie over het werken met Azure Databricks in een virtueel netwerk.