Freigeben über


Notebook-Rechenressourcen

Dieser Artikel behandelt die Optionen für Notebook-Compute-Ressourcen. Sie können ein Notebook auf einer Allzweck-Compute-Ressource, Serverless Compute, ausführen oder für SQL-Befehle ein SQL-Warehouse, eine für SQL-Analysen optimierte Art von Compute, verwenden. Weitere Informationen zu Computetypen finden Sie unter Compute.

Standardberechnung

In Arbeitsbereichen, die für den Unity-Katalog aktiviert sind, wird bei neuen Notizbüchern standardmäßig serverloses Computing verwendet. Wenn Sie keine Rechenressource manuell auswählen und eine Zelle ausführen, stellt das Notizbuch automatisch eine Verbindung mit serverlosem Computing her.

Automatisches Hinzufügen von Rechnern

In Ihren Entwicklereinstellungen können Sie Notizbücher so konfigurieren, dass sie automatisch an eine Computeressource angefügt werden und eine Sitzung starten, wenn Sie mit dem Editor interagieren:

  1. Klicken Sie oben links auf das Benutzersymbol.

  2. Klicken Sie auf Einstellungen.

  3. Klicken Sie auf "Entwicklertools ", um zu Ihren Entwicklereinstellungen zu navigieren.

  4. Aktivieren Sie die Automatische Erstellung einer Sitzung für die Editorinteraktion , um automatisch eine Computesitzung für die Editorinteraktion zu starten. Databricks verwendet standardmäßig eine Rechenressource basierend auf Ihren Einstellungen (Serverless oder SQL Warehouse) und der zuletzt verwendeten Rechenressource.

    OR

    Deaktivieren Sie diese Einstellung, wenn das Notizbuch keine automatische Verbindung mit einer Computeressource herstellen und starten soll.

Code-Unterstützungsfeatures, einschließlich Autovervollständigung, Codeformatierung und Debugger, erfordern, dass das Notizbuch an eine aktive Computesitzung angeschlossen ist. Wenn das Notizbuch keine Rechnersitzung gestartet hat, sind Code-Unterstützungsfunktionen inaktiv.

Serverloses Computing für Notebooks

Serverless Compute ermöglicht Ihnen die schnelle Verbindung Ihres Notebooks mit On-Demand-Ressourcen.

Um sich mit dem serverlosen Compute zu verbinden, klicken Sie im Notebook auf das Dropdown-Menü "Compute" und wählen Sie Serverless aus.

Siehe Serverloses Rechnen für Notebooks für weitere Informationen.

Automatische Sitzungswiederherstellung für serverlose Notizbücher

Die Beendigung von Serverless Compute im Leerlauf kann dazu führen, dass Sie laufende Arbeiten, wie z. B. Python-Variablenwerte, in Ihren Notebooks verlieren. Um dies zu vermeiden, aktivieren Sie die automatische Sitzungswiederherstellung für serverlose Notizbücher.

  1. Klicken Sie oben rechts im Arbeitsbereich auf Ihren Benutzernamen, und klicken Sie dann in der Dropdownliste auf "Einstellungen ".
  2. Wählen Sie in der Randleiste Einstellungen die Option Entwickler aus.
  3. Aktivieren Sie unter "Experimentelle Features" die Einstellung "Automatische Sitzungswiederherstellung für serverlose Notizbücher ".

Durch Aktivieren dieser Einstellung kann Databricks eine Momentaufnahme des Speicherzustands des serverlosen Notizbuchs erstellen, bevor es in den Leerlauf geht. Wenn Sie nach einer inaktiven Trennung zu einem Notizbuch zurückkehren, wird oben auf der Seite ein Banner angezeigt. Klicken Sie auf "Erneut verbinden" , um den Arbeitszustand wiederherzustellen.

Wenn Sie die Verbindung wiederherstellen, stellt Databricks Ihre gesamte Arbeitsumgebung wieder her, einschließlich:

  • Python-Variablen, Funktionen und Klassendefinitionen: Der Python-Zustand wird mithilfe von Pickle/Cloudpickle serialisiert und in einer neuen REPL wiederhergestellt, sodass Sie nicht erneut importieren oder neu definieren müssen.
  • Spark DataFrames, zwischengespeicherte und temporäre Ansichten: Daten, die Sie geladen, transformiert oder zwischengespeichert haben (einschließlich temporärer Ansichten), bleiben erhalten, sodass Sie kostspieliges Neuladen oder Neukompilieren vermeiden.
  • Spark-Sitzungszustand: Konfigurationseinstellungen auf Spark-Ebene, temporäre Ansichten, Katalogänderungen und benutzerdefinierte Funktionen (UDFs) werden über die Spark Connect-Sitzungsmigration wiederhergestellt, sodass Sie sie nicht zurücksetzen müssen.

Wenn sich die Umgebung auf eine Weise geändert hat, die die Deserialisierung unsicher machen würde, z. B. inkompatible Python- oder Paketversionen, wird die Momentaufnahme ungültig, und das Notizbuch greift auf eine neue Sitzung zurück.

Snapshot-Datenspeicher

Momentaufnahmendaten werden im Standardspeicher Ihres Arbeitsbereichs gespeichert. Das Notizbuch selbst speichert nur Metadaten, einschließlich eines Zeigers mit der Notizbuch-ID, einem Zeitstempel und Sitzungsinformationen. Die Datennutzlast wird nicht im Notizbuch gespeichert. Blobpfade werden verschlüsselt, bevor sie in Notizbuchattributen gespeichert werden, und Momentaufnahmepfade werden vom Notizbuchexport und -import ausgeschlossen, um das Wiederherstellen des Zustands in einem anderen Arbeitsbereich zu verhindern.

