Sviluppare, eseguire e gestire notebook di Microsoft Fabric
Un notebook di Microsoft Fabric è un elemento di codice principale per lo sviluppo di processi Apache Spark e esperimenti di Machine Learning. Si tratta di una superficie interattiva basata sul Web usata da data scientist e data engineer per scrivere codice che trae vantaggio dalle visualizzazioni avanzate e dal testo Markdown. Questo articolo illustra come sviluppare notebook con operazioni sulle celle di codice ed eseguirli.
Sviluppare i notebook
I notebook sono costituiti da celle, che sono singoli blocchi di codice o testo che possono essere eseguiti in modo indipendente o come gruppo.
Sono disponibili operazioni avanzate per lo sviluppo di notebook:
- Aggiungere una cella
- Impostare una lingua primaria
- Usare più lingue
- IntelliSense in stile IDE
- Frammenti di codice
- Trascinare e rilasciare per inserire frammenti di codice
- Trascinare e rilasciare per inserire immagini
- Formattare la cella di testo con i pulsanti della barra degli strumenti
- Annullare o ripetere l'operazione di cella
- Spostare una cella
- Eliminare una cella
- Comprimere un input di cella
- Comprimere un output di cella
- Sicurezza dell'output delle celle
- Bloccare o bloccare una cella
- Contenuto del notebook
- Riduzione markdown
- Trovare e sostituire
Aggiungere una cella
Esistono diversi modi per aggiungere una nuova cella al notebook.
Passare il puntatore del mouse sullo spazio tra due celle e selezionare Codice o Markdown.
Usare i tasti di scelta rapida in modalità di comando. Premere A per inserire una cella al di sopra della cella corrente. Premere B per inserire una cella sotto la cella corrente.
Impostare il linguaggio primario
I notebook di Fabric attualmente supportano quattro linguaggi Apache Spark:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- SparkR
È possibile impostare la lingua primaria per le nuove celle aggiunte dall'elenco a discesa nella barra dei comandi superiore.
Usare più linguaggi
È possibile usare più lingue in un notebook specificando il comando magic del linguaggio all'inizio di una cella. È anche possibile cambiare la lingua della cella dalla selezione lingua. Nella tabella seguente sono elencati i comandi magic per cambiare le lingue delle celle.
Comando Magic | Lingua | Descrizione |
---|---|---|
%%pyspark | Python | Eseguire una query Python sul contesto Spark. |
%%spark | Scala | Eseguire una query Scala sul contesto Spark. |
%%sql | SparkSQL | Eseguire una query SparkSQL sul contesto Spark. |
%%html | Html | Eseguire una query HTML sul contesto Spark. |
%%sparkr | R | Eseguire una query R sul contesto spark. |
IntelliSense di tipo IDE
I notebook di Fabric sono integrati con l'editor Monaco per portare IntelliSense in stile IDE nell'editor di celle. L'evidenziazione della sintassi, l'indicatore di errore e i completamenti automatici del codice consentono di scrivere rapidamente codice e identificare i problemi.
Le funzionalità di IntelliSense hanno livelli di maturità diversi per i diversi linguaggi. La tabella seguente illustra le funzionalità supportate da Fabric:
Lingue | Evidenziazione della sintassi | Indicatore di errore della sintassi | Completamento del codice di sintassi | Completamento del codice variabile | Completamento del codice della funzione di sistema | Completamento del codice della funzione utente | Rientro intelligente | Riduzione del codice |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì |
Spark (Scala) | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì |
SparkSQL | Sì | Sì | Sì | Sì | Sì | No | Sì | Sì |
SparkR | Sì | Sì | Sì | Sì | Sì | Sì | Sì | Sì |
Nota
Per usare il completamento del codice IntelliSense, è necessario disporre di una sessione Spark attiva.
Frammenti di codice
I notebook di Fabric forniscono frammenti di codice che consentono di scrivere facilmente modelli di codice usati comunemente, ad esempio:
- Lettura dei dati come dataframe Spark
- Disegno di grafici con Matplotlib
I frammenti di codice vengono visualizzati nei tasti di scelta rapida dello stile IDE IntelliSense in combinazione con altri suggerimenti. Il contenuto del frammento di codice è allineato al linguaggio di cella del codice. È possibile visualizzare frammenti di codice disponibili digitando Snippet. È anche possibile digitare qualsiasi parola chiave per visualizzare un elenco di frammenti di codice pertinenti. Ad esempio, se si digita la lettura, viene visualizzato l'elenco dei frammenti di codice per leggere i dati da varie origini dati.
Trascinare e rilasciare per inserire frammenti di codice
Usare il trascinamento della selezione per leggere i dati da Lakehouse Explorer in modo pratico. Qui sono supportati più tipi di file; è possibile operare su file di testo, tabelle, immagini e così via. È possibile passare a una cella esistente o a una nuova cella. Il notebook genera il frammento di codice di conseguenza per visualizzare in anteprima i dati.
Trascinare e rilasciare per inserire immagini
Usare il trascinamento della selezione per inserire facilmente immagini dal browser o dal computer locale a una cella markdown.
Formattare la cella di testo con i pulsanti della barra degli strumenti
Per completare le azioni markdown comuni, usare i pulsanti di formato nella barra degli strumenti della cella di testo.
Annullare o ripetere le operazioni delle celle
Selezionare Annulla o Ripeti oppure premere Z o MAIUSC+Z per revocare le operazioni di cella più recenti. È possibile annullare o ripetere fino a 10 delle ultime operazioni cronologiche delle celle.
Operazioni di annullamento delle celle supportate:
- Inserire o eliminare una cella. È possibile revocare le operazioni di eliminazione selezionando Annulla (il contenuto del testo viene mantenuto insieme alla cella).
- Riordinare la cella.
- Attiva/disattiva parametro.
- Eseguire la conversione tra cella di codice e cella Markdown.
Nota
Le operazioni di testo in cella e le operazioni di commento delle celle di codice non possono essere annullate. È possibile annullare o ripetere fino a 10 delle ultime operazioni cronologiche delle celle.
Spostare una cella
È possibile trascinare dalla parte vuota di una cella e rilasciarla nella posizione desiderata.
È anche possibile spostare la cella selezionata usando Sposta su e Sposta giù sulla barra multifunzione.
Eliminare una cella
Per eliminare una cella, selezionare il pulsante Elimina sul lato destro della cella.
È anche possibile usare i tasti di scelta rapida in modalità comando. Premere MAIUSC+D per eliminare la cella corrente.
Comprimere l'input di una cella
Selezionare i puntini di sospensione Altri comandi (...) sulla barra degli strumenti della cella e Nascondi input per comprimere l'input della cella corrente. Per espanderlo di nuovo, selezionare Mostra input quando la cella è compressa.
Comprimere l'output di una cella
Selezionare i puntini di sospensione Altri comandi (...) sulla barra degli strumenti della cella e Nascondi output per comprimere l'output della cella corrente. Per espanderlo di nuovo, selezionare Mostra output quando l'output della cella è compresso.
Sicurezza dell'output delle celle
Usando i ruoli di accesso ai dati di OneLake (anteprima) gli utenti possono configurare l'accesso solo a cartelle specifiche in un lakehouse durante le query dei notebook. Gli utenti senza accesso a una cartella o a una tabella visualizzeranno un errore non autorizzato durante l'esecuzione della query.
Importante
La sicurezza si applica solo durante l'esecuzione delle query e tutte le celle del notebook contenenti i risultati delle query possono essere visualizzate dagli utenti che non sono autorizzati a eseguire direttamente query sui dati.
Bloccare o bloccare una cella
Le operazioni di blocco e blocco delle celle consentono di rendere le celle di sola lettura o arrestare l'esecuzione delle celle di codice su base individuale.
Unire e dividere le celle
È possibile usare Merge con la cella precedente o Unisci con la cella successiva per unire le celle correlate in modo pratico.
La selezione della cella Split consente di suddividere le istruzioni irrilevanti in più celle. L'operazione suddivide il codice in base alla posizione della riga del cursore.
Contenuto del notebook
Selezionando Contorni o Sommario viene visualizzata la prima intestazione markdown di qualsiasi cella markdown in una finestra della barra laterale per una navigazione rapida. La barra laterale Outlines è ridimensionabile e collapsible per adattarsi allo schermo nel modo migliore possibile. Selezionare il pulsante Contenuto sulla barra dei comandi del notebook per aprire o nascondere la barra laterale.
Riduzione markdown
L'opzione di riduzione markdown consente di nascondere le celle in una cella markdown che contiene un'intestazione. La cella markdown e le relative celle nascoste vengono considerate uguali a un set di celle multi-selezionate contigue durante l'esecuzione di operazioni di cella.
Ricerca e sostituzione
L'opzione trova e sostituisci consente di trovare e individuare le parole chiave o l'espressione all'interno del contenuto del notebook. È anche possibile sostituire facilmente la stringa di destinazione con una nuova stringa.
Eseguire notebook
È possibile eseguire le celle di codice nel notebook singolarmente o tutte insieme. Lo stato e lo stato di avanzamento di ogni cella vengono visualizzati nel notebook.
Eseguire una cella
Esistono diversi modi per eseguire il codice in una cella.
Passare il puntatore del mouse sulla cella da eseguire e selezionare il pulsante Esegui cella o premere CTRL+INVIO.
Usare i tasti di scelta rapida in modalità di comando. Premere MAIUSC+INVIO per eseguire la cella corrente e selezionare la cella successiva. Premere ALT+INVIO per eseguire la cella corrente e inserire una nuova cella.
Eseguire tutte le celle
Selezionare il pulsante Esegui tutto per eseguire tutte le celle del notebook corrente in sequenza.
Eseguire tutte le celle al di sopra o al di sotto
Espandere l'elenco a discesa da Esegui tutto, quindi selezionare Esegui celle sopra per eseguire tutte le celle sopra la sequenza corrente. Selezionare Esegui celle di seguito per eseguire la cella corrente e tutte le celle sotto la sequenza corrente.
Annullare tutte le celle in esecuzione
Selezionare Annulla tutto per annullare le celle o le celle in esecuzione in attesa nella coda.
Arrestare la sessione
Arresta sessione annulla le celle in esecuzione e in attesa e arresta la sessione corrente. È possibile riavviare una nuova sessione selezionando nuovamente l'opzione esegui.
Esecuzione di riferimento
Eseguire un notebook di riferimento
Oltre all'API di esecuzione di riferimento mssparkutils, è anche possibile usare il %run <notebook name>
comando magic per fare riferimento a un altro notebook all'interno del contesto del notebook corrente. Tutte le variabili definite nel notebook di riferimento sono disponibili nel notebook corrente. Il %run
comando magic supporta chiamate annidate, ma non supporta chiamate ricorsive. Si riceve un'eccezione se la profondità dell'istruzione è maggiore di cinque.
Esempio: %run Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
I riferimenti ai notebook funzionano sia in modalità interattiva che in pipeline.
Nota
- Il
%run
comando supporta attualmente solo notebook di riferimento nella stessa area di lavoro con il notebook corrente. - Il
%run
comando supporta attualmente solo fino a quattro tipi di valore di parametro:int
,float
,bool
estring
. L'operazione di sostituzione delle variabili non è supportata. - Il
%run
comando non supporta riferimenti annidati con una profondità maggiore di cinque.
Eseguire uno script di riferimento
Il %run
comando consente anche di eseguire file Python o SQL archiviati nelle risorse predefinite del notebook, in modo da poter eseguire facilmente i file di codice sorgente nel notebook.
%run [-b/--builtin -c/--current] [script_file.py/.sql] [variables ...]
Per le opzioni:
- -b/-builtin: questa opzione indica che il comando troverà ed eseguirà il file di script specificato dalle risorse predefinite del notebook.
- -c/-current: questa opzione garantisce che il comando usi sempre le risorse predefinite del notebook corrente, anche se il notebook corrente fa riferimento ad altri notebook.
Esempi:
Per eseguire script_file.py dalle risorse predefinite:
%run -b script_file.py
Per eseguire script_file.sql dalle risorse predefinite:
%run -b script_file.sql
Per eseguire script_file.py dalle risorse predefinite con variabili specifiche:
%run -b script_file.py { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
Nota
Se il comando non contiene -b/-builtin, tenterà di trovare ed eseguire l'elemento del notebook all'interno della stessa area di lavoro anziché le risorse predefinite.
Esempio di utilizzo per il caso di esecuzione annidato:
- Si supponga di avere due notebook.
- Notebook1: contiene script_file1.py nelle risorse predefinite
- Notebook2: contiene script_file2.py nelle risorse predefinite
- Si userà Notebook1 come notebook radice con il contenuto :
%run Notebook2
. - Quindi, in Notebook2 l'istruzione di utilizzo è:
- Per eseguire script_file1.py in Notebook1 (notebook radice) il codice sarà:
%run -b script_file1.py
- Per eseguire script_file2.py in Notebook2 (notebook corrente), il codice sarà:
%run -b -c script_file2.py
- Per eseguire script_file1.py in Notebook1 (notebook radice) il codice sarà:
Esplora variabili
I notebook di Fabric offrono uno strumento di esplorazione delle variabili predefinito che visualizza l'elenco dei nomi delle variabili, del tipo, della lunghezza e del valore nella sessione Spark corrente per le celle PySpark (Python). Altre variabili vengono visualizzate automaticamente man mano che vengono definite nelle celle di codice. Facendo clic su ogni intestazione di colonna, le variabili nella tabella sono ordinate.
Per aprire o nascondere Esplora variabili, selezionare Variabili nella visualizzazione della barra multifunzione del notebook.
Nota
Esplora variabili supporta solo Python.
Indicatore di stato delle celle
Sotto la cella viene visualizzato il relativo stato di esecuzione dettagliato, che indica lo stato di avanzamento corrente. Una volta completata l'esecuzione della cella, viene visualizzato un riepilogo dell'esecuzione con la durata totale e l'ora di fine e viene archiviata per riferimento futuro.
Indicatore del processo Spark inline
Il notebook di Fabric è basato su Spark. Le celle di codice vengono eseguite nel cluster Spark in modalità remota. Un indicatore di stato del processo Spark viene fornito con un indicatore di stato in tempo reale che viene visualizzato per comprendere lo stato di esecuzione del processo. Il numero di attività per ogni processo o fase consente di identificare il livello parallelo del processo Spark. È anche possibile eseguire un'analisi più approfondita dell'interfaccia utente Spark di uno specifico processo (o fase) selezionando il collegamento al nome del processo (o della fase).
È anche possibile trovare il log in tempo reale a livello di cella accanto all'indicatore di stato e Diagnostica può fornire suggerimenti utili per perfezionare ed eseguire il debug del codice.
In Altre azioni è possibile passare facilmente alla pagina dei dettagli dell'applicazione Spark e alla pagina dell'interfaccia utente Web Spark.
Offuscamento di segreti
Per evitare che le credenziali vengano accidentalmente perse durante l'esecuzione di notebook, i notebook di Fabric supportano la redazione Secret per sostituire i valori dei segreti visualizzati nell'output della cella con [REDACTED]
. La ridistribuzione dei segreti è applicabile per Python, Scala e R.
Comandi magic in un notebook
Comandi magic predefiniti
È possibile usare comandi magic ipython familiari nei notebook di Fabric. Esaminare l'elenco seguente dei comandi magic attualmente disponibili.
Nota
Questi sono gli unici comandi magic supportati nella pipeline di Infrastruttura: %%pyspark, %%spark, %%csharp, %%sql, %%configure.
Comandi magic della riga disponibili: %lsmagic, %time, %timeit, %history, %run, %load, %alias, %alias_magic, %autoawait, %autocall, %automagic, %bookmark, %cd, %colors, %dhist, %dirs, %doctest_mode, %killbgscripts, %load_ext, %logoff, %logon, %logstart, %logstate, %logstop, %magic, %matplotlib, %page, %pastebin, %pdef, %pfile, %pinfo, %pinfo2, %popd, %pprint, %precision, %prun, %psearch, %psource, %pushd, %pwd, %pycat, %quickref, % rehashx, %reload_ext, %reset, %reset_selective, %sx, %system, %tb, %unalias, %unload_ext, %who, %who_ls, %who, %xdel, %xmode.
Il notebook di Fabric supporta anche i comandi di gestione delle librerie migliorati %pip e %conda. Per altre informazioni sull'utilizzo, vedere Gestire le librerie Apache Spark in Microsoft Fabric.
Comandi magic delle celle disponibili: %%time, %%timeit, %%capture, %%writefile, %%sql, %%pyspark, %%spark, %%csharp, %%configure, %%html, %%bash, %%markdown, %%perl, %%script, %%sh.
Comandi magic personalizzati
È anche possibile creare comandi magic più personalizzati per soddisfare esigenze specifiche. Ecco un esempio:
Creare un notebook con il nome "MyLakehouseModule".
In un altro notebook fare riferimento a "MyLakehouseModule" e ai relativi comandi magic. Questo processo consente di organizzare facilmente il progetto con notebook che usano linguaggi diversi.
Widget IPython
IPython Widgets sono oggetti Python con evento che hanno una rappresentazione nel browser. È possibile usare i widget IPython come controlli a basso codice (ad esempio, dispositivo di scorrimento o casella di testo) nel notebook, proprio come il notebook di Jupyter. Attualmente funziona solo in un contesto Python.
Per usare i widget IPython
Importare prima il modulo ipywidgets per usare il framework jupyter Widget.
import ipywidgets as widgets
Usare la funzione di visualizzazione di primo livello per eseguire il rendering di un widget o lasciare un'espressione di tipo widget all'ultima riga della cella di codice.
slider = widgets.IntSlider() display(slider)
Eseguire la cella. Il widget viene visualizzato nell'area di output.
slider = widgets.IntSlider() display(slider)
Usare più chiamate display() per eseguire più volte il rendering della stessa istanza del widget. Rimangono sincronizzati tra loro.
slider = widgets.IntSlider() display(slider) display(slider)
Per eseguire il rendering di due widget indipendenti l'uno dall'altro, creare due istanze del widget:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
Widget supportati
Tipo di widget | Widget |
---|---|
Widget numerici | IntSlider, FloatSlider, FloatLogSlider, IntRangeSlider, FloatRangeSlider, IntProgress, FloatProgress, BoundedIntText, BoundedFloatText, IntText, FloatText |
Widget booleani | ToggleButton, Casella di controllo, Valido |
Widget di selezione | Elenco a discesa, RadioButtons, Select, SelectionSlider, SelectionRangeSlider, ToggleButtons, SelectMultiple |
Widget stringa | Text, Text area, Combobox, Password, Label, HTML, HTML Math, Image, Button |
Widget Di riproduzione (animazione) | Selezione data, Selezione colori, Controller |
Widget contenitore o layout | Box, HBox, VBox, GridBox, Accordion, Tabs, Stacked |
Limitazioni note
I widget seguenti non sono ancora supportati. Sono disponibili le soluzioni alternative seguenti:
Funzionalità Soluzione alternativa Widget di output È invece possibile usare la funzione print() per scrivere testo in stdout. widgets.jslink() È possibile usare la funzione widgets.link() per collegare due widget simili. Widget FileUpload Non ancora supportato. La funzione di visualizzazione globale fabric non supporta la visualizzazione di più widget in una chiamata ( ad esempio, display(a, b)). Questo comportamento è diverso dalla funzione di visualizzazione IPython.
Se si chiude un notebook che contiene un widget IPython, non è possibile visualizzare o interagire con esso fino a quando non si esegue di nuovo la cella corrispondente.
Integrare un notebook
Designare una cella di parametri
Per parametrizzare il notebook, selezionare i puntini di sospensione (...) per accedere ai comandi Altro sulla barra degli strumenti delle celle. Selezionare quindi Attiva/Disattiva cella del parametro per designare la cella come cella dei parametri.
La cella del parametro è utile per l'integrazione di un notebook in una pipeline. L'attività della pipeline cerca la cella dei parametri e considera questa cella come predefinita per i parametri passati in fase di esecuzione. Il motore di esecuzione aggiunge una nuova cella sotto la cella dei parametri con parametri di input per sovrascrivere i valori predefiniti.
Assegnare i valori dei parametri da una pipeline
Dopo aver creato un notebook con parametri, è possibile eseguirlo da una pipeline con l'attività notebook di Fabric. Dopo aver aggiunto l'attività all'area di disegno della pipeline, è possibile impostare i valori dei parametri nella sezione Parametri di base della scheda Impostazioni.
Quando si assegnano valori di parametro, è possibile usare il linguaggio delle espressioni della pipeline o le funzioni e le variabili.
Comando magic di configurazione della sessione Spark
È possibile personalizzare la sessione di Spark con il comando magic %%configure. Il notebook di Fabric supporta vCore personalizzati, la memoria del driver e dell'executor, le proprietà Spark, i punti di montaggio, il pool e la lakehouse predefinita della sessione del notebook. Possono essere usati sia nelle attività interattive del notebook che del notebook della pipeline. È consigliabile eseguire il comando %%configure all'inizio del notebook oppure riavviare la sessione Spark per rendere effettive le impostazioni.
%%configure
{
// You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory": "28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
"driverCores": 4, // Recommended values: [4, 8, 16, 32, 64, 80]
"executorMemory": "28g",
"executorCores": 4,
"jars": ["abfs[s]: //<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar", "wasb[s]: //<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf": {
// Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows": "3000",
"spark.log.level": "ALL"
}
"defaultLakehouse": { // This overwrites the default lakehouse for current session
"name": "<lakehouse-name>",
"id": "<lakehouse-id>",
"workspaceId": "<(optional) workspace-id-that-contains-the-lakehouse>" // Add workspace ID if it's from another workspace
},
"mountPoints": [
{
"mountPoint": "/myMountPoint",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>"
},
{
"mountPoint": "/myMountPoint1",
"source": "abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path1>"
},
],
"useStarterPool": false, // Set to true to force using starter pool
"useWorkspacePool": "<workspace-pool-name>"
}
Nota
- È consigliabile impostare lo stesso valore per "DriverMemory" e "ExecutorMemory" in %%configure. Anche i valori "driverCores" e "executorCores" devono essere uguali.
- "defaultLakehouse" sovrascriverà la lakehouse bloccata in Lakehouse Explorer, ma funziona solo nella sessione del notebook corrente.
- È possibile usare %%configure nelle pipeline di Fabric, ma se non è impostato nella prima cella di codice, l'esecuzione della pipeline avrà esito negativo perché non è possibile riavviare la sessione.You can use %%configure in Fabric pipelines, but it's not set in the first code cell, the pipeline run will fail due to restart session.
- %%configure usato in mssparkutils.notebook.run verrà ignorato, ma usato in %run notebook continuerà l'esecuzione.
- Le proprietà di configurazione spark standard devono essere usate nel corpo "conf". Fabric non supporta i riferimenti di primo livello per le proprietà di configurazione di Spark.
- Alcune proprietà speciali di Spark, tra cui "spark.driver.cores", "spark.executor.cores", "spark.driver.memory", "spark.executor.memory" e "spark.executor.instances" non hanno effetto nel corpo "conf".
Configurazione della sessione con parametri da una pipeline
La configurazione della sessione con parametri consente di sostituire il valore in %%configure magic con i parametri dell'attività del notebook di esecuzione della pipeline. Quando si prepara la cella di codice %%configure, è possibile eseguire l'override dei valori predefiniti (configurabili anche, 4 e "2000" nell'esempio seguente) con un oggetto simile al seguente:
{
"parameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"parameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"parameterName": "rows",
"defaultValue": "2000"
}
}
}
Un notebook usa il valore predefinito se si esegue un notebook in modalità interattiva direttamente o se l'attività del notebook della pipeline non fornisce alcun parametro corrispondente a "activityParameterName".
Durante un'esecuzione della pipeline, è possibile configurare le impostazioni dell'attività del notebook della pipeline come indicato di seguito:
Se si vuole modificare la configurazione della sessione, il nome dei parametri dell'attività del notebook della pipeline deve essere uguale a quello parameterName
del notebook. In questo esempio di esecuzione di una pipeline, driverCores
in %%configure vengono sostituiti da 8 e livy.rsc.sql.num-rows
vengono sostituiti da 4000.
Nota
- Se un'esecuzione della pipeline ha esito negativo perché è stato usato il comando magic %%configure, trovare altre informazioni sull'errore eseguendo la cella magic %%configure nella modalità interattiva del notebook.
- Le esecuzioni pianificate del notebook non supportano la configurazione della sessione con parametri.
Registrazione di Python in un notebook
È possibile trovare i log python e impostare livelli di log e formato diversi, come il codice di esempio illustrato di seguito:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
Visualizzare la cronologia dei comandi di input
Il notebook di Fabric supporta il comando %history
magic per stampare la cronologia dei comandi di input eseguita nella sessione corrente, confrontando il comando %history
Standard di Jupyter Ipython che funziona per più lingue nel notebook.
%history [-n] [range [range ...]]
Per le opzioni:
- -n: Stampa numero di esecuzione.
Dove l'intervallo può essere:
- N: Stampare il codice dellacella n eseguita.
- M-N: stampare il codice da Mth a Nth eseguito cella.
Esempio:
- Stampare la cronologia di input dalla prima alla seconda cella eseguita:
%history -n 1-2
Combinazioni di tasti
Analogamente ai notebook di Jupyter, i notebook di Fabric hanno un'interfaccia utente modale. La tastiera esegue diverse operazioni a seconda della modalità in cui si trova la cella del notebook. I notebook di Fabric supportano le due modalità seguenti per una determinata cella di codice: modalità di comando e modalità di modifica.
Una cella è in modalità Comando quando non è presente alcun cursore di testo che richiede di digitare. Quando una cella è in modalità di comando, è possibile modificare il notebook nel suo complesso, ma non digitare in singole celle. Immettere la modalità comando premendo ESC o usando il mouse per selezionare all'esterno dell'area dell'editor di una cella.
La modalità di modifica può essere indicata da un cursore di testo che richiede di digitare nell'area dell'editor. Quando una cella è in modalità Modifica, è possibile digitare nella cella. Immettere la modalità di modifica premendo INVIO o usando il mouse per selezionare l'area dell'editor di una cella.
Tasti di scelta rapida in modalità comando
Azione | Tasti di scelta rapida per notebook |
---|---|
Eseguire la cella corrente e selezionare in basso | MAIUSC + Invio |
Eseguire la cella corrente e inserire in basso | ALT + INVIO |
Eseguire la cella corrente | Ctrl + INVIO |
Selezionare la cella in alto | Freccia SU |
Selezionare la cella in basso | Giù |
Selezionare la cella precedente | K |
Selezionare la cella successiva | J |
Inserire la cella in alto | Un |
Inserire la cella in basso | G |
Eliminare le celle selezionate | MAIUSC + D |
Passare alla modalità di modifica | INVIO |
Tasti di scelta rapida in modalità di modifica
Usando i tasti di scelta rapida seguenti, è possibile spostarsi ed eseguire facilmente il codice nei notebook di Fabric quando si usa la modalità di modifica.
Azione | Tasti di scelta rapida per notebook |
---|---|
Spostare il cursore in alto | Freccia SU |
Spostare in cursore in basso | Giù |
Annulla | CTRL + Z |
Ripeti | CTRL + Y |
Commento o Rimuovi commento | CTRL+ / Commento: CTRL + K + C Rimuovi commento: CTRL + K + U |
Eliminare la parola prima | CTRL + BACKSPACE |
Eliminare la parola dopo | CTRL + CANC |
Andare all'inizio della cella | CTRL + Home |
Andare alla fine della cella | CTRL + Fine |
Andare a sinistra di una parola | CTRL + freccia sinistra |
Andare a destra di una parola | CTRL + freccia destra |
Seleziona tutto | CTRL + A |
Impostare un rientro | CTRL + ] |
Annullare l'impostazione di un rientro | CTRL + [ |
Passare alla modalità comandi | ESC |
Per trovare tutti i tasti di scelta rapida, selezionare Visualizza sulla barra multifunzione del notebook e quindi selezionare Tasti di scelta rapida.
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per