Tutorial: Implementieren von Azure Databricks mit einem Azure Cosmos DB-Endpunkt

Dieses Tutorial beschreibt, wie Sie eine Databricks-Umgebung mit eingefügtem VNet mithilfe eines für Azure Cosmos DB aktivierten Dienstendpunkts implementieren.

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen eines Azure Databricks-Arbeitsbereichs in einem virtuellen Netzwerk
  • Erstellen eines Azure Cosmos DB-Dienstendpunkts
  • Erstellen eines Azure Cosmos DB-Kontos und Importieren von Daten
  • Erstellen eines Azure Databricks-Clusters
  • Abfragen von Azure Cosmos DB über ein Azure Databricks-Notebook

Voraussetzungen

Führen Sie zunächst folgende Schritte aus:

Erstellen eines Azure Cosmos DB-Dienstendpunkts

  1. Nachdem Sie einen Azure Databricks-Arbeitsbereich in einem virtuellen Netzwerk bereitgestellt haben, navigieren Sie im Azure-Portal zu diesem virtuellen Netzwerk. Beachten Sie die öffentlichen und privaten Subnetze, die durch die Bereitstellung von Databricks erstellt wurden.

  2. Wählen Sie public-subnet aus, und erstellen Sie einen Azure Cosmos DB-Dienstendpunkt. Speichern Sie anschließend.

    Hinzufügen eines Cosmos DB-Dienstendpunkts

Erstellen eines Azure Cosmos DB-Kontos

  1. Öffnen Sie das Azure-Portal. Wählen Sie oben links auf dem Bildschirm die Option Ressource erstellen > Datenbanken > Azure Cosmos DB aus.

  2. Füllen Sie die Instanzdetails auf der Registerkarte Grundlagen mit den folgenden Einstellungen aus:

    Einstellung Wert
    Abonnement Ihr Abonnement
    Ressourcengruppe Ihre Ressourcengruppe
    Kontoname db-vnet-service-endpoint
    API Core (SQL)
    Location USA (Westen)
    Georedundanz Disable
    Schreibvorgänge in mehreren Regionen Aktivieren

    Hinzufügen von Cosmos DB-Standardkontoinformationen

  3. Wählen Sie die Registerkarte Netzwerk aus, und konfigurieren Sie Ihr virtuelles Netzwerk.

    a. Wählen Sie das virtuelle Netzwerk, das Sie als Voraussetzung erstellt haben, und wählen Sie dann public-subnet aus. Beachten Sie, dass private-subnet den Hinweis Der Endpunkt „Microsoft AzureCosmosDB“ fehlt aufweist. Dies liegt daran, dass Sie nur den Azure Cosmos DB-Dienstendpunkt in public-subnet aktiviert haben.

    b. Vergewissern Sie sich, dass Zulassen des Zugriffs vom Azure-Portal aktiviert ist. Mit dieser Einstellung können Sie im Azure-Portal auf Ihr Azure Cosmos DB-Konto zugreifen. Wenn diese Option auf Verweigern festgelegt ist, treten beim Versuch, auf Ihr Konto zuzugreifen, Fehler auf.

    Hinweis

    Die Option ist für dieses Tutorial zwar nicht erforderlich, aber Sie können auch Zugriff über meine IP-Adresse zulassen aktivieren, wenn Sie über Ihren lokalen Computer auf Ihr Azure Cosmos DB-Konto zugreifen möchten. Wenn Sie beispielsweise mithilfe des Azure Cosmos DB SDK eine Verbindung mit Ihrem Konto herstellen, müssen Sie diese Einstellung aktivieren. Wenn sie deaktiviert ist, erhalten Sie Fehler vom Typ „Zugriff verweigert“.

    Netzwerkeinstellungen für Cosmos DB-Konto

  4. Wählen Sie Überprüfen und erstellen und dann Erstellen aus, um Ihr Azure Cosmos DB-Konto innerhalb des virtuellen Netzwerks zu erstellen.

  5. Sobald Ihr Azure Cosmos DB-Konto erstellt wurde, navigieren Sie unter Einstellungen zu Schlüssel. Kopieren Sie die primäre Verbindungszeichenfolge, und speichern Sie sie zur späteren Verwendung in einem Texteditor.

    Schlüsselseite des Cosmos DB-Kontos

  6. Wählen Sie Daten-Explorer und Neuer Container aus, um Ihrem Azure Cosmos DB-Konto eine neue Datenbank und einen neuen Container hinzuzufügen.

    Neue Cosmos DB-Sammlung

