Freigeben über


Verwalten von Bibliotheken in Fabric Umgebungen

Microsoft Fabric Umgebungen bieten eine flexible Konfiguration für die Ausführung von Spark-Aufträgen. Bibliotheken stellen wiederverwendbaren Code für Notizbücher und Spark-Auftragsdefinitionen bereit. Zusätzlich zu integrierten Bibliotheken, die in jeder Spark-Runtime enthalten sind, können Sie öffentliche und benutzerdefinierte Bibliotheken in Fabric Umgebungen installieren.

Hinweis

Navigieren Sie zu dem Arbeitsbereich, in dem sich Ihre Umgebung befindet, und wählen Sie die Optionen für die Bibliotheksverwaltung im linken Navigationsbereich aus. Wenn Sie keine Umgebung erstellt haben, sehen Sie Erstellen, konfigurieren und Verwenden einer Umgebung in Fabric.

Integrierte Bibliotheken

In Fabric wird jede Laufzeitversion mit einem kuratierten Satz integrierter Bibliotheken vorinstalliert, die für Leistung, Kompatibilität und Sicherheit in Python, R, Java und Scala optimiert sind. Auf der Seite "Integrierte Bibliotheken" in der Umgebung können Sie diese vorinstallierten Bibliotheken basierend auf der ausgewählten Laufzeit durchsuchen und finden.

Diese Bibliotheken werden standardmäßig in jeder Umgebung installiert und können nicht geändert werden. Sie sind verfügbar, wenn Sie Ihre Notizbuch- oder Spark-Auftragsdefinition in dieser Umgebung ausführen.

Informationen zum Anzeigen der Liste der vorinstallierten Pakete und deren Versionen für jede Laufzeit finden Sie unter Apache Spark runtimes in Fabric.

Hinweis

Ansätze pro Notizbuch, wie der Ordner für Notizbuchressourcen und Inline-Installationsbefehle (z. B. %pip install oder %conda install in einer Codezelle), sind manuell, sitzungsbezogen oder notizbuchbezogen und werden nicht durch Umgebungspublikationen beeinflusst. Verwenden Sie sie für schnelle, einmalige Bibliothekszufügungen während der interaktiven Entwicklung.

Von Bedeutung

Fabric unterstützt verschiedene Möglichkeiten zum Verwalten von Paketen. Weitere Optionen und Best Practices finden Sie unter Manage Apache Spark libraries in Fabric. Wenn Ihr Arbeitsbereich Netzwerkfeatures wie Arbeitsbereichsschutz für ausgehenden Zugriff oder verwaltete VNets verwendet, wird der Zugriff auf öffentliche Repositorys wie PyPI blockiert. Für Anleitung siehe Bibliotheken mit eingeschränktem Netzwerkzugriff in Fabric verwalten. Wenn die integrierten Bibliotheksversionen Ihre Anforderungen nicht erfüllen, können Sie sie überschreiben, indem Sie die gewünschte Version im Abschnitt für externe Repositorys angeben oder eigene benutzerdefinierte Pakete hochladen.

Externe Repositorys

Sie können Bibliotheken aus öffentlichen Repositorys wie PyPI, Conda und Maven oder aus privaten Repositorys hinzufügen. Die Optionen für den Quell- und Veröffentlichungsmodus unterscheiden sich je nach Repositorytyp. Wenn Sie eine Bibliothek hinzufügen, wählen Sie einen Veröffentlichungsmodus (vollständig oder schnell) aus. Ausführliche Informationen zur Funktionsweise der einzelnen Modus finden Sie unter Auswählen des Veröffentlichungsmodus für Bibliotheken.

Screenshot, der den Bildschirm

Hinzufügen einer Bibliothek aus einem öffentlichen Python-Repository

Mit öffentlichen Repositorys können Sie Pakete von PyPI oder Conda installieren.

  1. Wählen Sie auf der Registerkarte "Externe Repositorys " die Option "Bibliothek hinzufügen" aus.

  2. Wählen Sie "Bibliothek aus öffentlichem Repository hinzufügen" aus.

  3. Wählen Sie die Quelle (PyPI oder Conda) aus.

  4. Geben Sie den Bibliotheksnamen in das Suchfeld ein. Während der Eingabe schlägt das Suchfeld beliebte Bibliotheken vor, die Liste ist jedoch eingeschränkt. Wenn Ihre Bibliothek nicht angezeigt wird, geben Sie den vollständigen Namen ein.

    Screenshot des Vorgangs zum Hinzufügen einer Bibliothek aus einem öffentlichen Repository.

    Wenn der Bibliotheksname gefunden wird, werden die verfügbaren Versionen angezeigt.

  5. Wählen Sie die Version aus, und speichern und veröffentlichen Sie Ihre Umgebung.

Bibliothek aus Maven hinzufügen