Momentaufnahmen folgen Ihren TTL-Standardwerten für Cloudspeicher (etwa einen Monat) und laufen automatisch ab. Durch das Löschen eines Notizbuchs werden auch die Momentaufnahmen gelöscht. Ihr Cloudkonto verursacht Speicherkosten als Teil der standardmäßigen Arbeitsbereichsspeichernutzung. Das Feature verwendet die Python-Prozessserialisierung anstelle von Containerebenen-Checkpoints, wodurch Momentaufnahmen kleiner und schneller erstellt werden.

Sicherheit und Zugriffssteuerung

Die Momentaufnahmewiederherstellung berücksichtigt Notizbuchberechtigungen. Für das Wiederherstellen des Zustands ist die RUN-Berechtigung für das Notizbuch erforderlich. Verschlüsselte Metadaten verhindern, dass Viewer Momentaufnahmen-Blobs direkt abrufen, und Berechtigungsprüfungen werden beim Wiederherstellen erzwungen.

Einschränkungen

Dieses Feature weist Einschränkungen auf und unterstützt das Wiederherstellen von Folgendem nicht:

  • Spark-Status älter als 4 Tage
  • Spark-Zustände größer als 50 MB
  • Daten im Zusammenhang mit SQL-Skripting
  • Datei-Handles
  • Sperren und andere Parallelitätsgrundtypen
  • Netzwerkverbindungen

Anhängen eines Notizbuchs an eine allgemeine Rechenressource

Um ein Notebook an eine universelle Compute Ressource anzuhängen, benötigen Sie die CAN ATTACH TO Berechtigung auf der Compute Ressource.

Wichtig

Solange ein Notizbuch an eine Computeressource angefügt ist, verfügt jeder Benutzer mit der Berechtigung CAN RUN für das Notizbuch über implizite Berechtigung für den Zugriff auf die Computeressource.

Um ein Notizbuch mit einer Rechenressource zu verbinden, klicken Sie auf die Bereichauswahl in der Notizbuch-Werkzeugleiste und wählen Sie die Ressource aus dem Dropdown-Menü aus.

Das Menü zeigt eine Auswahl an universellen Compute- und SQL-Warehouses, die Sie kürzlich verwendet haben oder gerade laufen.

Anfügen eines Notebooks

Um aus allen verfügbaren Berechnungen auszuwählen, klicken Sie auf More…. Wählen Sie aus den verfügbaren allgemeinen Berechnungsdiensten oder SQL-Systemen.

Dialogfeld „Weitere Cluster“

Sie können auch eine neue Allzweck-Rechenressource erstellen durch Auswahl von Neue Ressource erstellen... aus dem Dropdown-Menü.

Wichtig

Für ein angefügtes Notebook sind die folgenden Apache Spark-Variablen definiert.

Klasse Variablenname
SparkContext sc
SQLContext/HiveContext sqlContext
SparkSession (Spark 2.x) spark

SparkSession, SparkContext und SQLContext sollten nicht erstellt werden. Dies würde zu inkonsistentem Verhalten führen.

Ein Notebook mit einem SQL-Warehouse verwenden

Wenn ein Notebook an ein SQL-Warehouse angefügt ist, können Sie SQL- und Markdown-Zellen ausführen. Das Ausführen einer Zelle in einer anderen Sprache (z. B. Python oder R) löst einen Fehler aus. SQL-Zellen, die in einem SQL-Lagerhaus ausgeführt werden, werden im Abfrageverlauf des SQL-Lagers angezeigt. Die Benutzer*innen, die eine Abfrage ausgeführt haben, können das Abfrageprofil vom Notebook aus anzeigen, indem sie auf die verstrichene Zeit am unteren Rand der Ausgabe klicken.

Notizbücher, die an SQL-Lagerhäuser angefügt sind, unterstützen SQL-Lagersitzungen, mit denen Sie Variablen definieren, temporäre Ansichten erstellen und den Zustand über mehrere Abfrageausführungen hinweg beibehalten können. Auf diese Weise können Sie SQL-Logik iterativ erstellen, ohne alle Anweisungen gleichzeitig ausführen zu müssen. Siehe Was sind SQL Warehouse-Sitzungen?.

Die Ausführung eines Notebooks erfordert ein professionelles oder serverloses SQL-Warehouse. Sie benötigen Zugriff auf den Arbeitsbereich und das SQL-Warehouse.

Gehen Sie wie folgt vor, um ein Notebook an ein SQL-Warehouse anzufügen:

  1. Klicken Sie in der Notebooksymbolleiste auf die Computeauswahl. Im Dropdownmenü werden Computeressourcen angezeigt, die derzeit ausgeführt werden oder die Sie kürzlich verwendet haben. SQL-Warehouses sind markiert mit SQL-Warehousebezeichnung.

  2. Wählen Sie im Menü ein SQL-Warehouse aus.

    Um alle verfügbaren SQL-Warehouses anzuzeigen, wählen Sie im Dropdownmenü Mehr... aus. Ein Dialogfeld mit den für das Notebook verfügbaren Computeressourcen wird angezeigt. Wählen Sie SQL Warehouse aus, wählen Sie das gewünschte Warehouse aus, und klicken Sie auf Anfügen.

    Clusterdialog „Mehr...“ mit ausgewähltem SQL-Warehouse

Sie können auch ein SQL Warehouse als Computeressource für ein SQL-Notebook auswählen, wenn Sie einen Workflow oder einen geplanten Auftrag erstellen.

Einschränkungen von SQL-Warehouses

Siehe Bekannte Grenzwerte Datenbausteine Notebooks für weitere Informationen.