- Artikel
Ein Synapse-Notizbuch ist eine Weboberfläche, über die Sie Dateien erstellen können, die Live-Code, Visualisierungen und narrativen Text enthalten. Notizbücher sind ein guter Ort, um Ideen zu validieren und schnelle Experimente zu nutzen, um Erkenntnisse aus Ihren Daten zu gewinnen. Notebooks werden auch häufig in der Datenaufbereitung, Datenvisualisierung, beim maschinellen Lernen und anderen Big-Data-Szenarien eingesetzt.
Mit einem Synapse-Notizbuch können Sie:
- Beginnen Sie ohne Einrichtungsaufwand.
- Schützen Sie Ihre Daten mit integrierten Sicherheitsfunktionen für Unternehmen.
- Analysieren Sie Daten in Rohformaten (CSV, txt, JSON usw.), verarbeiteten Dateiformaten (Parkett, Delta Lake, ORC usw.) und SQL-Tabellendatendateien mit Spark und SQL.
- Seien Sie produktiv mit erweiterten Authoring-Funktionen und integrierter Datenvisualisierung.
In diesem Artikel wird beschrieben, wie Sie Notizbücher in Synapse Studio verwenden.
Erstellen Sie ein Notizbuch
Es gibt zwei Möglichkeiten, ein Notizbuch zu erstellen. Sie können ein neues Notizbuch erstellen oder ein vorhandenes Notizbuch aus dem in einen Synapse-Arbeitsbereich importierenObjekt-Explorer. Synapse-Notebooks erkennen Standard-IPYNB-Dateien von Jupyter Notebook.
Entwickeln Sie Notizbücher
Notizbücher bestehen aus Zellen, bei denen es sich um einzelne Code- oder Textblöcke handelt, die unabhängig oder als Gruppe ausgeführt werden können.
Wir bieten umfangreiche Operationen zur Entwicklung von Notebooks:
- Fügen Sie eine Zelle hinzu
- Legen Sie eine primäre Sprache fest
- Verwenden Sie mehrere Sprachen
- Verwenden Sie temporäre Tabellen, um Daten sprachübergreifend zu referenzieren
- IntelliSense im IDE-Stil
- Code Ausschnitte
- Textzelle mit Symbolleistenschaltflächen formatieren
- Zellenoperation rückgängig machen/wiederholen
- Kommentieren von Codezellen
- Eine Zelle verschieben
- Eine Zelle löschen
- Reduzieren Sie eine Zelleneingabe
- Reduzieren Sie eine Zellenausgabe
- Notizbuchgliederung
Fügen Sie eine Zelle hinzu
Es gibt mehrere Möglichkeiten, Ihrem Notizbuch eine neue Zelle hinzuzufügen.
Bewegen Sie den Mauszeiger über den Raum zwischen zwei Zellen und wählen Sie ausCodeoderAbschlag.
Verwendenaznb Tastenkombinationen im Befehlsmodus. Drücken SieAum eine Zelle oberhalb der aktuellen Zelle einzufügen. Drücken SieBum eine Zelle unterhalb der aktuellen Zelle einzufügen.
Legen Sie eine primäre Sprache fest
Synapse-Notebooks unterstützen vier Apache Spark-Sprachen:
- PySpark (Python)
- Funke (Scala)
- Spark SQL
- .NET Spark (C#)
- SparkR (R)
Sie können die Primärsprache für neu hinzugefügte Zellen über die Dropdown-Liste in der oberen Befehlsleiste festlegen.
Verwenden Sie mehrere Sprachen
Sie können mehrere Sprachen in einem Notizbuch verwenden, indem Sie am Anfang einer Zelle den richtigen Sprachbefehl angeben. In der folgenden Tabelle sind die magischen Befehle zum Wechseln der Zellsprache aufgeführt.
Magischer Befehl | Sprache | Beschreibung |
---|---|---|
%%pisspark | Python | Führen Sie a ausPythonAbfrage gegen Spark-Kontext. |
%%Funke | Scala | Führen Sie a ausScalaAbfrage gegen Spark-Kontext. |
%%sql | SparkSQL | Führen Sie a ausSparkSQLAbfrage gegen Spark-Kontext. |
%%csharp | .NET für Spark C# | Führen Sie a aus.NET für Spark C#Abfrage gegen Spark-Kontext. |
%%parkr | R | Führen Sie a ausRAbfrage gegen Spark-Kontext. |
Das folgende Bild ist ein Beispiel dafür, wie Sie eine PySpark-Abfrage mit schreiben können%%pissparkMagic-Befehl oder eine SparkSQL-Abfrage mit dem%%sqlmagischer Befehl in aFunke (Scala)Notizbuch. Beachten Sie, dass die primäre Sprache für das Notebook auf pySpark eingestellt ist.
Verwenden Sie temporäre Tabellen, um Daten sprachübergreifend zu referenzieren
Sie können in einem Synapse-Notizbuch nicht direkt auf Daten oder Variablen in verschiedenen Sprachen verweisen. In Spark kann eine temporäre Tabelle sprachübergreifend referenziert werden. Hier ist ein Beispiel dafür, wie man a liestScala
DataFrame inPySpark
UndSparkSQL
Verwenden einer temporären Spark-Tabelle als Problemumgehung.
Lesen Sie in Zelle 1 einen DataFrame aus einem SQL-Pool-Connector mithilfe von Scala und erstellen Sie eine temporäre Tabelle.
%%sparkval scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable")scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
Fragen Sie in Zelle 2 die Daten mit Spark SQL ab.
%%sqlSELECT * FROM mydataframetable
Verwenden Sie in Zelle 3 die Daten in PySpark.
%%pysparkmyNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
IntelliSense im IDE-Stil
Synapse-Notizbücher sind in den Monaco-Editor integriert, um IntelliSense im IDE-Stil in den Zelleneditor zu bringen. Syntaxhervorhebung, Fehlermarkierung und automatische Codevervollständigung helfen Ihnen, Code zu schreiben und Probleme schneller zu identifizieren.
Die IntelliSense-Funktionen weisen für verschiedene Sprachen unterschiedliche Reifegrade auf. Verwenden Sie die folgende Tabelle, um zu sehen, was unterstützt wird.
Sprachen | Syntax-Highlight | Syntaxfehlermarkierung | Vervollständigung des Syntaxcodes | Vervollständigung des Variablencodes | Vervollständigung des Systemfunktionscodes | Vervollständigung des Benutzerfunktionscodes | Intelligente Einrückung | Code-Faltung |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Funke (Scala) | Ja | Ja | Ja | Ja | Ja | Ja | - | Ja |
SparkSQL | Ja | Ja | Ja | Ja | Ja | - | - | - |
.NET für Spark (C#) | Ja | Ja | Ja | Ja | Ja | Ja | Ja | Ja |
Notiz
Eine aktive Spark-Sitzung ist erforderlich, um die variable Code-Vervollständigung, die Systemfunktionscode-Vervollständigung und die Benutzerfunktionscode-Vervollständigung für .NET für Spark (C#) zu nutzen.
Code Ausschnitte
Synapse-Notebooks bieten Codeausschnitte, die die Eingabe häufig verwendeter Codemuster erleichtern, z. B. das Konfigurieren Ihrer Spark-Sitzung, das Lesen von Daten als Spark DataFrame oder das Zeichnen von Diagrammen mit Matplotlib usw.
Schnipsel erscheinen inTastenkombinationen im IDE-Stil von IntelliSensegemischt mit anderen Vorschlägen. Der Inhalt der Codeausschnitte stimmt mit der Sprache der Codezelle überein. Durch Eingabe können Sie die verfügbaren Snippets anzeigenAusschnittoder beliebige Schlüsselwörter werden im Snippet-Titel im Codezelleneditor angezeigt. Zum Beispiel durch TippenlesenSie können die Liste der Snippets zum Lesen von Daten aus verschiedenen Datenquellen sehen.
Textzelle mit Symbolleistenschaltflächen formatieren
Sie können die Formatierungsschaltflächen in der Textzellen-Symbolleiste verwenden, um allgemeine Markdown-Aktionen durchzuführen. Es umfasst Fettschrift, Kursivschrift, Absätze/Überschriften über ein Dropdown-Menü, das Einfügen von Code, das Einfügen einer ungeordneten Liste, das Einfügen einer geordneten Liste, das Einfügen eines Hyperlinks und das Einfügen eines Bildes aus einer URL.
Zellenoperation rückgängig machen/wiederholen
Wähle ausRückgängig machen/WiederholenTaste oder drückenZ/Umschalt+Zum die letzten Zelloperationen zu widerrufen. Jetzt können Sie bis zu 10 historische Zelloperationen rückgängig machen/wiederholen.
Unterstützte Vorgänge zum Rückgängigmachen von Zellen:
- Zelle einfügen/löschen: Sie können die Löschvorgänge durch Auswählen widerrufenRückgängig machen, wird der Textinhalt zusammen mit der Zelle beibehalten.
- Zelle neu anordnen.
- Parameter umschalten.
- Konvertieren Sie zwischen Codezelle und Markdownzelle.
Notiz
Textoperationen innerhalb der Zelle und Kommentierungsoperationen in Codezellen können nicht rückgängig gemacht werden. Jetzt können Sie bis zu den letzten 10 historischen Zelloperationen rückgängig machen/wiederholen.
Kommentieren von Codezellen
WählenKommentareKlicken Sie zum Öffnen auf die Schaltfläche in der Symbolleiste des NotizbuchsKommentareFeld.
Wählen Sie den Code in der Codezelle aus und klicken Sie aufNeuimKommentareBereich, fügen Sie Kommentare hinzu und klicken Sie dannKommentar hinzufügenSchaltfläche zum Speichern.
Du könntest auftretenKommentar bearbeiten,Thread auflösen, oderThread löschenindem Sie auf klickenMehrSchaltfläche neben Ihrem Kommentar.
Eine Zelle verschieben
Klicken Sie auf die linke Seite einer Zelle und ziehen Sie sie an die gewünschte Position.
Eine Zelle löschen
Um eine Zelle zu löschen, wählen Sie die Schaltfläche „Löschen“ rechts neben der Zelle aus.
Sie können auch verwendenTastenkombinationen im Befehlsmodus. Drücken SieUmschalt+Dum die aktuelle Zelle zu löschen.
Reduzieren Sie eine Zelleneingabe
Wähle ausWeitere BefehleEllipsen (...) in der Zellensymbolleiste undEingabe ausblendenum die Eingabe der aktuellen Zelle zu reduzieren. Um es zu erweitern, wählen Sie das ausEingabe anzeigenwährend die Zelle kollabiert.
Reduzieren Sie eine Zellenausgabe
Wähle ausWeitere BefehleEllipsen (...) in der Zellensymbolleiste undAusgabe ausblendenum die Ausgabe der aktuellen Zelle zu reduzieren. Um es zu erweitern, wählen Sie das ausAusgabe anzeigenwährend die Ausgabe der Zelle ausgeblendet ist.
Notizbuchgliederung
Die Gliederungen (Inhaltsverzeichnis) stellen zur schnellen Navigation den ersten Markdown-Header jeder Markdown-Zelle in einem Seitenleistenfenster dar. Die Seitenleiste „Outlines“ kann in der Größe geändert und zusammengeklappt werden, um sie optimal an den Bildschirm anzupassen. Sie können die auswählenUmrissKlicken Sie auf die Schaltfläche in der Befehlsleiste des Notebooks, um die Seitenleiste zu öffnen oder auszublenden
Führen Sie Notebooks aus
Sie können die Codezellen in Ihrem Notebook einzeln oder alle auf einmal ausführen. Der Status und Fortschritt jeder Zelle wird im Notizbuch dargestellt.
Führen Sie eine Zelle aus
Es gibt mehrere Möglichkeiten, den Code in einer Zelle auszuführen.
Bewegen Sie den Mauszeiger über die Zelle, die Sie ausführen möchten, und wählen Sie die ausZelle ausführenTaste oder drückenStrg+Eingabetaste.
VerwendenTastenkombinationen im Befehlsmodus. Drücken SieUmschalt+Eingabetasteum die aktuelle Zelle auszuführen und die Zelle darunter auszuwählen. Drücken SieAlt+Enterum die aktuelle Zelle auszuführen und darunter eine neue Zelle einzufügen.
Führen Sie alle Zellen aus
Wähle ausAlle ausführenKlicken Sie auf die Schaltfläche, um alle Zellen im aktuellen Notizbuch nacheinander auszuführen.
Führen Sie alle Zellen darüber oder darunter aus
Erweitern Sie die Dropdown-Liste vonAlles ausführendrücken und dann auswählenFühren Sie die Zellen oben ausum alle Zellen über dem Strom nacheinander laufen zu lassen. WählenFühren Sie die folgenden Zellen ausum alle Zellen unterhalb des Stroms nacheinander laufen zu lassen.
Alle laufenden Zellen abbrechen
Wähle ausAlle AbsagenKlicken Sie auf die Schaltfläche, um die laufenden oder in der Warteschlange wartenden Zellen abzubrechen.
Notebook-Referenz
Sie können verwenden%run
magischer Befehl zum Verweisen auf ein anderes Notizbuch im Kontext des aktuellen Notizbuchs. Alle im Referenznotizbuch definierten Variablen sind im aktuellen Notizbuch verfügbar.%laufen
Der Magic-Befehl unterstützt verschachtelte Aufrufe, jedoch keine rekursiven Aufrufe. Sie erhalten eine Ausnahme, wenn die Anweisungstiefe größer als istfünf.
Beispiel:%run /
.
Die Notebook-Referenz funktioniert sowohl im interaktiven Modus als auch in der Synapse-Pipeline.
Notiz
%laufen
Der Befehl unterstützt derzeit nur die Übergabe eines absoluten Pfads oder Notebook-Namens als Parameter, ein relativer Pfad wird nicht unterstützt.%laufen
Der Befehl unterstützt derzeit nur 4 Parameterwerttypen:int
,schweben
,bool
,Zeichenfolge
, Variablenersetzungsoperationen werden nicht unterstützt.- Die referenzierten Notizbücher müssen veröffentlicht werden. Sie müssen die Notizbücher veröffentlichen, um darauf zu verweisen, es sei dennReferenz unveröffentlichtes Notizbuchaktiviert. Synapse Studio erkennt die unveröffentlichten Notebooks aus dem Git-Repository nicht.
- Referenzierte Notebooks unterstützen keine Aussage, dass die Tiefe größer ist alsfünf.
Variablen-Explorer
Synapse Notebook bietet einen integrierten Variablen-Explorer, mit dem Sie die Liste der Variablennamen, -typen, -längen und -werte in der aktuellen Spark-Sitzung für PySpark-Zellen (Python) anzeigen können. Weitere Variablen werden automatisch angezeigt, wenn sie in den Codezellen definiert werden. Durch Klicken auf jede Spaltenüberschrift werden die Variablen in der Tabelle sortiert.
Sie können die auswählenVariablenKlicken Sie auf die Schaltfläche in der Befehlsleiste des Notebooks, um den Variablen-Explorer zu öffnen oder auszublenden.
Notiz
Der Variablen-Explorer unterstützt nur Python.
Zellenstatusanzeige
Unterhalb der Zelle wird eine Schritt-für-Schritt-Anleitung zum Zellausführungsstatus angezeigt, damit Sie den aktuellen Fortschritt sehen können. Sobald der Zelldurchlauf abgeschlossen ist, wird eine Ausführungszusammenfassung mit der Gesamtdauer und der Endzeit angezeigt und zur späteren Bezugnahme dort aufbewahrt.
Spark-Fortschrittsanzeige
Das Synapse-Notebook basiert ausschließlich auf Spark. Codezellen werden remote im serverlosen Apache Spark-Pool ausgeführt. Eine Spark-Job-Fortschrittsanzeige mit Echtzeit-Fortschrittsbalken hilft Ihnen dabei, den Status der Jobausführung zu verstehen. Die Anzahl der Aufgaben pro Job oder Phase hilft Ihnen dabei, die Parallelitätsebene Ihres Spark-Jobs zu ermitteln. Sie können auch einen tieferen Einblick in die Spark-Benutzeroberfläche eines bestimmten Jobs (oder einer bestimmten Phase) erhalten, indem Sie den Link im Namen des Jobs (oder der Phase) auswählen.
Spark-Sitzungskonfiguration
Sie können die Timeout-Dauer, die Anzahl und die Größe der Executoren angeben, die der aktuellen Spark-Sitzung zugewiesen werden sollenSitzung konfigurieren. Starten Sie die Spark-Sitzung neu, damit die Konfigurationsänderungen wirksam werden. Alle zwischengespeicherten Notebook-Variablen werden gelöscht.
Sie können auch eine Konfiguration aus der Apache Spark-Konfiguration erstellen oder eine vorhandene Konfiguration auswählen. Einzelheiten finden Sie unterApache Spark-Konfigurationsverwaltung.
Zauberbefehl für die Spark-Sitzungskonfiguration
Sie können Spark-Sitzungseinstellungen auch über einen magischen Befehl festlegen%%konfigurieren. Die Spark-Sitzung muss neu gestartet werden, damit die Einstellungen wirksam werden. Wir empfehlen Ihnen, das auszuführen%%konfigurierenam Anfang Ihres Notizbuchs. Hier ist ein Beispiel, siehehttps://github.com/cloudera/livy#request-bodyfür eine vollständige Liste der gültigen Parameter.
%%configure{ //Eine Liste gültiger Parameter zum Konfigurieren der Sitzung erhalten Sie unter https://github.com/cloudera/livy#request-body. „driverMemory“: „28g“, // Empfohlene Werte: [„28g“, „56g“, „112g“, „224g“, „400g“, „472g“] „driverCores“:4, // Empfohlene Werte: [ 4, 8, 16, 32, 64, 80] „executorMemory“: „28g“, „executorCores“:4, „jars“:[“abfs[s]://@.dfs.core .windows.net//myjar.jar","wasb[s]://@.blob.core.windows.net//myjar1.jar"], "conf ":{ //Beispiel einer Standard-Spark-Eigenschaft. Weitere verfügbare Eigenschaften finden Sie unter:https://spark.apache.org/docs/latest/configuration.html#application-properties. „spark.driver.maxResultSize“: „10g“, //Beispiel für eine benutzerdefinierte Eigenschaft. Sie können die Anzahl der Zeilen angeben, die Spark SQL zurückgibt, indem Sie „livy.rsc.sql.num-rows“ konfigurieren. „livy.rsc.sql.num-rows“: „3000“ }}
Notiz
- Es wird empfohlen, „DriverMemory“ und „ExecutorMemory“ in %%configure auf denselben Wert festzulegen, ebenso wie „driverCores“ und „executorCores“.
- Sie können %%configure in Synapse-Pipelines verwenden. Wenn es jedoch nicht in der ersten Codezelle festgelegt ist, schlägt die Pipelineausführung fehl, da die Sitzung nicht neu gestartet werden kann.
- Das in mssparkutils.notebook.run verwendete %%configure wird ignoriert, aber das in %run verwendete Notebook wird weiterhin ausgeführt.
- Im „conf“-Körper müssen die standardmäßigen Spark-Konfigurationseigenschaften verwendet werden. Wir unterstützen keine Referenzen der ersten Ebene für die Spark-Konfigurationseigenschaften.
- Einige spezielle Spark-Eigenschaften, darunter „spark.driver.cores“, „spark.executor.cores“, „spark.driver.memory“, „spark.executor.memory“, „spark.executor.instances“, werden in nicht wirksam „conf“-Körper.
Parametrisierte Sitzungskonfiguration aus der Pipeline
Mit der parametrisierten Sitzungskonfiguration können Sie den Wert in %%configure magic durch Pipeline-Laufparameter (Notebook-Aktivität) ersetzen. Beim Vorbereiten der %%configure-Codezelle können Sie Standardwerte (ebenfalls konfigurierbar, 4 und „2000“ im folgenden Beispiel) mit einem Objekt wie diesem überschreiben:
{ „activityParameterName“: „paramterNameInPipelineNotebookActivity“, „defaultValue“: „defaultValueIfNoParamterFromPipelineNotebookActivity“}
%%configure { "driverCores": { "activityParameterName": "driverCoresFromNotebookActivity", "defaultValue": 4 }, "conf": { "livy.rsc.sql.num-rows": { "activityParameterName": "rows", "defaultValue": "2000" } } }
Notebook verwendet den Standardwert, wenn ein Notebook direkt im interaktiven Modus ausgeführt wird oder kein Parameter, der mit „activityParameterName“ übereinstimmt, aus der Pipeline Notebook-Aktivität angegeben wird.
Im Pipeline-Ausführungsmodus können Sie die Aktivitätseinstellungen des Pipeline-Notebooks wie folgt konfigurieren:
Wenn Sie die Sitzungskonfiguration ändern möchten, sollte der Name der Pipeline-Notebook-Aktivitätsparameter mit dem Aktivitätsparameternamen im Notebook übereinstimmen. Beim Ausführen dieser Pipeline werden in diesem Beispiel „driverCores“ in „%%configure“ durch 8 und „livy.rsc.sql.num-rows“ durch 4000 ersetzt.
Notiz
Wenn die Ausführung der Pipeline aufgrund der Verwendung dieses neuen %%configure magic fehlgeschlagen ist, können Sie weitere Fehlerinformationen überprüfen, indem Sie die Zelle %%configure magic im interaktiven Modus des Notebooks ausführen.
Bringen Sie Daten in ein Notebook
Sie können Daten aus Azure Blob Storage, Azure Data Lake Store Gen 2 und einem SQL-Pool laden, wie in den folgenden Codebeispielen gezeigt.
Lesen Sie eine CSV aus Azure Data Lake Store Gen2 als Spark DataFrame
from pyspark.sql import SparkSessionfrom pyspark.sql.types import *account_name = "Ihr Kontoname"container_name = "Ihr Containername"relative_path = "Ihr Pfad"adls_path = 'abfss://%s@%s.dfs.core. windows.net/%s' % (Containername, Kontoname, relativer_Pfad)df1 = spark.read.option('header', 'true') \ .option('delimiter', ',') \ .csv(adls_path + ' /Testfile.csv‘)
Lesen Sie eine CSV-Datei aus Azure Blob Storage als Spark DataFrame
aus pyspark.sql import SparkSession# Azure-Speicherzugriff infoblob_account_name = 'Ihr Kontoname' # durch Ihren Blobnamen ersetzenblob_container_name = 'Ihr Containername' # durch Ihren Containernamen ersetzenblob_relative_path = 'Ihr Pfad' # durch Ihren relativen Ordner ersetzen pathlinked_service_name = 'Ihr Name des verknüpften Dienstes' # durch den Namen Ihres verknüpften Dienstes ersetzenblob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)# Erlauben Sie SPARK den Zugriff von Blob remotelywasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s ' % (blob_container_name, blob_account_name, blob_relative_path)spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)print('Remote-Blob Pfad: ' + wasb_path)df = spark.read.option("header", "true") \ .option("delimiter","|") \ .schema(schema) \ .csv(wasbs_path)
Lesen Sie Daten vom primären Speicherkonto
Sie können direkt auf Daten im primären Speicherkonto zugreifen. Es ist nicht erforderlich, die geheimen Schlüssel bereitzustellen. Klicken Sie im Daten-Explorer mit der rechten Maustaste auf eine Datei und wählen Sie sie ausNeues Notizbuchum ein neues Notizbuch mit automatisch generiertem Datenextraktor anzuzeigen.
Widgets sind ereignisgesteuerte Python-Objekte, die im Browser dargestellt werden, häufig als Steuerelement wie ein Schieberegler, ein Textfeld usw. IPython-Widgets funktionieren nur in der Python-Umgebung und werden in anderen Sprachen (z. B. Scala, SQL, C#) noch nicht unterstützt.
So verwenden Sie das IPython-Widget
Sie müssen importieren
ipywidgets
Modul zuerst, um das Jupyter Widget-Framework zu verwenden.ipywidgets als Widgets importieren
Sie können die oberste Ebene verwenden
Anzeige
Funktion zum Rendern eines Widgets oder zum Hinterlassen eines Ausdrucks davonWidgetGeben Sie in die letzte Zeile der Codezelle ein.slider = widgets.IntSlider()display(slider)
slider = widgets.IntSlider()slider
Führen Sie die Zelle aus, das Widget wird im Ausgabebereich angezeigt.
Sie können mehrere verwenden
Anzeige()
Aufrufe zum Rendern derselben Widget-Instanz mehrmals, sie bleiben jedoch miteinander synchron.slider = widgets.IntSlider()display(slider)display(slider)
Um zwei Widgets unabhängig voneinander darzustellen, erstellen Sie zwei Widget-Instanzen:
slider1 = widgets.IntSlider()slider2 = widgets.IntSlider()display(slider1)display(slider2)
Unterstützte Widgets
Widgets-Typ | Widgets |
---|---|
Numerische Widgets | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Boolesche Widgets | ToggleButton, Kontrollkästchen, gültig |
Auswahl-Widgets | Dropdown, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
String-Widgets | Text, Textbereich, Combobox, Passwort, Beschriftung, HTML, HTML-Mathematik, Bild, Schaltfläche |
Spielen Sie (Animations-)Widgets ab | Datumsauswahl, Farbauswahl, Controller |
Container-/Layout-Widgets | Box, HBox, VBox, GridBox, Akkordeon, Tabs, gestapelt |
Bekannte Einschränkungen
Die folgenden Widgets werden noch nicht unterstützt. Sie können die entsprechende Problemumgehung wie folgt befolgen:
Funktionalität Problemumgehung Ausgang
WidgetSie können verwenden drucken()
Funktion stattdessen zum Schreiben von Text in stdout.widgets.jslink()
Sie können verwenden widgets.link()
Funktion zum Verknüpfen zweier ähnlicher Widgets.Datei-Upload
WidgetNoch keine Unterstützung. Global
Anzeige
Die von Synapse bereitgestellte Funktion unterstützt nicht die Anzeige mehrerer Widgets in einem Aufruf (d. h.Anzeige(a, b)
), was sich von IPython unterscheidetAnzeige
Funktion.Wenn Sie ein Notebook schließen, das das IPython-Widget enthält, können Sie es erst sehen oder damit interagieren, wenn Sie die entsprechende Zelle erneut ausführen.
Notizbücher speichern
Sie können ein einzelnes Notizbuch oder alle Notizbücher in Ihrem Arbeitsbereich speichern.
Um Änderungen zu speichern, die Sie an einem einzelnen Notizbuch vorgenommen haben, wählen Sie das ausVeröffentlichenKlicken Sie auf die Schaltfläche in der Befehlsleiste des Notebooks.
Um alle Notizbücher in Ihrem Arbeitsbereich zu speichern, wählen Sie das ausAlles veröffentlichenKlicken Sie auf die Schaltfläche in der Befehlsleiste des Arbeitsbereichs.
In den Notebook-Eigenschaften können Sie konfigurieren, ob die Zellenausgabe beim Speichern einbezogen werden soll.
Magische Befehle
Sie können bekannte magische Jupyter-Befehle in Synapse-Notizbüchern verwenden. Sehen Sie sich die folgende Liste mit den aktuell verfügbaren Zauberbefehlen an. Erzähl unsIhre Anwendungsfälle auf GitHubdamit wir weiterhin weitere magische Befehle entwickeln können, um Ihren Anforderungen gerecht zu werden.
Notiz
In der Synapse-Pipeline werden nur die folgenden magischen Befehle unterstützt: %%pyspark, %%spark, %%csharp, %%sql.
Verfügbare Linienmagie:%lsmagic,%Zeit,%timeit,%Geschichte,%laufen,%Belastung
Verfügbare Zellmagie:%%Zeit,%%timeit,%%ergreifen,%%writefile,%%sql,%%pisspark,%%Funke,%%csharp,%%html,%%konfigurieren
Referenz unveröffentlichtes Notizbuch
Das Referenzieren eines unveröffentlichten Notebooks ist hilfreich, wenn Sie „lokal“ debuggen möchten. Wenn Sie diese Funktion aktivieren, ruft die Notebook-Ausführung den aktuellen Inhalt im Webcache ab. Wenn Sie eine Zelle ausführen, die eine Referenz-Notebooks-Anweisung enthält, verweisen Sie auf die aktuellen Notebooks im aktuellen Dies bedeutet, dass die Änderungen in Ihrem Notebook-Editor sofort von anderen Notebooks referenziert werden können, ohne dass sie veröffentlicht (Live-Modus) oder festgeschrieben (Git-Modus) werden müssen. Durch die Nutzung dieses Ansatzes können Sie häufige Änderungen leicht vermeiden Bibliotheken werden während des Entwicklungs- oder Debugging-Prozesses verschmutzt.
Sie können „Referenz auf unveröffentlichtes Notizbuch“ im Eigenschaftenfenster aktivieren:
Für den Vergleich verschiedener Fälle sehen Sie sich bitte die folgende Tabelle an:
Beachte das%laufenUndmssparkutils.notebook.runhat hier das gleiche Verhalten. Wir gebrauchen%laufen
hier als Beispiel.
Fall | Deaktivieren | Ermöglichen |
---|---|---|
Live-Modus | ||
- Sb1 (veröffentlicht)%run Sb1 | Führen Sie die veröffentlichte Version von Nb1 aus | Führen Sie die veröffentlichte Version von Nb1 aus |
- Sb1 (Neu)%run Sb1 | Fehler | Führen Sie einen neuen Nb1 aus |
- Sb1 (zuvor veröffentlicht, bearbeitet)%run Sb1 | LaufenveröffentlichtVersion von Nb1 | LaufenbearbeitetVersion von Nb1 |
Git-Modus | ||
- Sb1 (veröffentlicht)%run Sb1 | Führen Sie die veröffentlichte Version von Nb1 aus | Führen Sie die veröffentlichte Version von Nb1 aus |
- Sb1 (Neu)%run Sb1 | Fehler | Führen Sie einen neuen Nb1 aus |
- Sb1 (Nicht veröffentlicht, festgeschrieben)%run Sb1 | Fehler | Führen Sie Committed Nb1 aus |
- Sb1 (zuvor veröffentlicht, festgelegt)%run Sb1 | LaufenveröffentlichtVersion von Nb1 | LaufenengagiertVersion von Nb1 |
- Nb1 (Zuvor veröffentlicht, neu im aktuellen Zweig)%run Sb1 | LaufenveröffentlichtVersion von Nb1 | LaufenneuSb1 |
- Nb1 (Nicht veröffentlicht, zuvor festgeschrieben, bearbeitet)%run Sb1 | Fehler | LaufenbearbeitetVersion von Nb1 |
- Nb1 (Zuvor veröffentlicht und festgelegt, bearbeitet)%run Sb1 | LaufenveröffentlichtVersion von Nb1 | LaufenbearbeitetVersion von Nb1 |
Abschluss
- Wenn deaktiviert, immer ausführenveröffentlichtAusführung.
- Wenn aktiviert, ist die Priorität: bearbeitet / neu > festgeschrieben > veröffentlicht.
Aktives Sitzungsmanagement
Sie können Ihre Notebook-Sitzungen jetzt bequem wiederverwenden, ohne neue starten zu müssen. Synapse Notebook unterstützt jetzt die Verwaltung Ihrer aktiven Sitzungen imSitzungen verwaltenIn der Liste können Sie alle Sitzungen im aktuellen Arbeitsbereich sehen, die Sie über das Notebook gestartet haben.
ImAktive SitzungenIn der Liste können Sie die Sitzungsinformationen und das entsprechende Notizbuch sehen, das derzeit an die Sitzung angehängt ist. Von hier aus können Sie „Mit Notebook trennen“, „Sitzung stoppen“ und „Im Monitoring anzeigen“ bedienen. Darüber hinaus können Sie Ihr ausgewähltes Notebook ganz einfach mit einer aktiven Sitzung in der Liste verbinden, die von einem anderen Notebook aus gestartet wurde. Die Sitzung wird vom vorherigen Notebook getrennt (sofern es nicht inaktiv ist) und dann mit dem aktuellen verbunden.
Python-Anmeldung im Notebook
Sie können Python-Protokolle finden und verschiedene Protokollebenen und -formate festlegen, indem Sie dem folgenden Beispielcode folgen:
import logging# Passen Sie das Protokollierungsformat für alle Logger an.FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"formatter = logging.Formatter(fmt=FORMAT)für den Handler in der Protokollierung .getLogger().handlers: handler.setFormatter(formatter)# Protokollebene für alle Logger anpassenlogging.getLogger().setLevel(logging.INFO)# Protokollebene für einen bestimmten Logger anpassencustomizedLogger = logging.getLogger('customized')customizedLogger .setLevel(logging.WARNING)# Logger, der die standardmäßige globale Protokollebene verwendetdefaultLogger = logging.getLogger('default')defaultLogger.debug("default debug message")defaultLogger.info("default info message")defaultLogger.warning(" Standard-Warnmeldung")defaultLogger.error("Standard-Fehlermeldung")defaultLogger.critical("Standard-Kritikmeldung")# Logger, die die benutzerdefinierte Protokollebene verwendencustomizedLogger.debug("benutzerdefinierte Debug-Meldung")customizedLogger.info("benutzerdefinierte Info-Meldung ")customizedLogger.warning("benutzerdefinierte Warnmeldung")customizedLogger.error("benutzerdefinierte Fehlermeldung")customizedLogger.critical("benutzerdefinierte kritische Meldung")
Integrieren Sie ein Notebook
Fügen Sie einer Pipeline ein Notebook hinzu
Wähle ausZur Pipeline hinzufügenKlicken Sie auf die Schaltfläche in der oberen rechten Ecke, um ein Notebook zu einer vorhandenen Pipeline hinzuzufügen oder eine neue Pipeline zu erstellen.
Legen Sie eine Parameterzelle fest
Um Ihr Notebook zu parametrisieren, wählen Sie die Auslassungspunkte (...) aus, um darauf zuzugreifenweitere Befehlein der Zellensymbolleiste. Dann auswählenParameterzelle umschaltenum die Zelle als Parameterzelle zu bezeichnen.
Azure Data Factory sucht nach der Parameterzelle und behandelt diese Zelle als Standard für die zur Ausführungszeit übergebenen Parameter. Die Ausführungs-Engine fügt unterhalb der Parameterzelle eine neue Zelle mit Eingabeparametern hinzu, um die Standardwerte zu überschreiben.
Weisen Sie Parameterwerte aus einer Pipeline zu
Sobald Sie ein Notebook mit Parametern erstellt haben, können Sie es über eine Pipeline mit der Synapse Notebook-Aktivität ausführen. Nachdem Sie die Aktivität zu Ihrem Pipeline-Canvas hinzugefügt haben, können Sie die Parameterwerte unten festlegenBasisparameterAbschnitt über dieEinstellungenTab.
Beim Zuweisen von Parameterwerten können Sie die verwendenPipeline-AusdrucksspracheoderSystemvariablen.
Tastenkombinationen
Ähnlich wie Jupyter-Notebooks verfügen Synapse-Notebooks über eine modale Benutzeroberfläche. Je nachdem, in welchem Modus sich die Notebook-Zelle befindet, führt die Tastatur unterschiedliche Aktionen aus. Synapse-Notebooks unterstützen die folgenden zwei Modi für eine bestimmte Codezelle: Befehlsmodus und Bearbeitungsmodus.
Eine Zelle befindet sich im Befehlsmodus, wenn kein Textcursor Sie zur Eingabe auffordert. Wenn sich eine Zelle im Befehlsmodus befindet, können Sie das Notizbuch als Ganzes bearbeiten, aber nicht in einzelne Zellen tippen. Rufen Sie den Befehlsmodus auf, indem Sie drücken
ESC
oder verwenden Sie die Maus, um außerhalb des Editorbereichs einer Zelle auszuwählen.Der Bearbeitungsmodus wird durch einen Textcursor angezeigt, der Sie zur Eingabe im Editorbereich auffordert. Wenn sich eine Zelle im Bearbeitungsmodus befindet, können Sie etwas in die Zelle eingeben. Rufen Sie den Bearbeitungsmodus auf, indem Sie drücken
Eingeben
oder mit der Maus im Editorbereich einer Zelle auswählen.
Tastenkombinationen im Befehlsmodus
Aktion | Synapse-Notizbuch-Verknüpfungen |
---|---|
Führen Sie die aktuelle Zelle aus und wählen Sie unten aus | Umschalt+Eingabetaste |
Führen Sie die aktuelle Zelle aus und fügen Sie sie unten ein | Alt+Enter |
Aktuelle Zelle ausführen | Strg+Eingabetaste |
Zelle oben auswählen | Hoch |
Wählen Sie die Zelle unten aus | Runter |
Vorherige Zelle auswählen | K |
Wählen Sie die nächste Zelle aus | J |
Zelle oben einfügen | A |
Zelle unten einfügen | B |
Ausgewählte Zellen löschen | Umschalt+D |
Wechseln Sie in den Bearbeitungsmodus | Eingeben |
Tastenkombinationen im Bearbeitungsmodus
Mit den folgenden Tastenkombinationen können Sie im Bearbeitungsmodus einfacher in Synapse-Notizbüchern navigieren und Code ausführen.
Aktion | Synapse-Notizbuch-Verknüpfungen |
---|---|
Cursor nach oben bewegen | Hoch |
Cursor nach unten bewegen | Runter |
Rückgängig machen | Strg + Z |
Wiederholen | Strg + Y |
Kommentieren/Kommentieren aufheben | Strg + / |
Wort vorher löschen | Strg + Rücktaste |
Wort danach löschen | Strg + Entf |
Gehen Sie zum Zellenstart | Strg + Home |
Gehen Sie zum Ende der Zelle | Strg + Ende |
Gehe noch ein Wort übrig | Strg + Links |
Machen Sie ein Wort richtig | Strg + Rechts |
Wählen Sie Alle | Strg + A |
Einzug | Strg +] |
Zahn | Strg + [ |
Wechseln Sie in den Befehlsmodus | Esc |
Nächste Schritte
- Schauen Sie sich die Synapse-Beispielnotizbücher an
- Schnellstart: Erstellen Sie mithilfe von Webtools einen Apache Spark-Pool in Azure Synapse Analytics
- Was ist Apache Spark in Azure Synapse Analytics?
- Verwenden Sie .NET für Apache Spark mit Azure Synapse Analytics
- .NET für Apache Spark-Dokumentation
- Azure Synapse Analytics