Fabric unterstützt die direkte Installation von Bibliotheken aus Maven-Repositorys. Erstellen Sie dazu eine POM-Datei , die die Maven-Abhängigkeiten auflistet, die Sie installieren möchten, und laden Sie sie in die Umgebung hoch.

  1. Wählen Sie auf der Registerkarte "Externe Repositorys " die Option "Importieren pom.xml" aus.

  2. Wählen Sie die pom.xml Datei aus Ihrem lokalen Verzeichnis aus.

Hinweis

  • Das Importieren von pom.xml wird nur in Spark 4.0 und höher unterstützt.
  • Das Importieren pom.xml wird nur im Vollmodus unterstützt. In diesem Modus führt Fabric Abhängigkeitsauflösung und Konflikterkennung für Maven-Pakete aus. Wenn eine Bibliothek nicht mit der Laufzeit kompatibel ist, wird nach der Veröffentlichung ein Fehler angezeigt.
  • Das Importieren pom.xml wird in Arbeitsbereichen mit aktivierter Ausgehender Zugriffsschutz nicht unterstützt. Laden Sie in diesen Arbeitsbereichen die erforderlichen Bibliotheken von Maven herunter, und laden Sie sie stattdessen als benutzerdefinierte Bibliotheken hoch.

Hinzufügen einer Bibliothek aus einem privaten Repository

Mit privaten Repositorys können Sie Pakete mit Pip oder Conda installieren.

  1. Wählen Sie auf der Registerkarte "Externe Repositorys " die Option "Bibliothek hinzufügen" aus.

  2. Wählen Sie "Bibliothek aus privatem Repository hinzufügen" aus.

  3. Wählen Sie die Quelle (pip oder conda) aus.

  4. Geben Sie den Bibliotheksnamen und die Version ein. Stellen Sie sicher, dass Sie den Bibliotheksnamen und die Version genau eingeben, da das Durchsuchen von Bibliotheken in privaten Repositorys während der Eingabe nicht unterstützt wird. Falsche Paketinformationen führen dazu, dass die Veröffentlichung fehlschlägt.

Hinzufügen von Bibliotheken aus einem Azure Artefaktfeed

Azure Artefaktfeeds können entweder auf ein Projekt (privat) oder auf eine Organisation (öffentlich) festgelegt werden. Fabric unterstützt beide Bereiche. Unabhängig von der Sichtbarkeit des Feeds in Azure DevOps stellt Fabric immer eine Verbindung über eine authentifizierte Data Factory-Verbindung her, daher müssen Sie eine Verbindung auch für öffentliche Feeds einrichten.

Hinweis

Das Installieren von Bibliotheken aus Azure Artefaktfeed wird in Spark 3.5 unterstützt. Sie wird in Arbeitsbereichen mit aktiviertem Private Link oder ausgehendem Zugriffsschutz nicht unterstützt.

Einrichten einer Verbindung für Ihren Azure Artefaktfeed

Die Umgebung speichert keine Anmeldeinformationen direkt. Stattdessen erstellen Sie eine Verbindung über Data Factory Connector und referenzieren diese in einer YML-Datei mittels der Verbindungs-ID. Erfahren Sie mehr über Azure Artefaktfeed.

  1. Wählen Sie das Zahnradsymbol Settings in der oberen rechten Ecke des Fabric Portals aus, und wählen Sie dann Manage-Verbindungen und Gateways aus.

    Screenshot, der den Startpunkt der externen Repository-Konnektoren der Umgebung zeigt.

  2. Erstellen Sie eine neue Verbindung. Wählen Sie + Neu und dann Cloud als Typ aus, und wählen Sie Azure Artefaktfeed (Vorschau) als Verbindungstyp aus.

    Screenshot, das ein Beispiel für die Erstellung einer neuen Cloudverbindung zeigt, wobei Azure Artifact Feed (Vorschau) ausgewählt ist.

  3. Geben Sie die Feed-URL und ein persönliches Zugriffstoken (PAT) mit dem Bereich "Packaging > Read " ein.

  4. Wählen Sie Zulassen, dass Code-First-Artefakte (wie Notizbücher) auf diese Verbindung zugreifen (Vorschau).

    Screenshot, der ein Beispiel für das Erstellen eines neuen Connectorbildschirms zeigt.

  5. Wählen Sie "Erstellen" aus, um die Verbindung zu speichern. Sie sollten es in der Verbindungsliste sehen.

  6. Notieren Sie die Verbindungs-ID nach der Erstellung. Sie benötigen sie im nächsten Schritt.

Vorbereiten und Hochladen einer YML-Datei

Erstellen Sie eine YML-Datei, die die Pakete auflistet, die Sie installieren möchten, und verweist auf die Verbindungs-ID anstelle der Feed-URL und anmeldeinformationen. Fabric verwendet die Verbindungs-ID zum Authentifizieren und Herunterladen von Paketen aus Ihrem Feed beim Veröffentlichen.