Hochladen von Daten in Azure Cosmos DB

  1. Öffnen Sie die GUI-Version des Datenmigrationstools für Azure Cosmos DB, Dtui.exe.

    Datenmigrationstool von Cosmos DB

  2. Wählen Sie auf der Registerkarte Quellinformationen in der Dropdownliste Importieren aus die Option CSV-Datei(en) aus. Wählen Sie dann Dateien hinzufügen aus, und fügen Sie die Sturmdaten-CSV hinzu, die Sie als Voraussetzung heruntergeladen haben.

    Quellinformationen für Datenmigrationstool von Cosmos DB

  3. Geben Sie auf der Registerkarte Zielinformationen Ihre Verbindungszeichenfolge ein. Das Format der Verbindungszeichenfolge ist AccountEndpoint=<URL>;AccountKey=<key>;Database=<database>. „AccountEndpoint“ und „AccountKey“ sind in der primären Verbindungszeichenfolge enthalten, die Sie im vorherigen Abschnitt gespeichert haben. Fügen Sie Database=<your database name> am Ende der Verbindungszeichenfolge an, und wählen Sie Überprüfen aus. Fügen Sie anschließend den Containernamen und den Partitionsschlüssel hinzu.

    Zielinformationen für Datenmigrationstool von Cosmos DB

  4. Wählen Sie Weiter aus, bis Sie zur Zusammenfassungsseite gelangen. Wählen Sie dann Importieren aus.

Erstellen eines Clusters und Hinzufügen einer Bibliothek

  1. Navigieren Sie im Azure-Portal zu Ihrer Instanz des Azure Databricks-Diensts, und wählen Sie Arbeitsbereich starten aus.

  2. Erstellen Sie einen neuen Cluster. Wählen Sie einen Clusternamen, und übernehmen Sie die restlichen Standardeinstellungen.

    Einstellungen des neuen Clusters

  3. Nachdem der Cluster erstellt wurde, navigieren Sie zur Clusterseite und wählen die Registerkarte Bibliotheken aus. Wählen Sie Neue installieren aus, und laden Sie die JAR-Datei des Spark-Connectors hoch, um die Bibliothek zu installieren.

    Installieren der Spark-Connector-Bibliothek

    Auf der Registerkarte Bibliotheken können Sie überprüfen, ob die Bibliothek installiert wurde.

    Registerkarte „Bibliotheken“ des Databricks-Clusters

Abfragen von Azure Cosmos DB über ein Databricks-Notebook

  1. Wechseln Sie zu Ihrem Azure Databricks-Arbeitsbereich, und erstellen Sie ein neues Python-Notebook.

    Erstellen eines neuen Databricks-Notebooks

  2. Führen Sie den folgenden Python Code aus, um die Konfiguration der Azure Cosmos DB-Verbindung festzulegen. Ändern Sie den Endpunkt, den Hauptschlüssel, die Datenbank und den Container entsprechend.

    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. Verwenden Sie den folgenden Python-Code zum Laden der Daten und zum Erstellen einer temporäre Ansicht.

    users = spark.read.format("com.microsoft.azure.cosmosdb.spark").options(**connectionConfig).load()
    users.createOrReplaceTempView("storm")
    
  4. Verwenden Sie den folgenden Magic-Befehl zum Ausführen einer SQL­-Anweisung, die Daten zurückgibt.

    %sql
    select * from storm
    

    Sie haben Ihren Databricks-Arbeitsbereich mit eingefügtem VNet erfolgreich mit einer Azure Cosmos DB-Ressource verbunden, für die ein Dienstendpunkt aktiviert ist. Weitere Informationen zum Herstellen einer Verbindung mit Azure Cosmos DB finden Sie unter Azure Cosmos DB-Connector für Apache Spark.

Bereinigen von Ressourcen

Löschen Sie die Ressourcengruppe, den Azure Databricks-Arbeitsbereich und alle dazugehörigen Ressourcen, wenn Sie sie nicht mehr benötigen. Das Löschen des Auftrags vermeidet unnötige Abrechnung. Wenn Sie planen, den Azure Databricks-Arbeitsbereich in Zukunft zu nutzen, können Sie den Cluster stoppen und später neu starten. Wenn Sie diesen Azure Databricks-Arbeitsbereich nicht mehr verwenden möchten, löschen Sie alle Ressourcen, die im Rahmen dieses Tutorials erstellt wurden, mithilfe der folgenden Schritte:

  1. Klicken Sie im Azure-Portal im Menü auf der linken Seite auf Ressourcengruppen, und klicken Sie auf den Namen der erstellten Ressourcengruppe.

  2. Klicken Sie auf der Seite mit Ihrer Ressourcengruppe auf Löschen, geben Sie im Textfeld den Namen der zu löschenden Ressource ein, und klicken Sie dann erneut auf Löschen.

Nächste Schritte

In diesem Tutorial haben Sie einen Azure Databricks-Arbeitsbereich in einem virtuellen Netzwerk bereitgestellt und den Azure Cosmos DB Spark-Connector zum Abfragen von Azure Cosmos DB-Daten von Databricks verwendet. Fahren Sie mit dem Tutorial zum Verwenden von SQL Server mit Azure Databricks fort, um mehr zum Arbeiten mit Azure Databricks in einem virtuellen Netzwerk zu erfahren.