Eine Standardmäßige Pip-Konfiguration verweist direkt auf die Feed-URL und Anmeldeinformationen:

dependencies:
  - pip:
    - fuzzywuzzy==0.18.0
    - wordcloud==1.9.4
    - --index-url <URL_TO_THE_AZURE_ARTIFACT_FEED_WITH_AUTH>

Ersetzen Sie für Fabric die URL durch die Zuvor aufgezeichnete Verbindungs-ID:

dependencies:
  - pip:
    - fuzzywuzzy==0.18.0
    - wordcloud==1.9.4
    - --index-url <YOUR_CONNECTION_ID>

Laden Sie die YML-Datei direkt in die Umgebung hoch, oder wechseln Sie zur YML-Editoransicht , und fügen Sie den Inhalt ein. Wenn Sie die Umgebung veröffentlichen, liest Fabric die Pakete aus Ihrem Feed und persistiert sie. Wenn Sie Pakete in Ihrem Azure Artefaktfeed aktualisieren, veröffentlichen Sie die Umgebung erneut, um die neuesten Versionen zu übernehmen.

Hinweis

  • In der Listenansicht können Sie Bibliotheken aus vorhandenen Feedverbindungen hinzufügen, entfernen oder bearbeiten. Um eine Feedverbindung selbst hinzuzufügen, zu entfernen oder zu bearbeiten, wechseln Sie zur YML-Editoransicht , und aktualisieren Sie die YML-Datei direkt.
  • Sie können mehrere Feeds in der YML-Datei angeben. Fabric durchsucht sie in der aufgeführten Reihenfolge, bis das Paket gefunden wird. Öffentliche Repositorys wie PyPI und Conda werden automatisch durchsucht, auch wenn sie nicht in der YML-Datei enthalten sind.
  • Wenn ein Paket in der YML-Datei in keinem der aufgelisteten Feeds gefunden werden kann, schlägt die Veröffentlichung fehl. Überprüfen Sie vor der Veröffentlichung den Paketnamen und die Version.

Verwalten externer Bibliotheken

Nachdem Sie externe Bibliotheken hinzugefügt haben, können Sie sie im Abschnitt "Externe Repositorys " verwalten.

  • Filter – Verwenden Sie einen Paketnamen als Schlüsselwort, um die Liste der externen Bibliotheken zu filtern.
  • Aktualisieren – Wählen Sie eine Bibliothek aus, um den Namen, die Version oder den Quelltyp in der Listenansicht zu aktualisieren. In der YML-Editoransicht können Sie auch die Azure Artefaktfeed-Verbindungs-ID aktualisieren.
  • Löschen – Zeigen Sie mit der Maus auf eine Bibliothekszeile, um die Option "Löschen " anzuzeigen, oder wählen Sie mehrere Bibliotheken aus, und wählen Sie dann "Löschen" aus. Sie können Bibliotheken auch mithilfe der YML-Editoransicht entfernen.
  • Anzeigen von Abhängigkeiten – Zeigen Sie mit der Maus auf eine öffentliche Repositorybibliothek, und wählen Sie "Abhängigkeiten anzeigen" aus, um die Abhängigkeitsstruktur abzurufen. Abhängigkeitsinformationen sind für private Bibliotheken oder Bibliotheken aus einem Azure Artefaktfeed nicht verfügbar.
  • In .yml exportieren – Exportieren Sie die vollständige externe Bibliotheksliste in eine .yml Datei, und laden Sie sie in Ihr lokales Verzeichnis herunter.

Benutzerdefinierte Bibliotheken

Benutzerdefinierte Bibliotheken sind Code, der von Ihnen oder Ihrer Organisation erstellt wurde. Fabric unterstützt benutzerdefinierte Bibliotheksdateien in .whl, .py, .jar und .tar.gz Formaten. Wie bei externen Bibliotheken wählen Sie einen Veröffentlichungsmodus (vollständig oder schnell) aus, wenn Sie benutzerdefinierte Pakete hochladen. Ausführliche Informationen finden Sie unter Auswählen des Veröffentlichungsmodus für Bibliotheken.

Hinweis

Fabric unterstützt nur .tar.gz-Dateien für R-Sprache. Verwenden Sie das Dateiformat .whl und .py für Python Sprache.

Verwenden Sie die Schaltflächen " Hochladen " und " Herunterladen " auf der Seite " Benutzerdefinierte Bibliotheken", um Bibliotheken aus Ihrem lokalen Verzeichnis hinzuzufügen oder lokal herunterzuladen.

Screenshot der Umgebung mit dem Bildschirm

Um eine Bibliothek zu löschen, zeigen Sie mit der Maus auf die Zeile und wählen Sie das Papierkorbsymbol aus oder wählen Sie mehrere Bibliotheken aus und klicken dann auf Löschen.

Veröffentlichungsmodus für Bibliotheken auswählen

Wenn Sie externe oder benutzerdefinierte Bibliotheken hinzufügen, wählen Sie einen Veröffentlichungsmodus aus. Der vollständige Modus ist für alle Bibliotheksquellen und Workloadtypen verfügbar. Der Schnellmodus ist für öffentliche Repositorys und die meisten benutzerdefinierten Bibliotheksformate verfügbar, aber nur beim Ausführen von Notizbüchern.

Screenshot der verschiedenen Modi auf dem Bildschirm

Die folgende Tabelle zeigt, welchen Veröffentlichungsmodus jede Bibliotheksquelle unterstützt.

Bibliotheksquelle Vollmodus Schnellmodus
Öffentliches Repository (PyPI/Conda) Ja Ja
Privates Repository (pip/conda) Ja No
Azure Artefakt-Feed Ja No
Benutzerdefiniert .whl, .py, .tar.gz Ja Ja
Benutzerdefiniert .jar Ja No

Wählen Sie den richtigen Modus für Ihre Anforderungen aus.

Verwenden Sie Abhängigkeitskomplexität und Workloadtyp, um zu entscheiden, welcher Modus passt.

  • Im Vollmodus werden Abhängigkeiten aufgelöst, Kompatibilität überprüft und während der Veröffentlichung eine stabile Momentaufnahme der Bibliothek erstellt. Diese Momentaufnahme wird bereitgestellt, wenn eine neue Sitzung gestartet wird. Optimal für größere Abhängigkeitssätze (z. B. mehr als 10 Pakete), Produktionsworkloads und Pipelines. Die Veröffentlichung dauert in der Regel 3 bis 6 Minuten; Der Sitzungsstart fügt je nach Abhängigkeitsgröße 1 bis 3 Minuten für die Abhängigkeitsbereitstellung hinzu. Verwenden Sie den vollständigen Modus zusammen mit einem benutzerdefinierten Livepool, um für eine stabile Momentaufnahme zu sorgen und Sitzungsstarts von ungefähr 5 Sekunden zu erzielen.
  • Der Schnellmodus überspringt die Abhängigkeitsverarbeitung während der Veröffentlichung und installiert stattdessen Pakete beim Start der Notizbuchsitzung. Am besten geeignet für leichtere Abhängigkeitssätze, schnelle Iteration und frühes Experimentieren. Die Veröffentlichung wird in etwa 5 Sekunden abgeschlossen; Die Bibliotheksinstallation erfolgt beim Sitzungsstart.

Während der Entwicklung können Sie Modi mischen. Ein gängiges Muster besteht darin, im Schnellmodus zu iterieren und dann verifizierte Abhängigkeiten in den Vollmodus zu verschieben, um einen stabilen Produktschnappschuss zu erstellen. Sie können auch eine vorhandene Momentaufnahme im Vollmodus unverändert lassen und neue Testpakete im Schnellmodus schichten – die Momentaufnahme im Vollmodus wird zuerst bereitgestellt, dann werden Pakete im Schnellmodus darüber installiert.

Modusbeschränkungen und -verhalten

Beachten Sie diese Einschränkungen beim Arbeiten mit Veröffentlichungsmodi.

  • Der Schnellmodus funktioniert nur mit Notizbüchern, nicht mit Spark-Auftragsdefinitionen.
  • Um eine benutzerdefinierte Bibliothek zwischen modi zu verschieben, laden Sie die Datei herunter, entfernen Sie sie aus dem aktuellen Modus, und laden Sie sie dann in den Zielmodus hoch. Direkte Übertragungen zwischen Modi werden nicht unterstützt.
  • Installationsprotokolle werden nicht im Notizbuch angezeigt. Verwenden Sie Die Überwachung (Ebene 2), um den Fortschritt und die Problembehandlung nachzuverfolgen.
  • Wenn beide Modi Pakete enthalten, wird zuerst die Momentaufnahme des vollständigen Modus angewendet. Schnellmoduspakete werden oben installiert und überschreiben alle Pakete im Vollmodus mit demselben Namen.
  • Wenn doppelte Pakete über die Modi hinweg vorhanden sind, überschreiben Versionen im Schnellmodus die Versionen im Vollmodus nur für die aktuelle Notizbuchsitzung. Wenn Sie eine neue Sitzung starten, wird zuerst die Momentaufnahme für den Vollmodus erneut angewendet, und dann werden Schnellmoduspakete oben installiert.
  • Schnellmoduspakete werden installiert, wenn die erste Codezelle für diese Sprache ausgeführt wird. Beispielsweise installieren Python Pakete, wenn die erste Python Zelle ausgeführt wird, und R-Pakete, wenn die erste R-Zelle ausgeführt wird.