Utveckla kod i Databricks Notebooks
Den här sidan beskriver hur du utvecklar kod i Databricks-notebook-filer, inklusive automatisk komplettering, automatisk formatering för Python och SQL, kombinerar Python och SQL i en notebook-fil och spårar notebook-revisionshistoriken.
Åtkomstanteckningsbok för redigering
Om du vill öppna en notebook-fil använder du funktionen Sök på arbetsytan eller använder arbetsytans webbläsare för att navigera till anteckningsboken och klickar på anteckningsbokens namn eller ikon.
Kortkommandon
Om du vill visa kortkommandon väljer du Hjälp > kortkommandon. Vilka kortkommandon som är tillgängliga beror på om markören finns i en kodcell (redigeringsläge) eller inte (kommandoläge).
Sök efter och ersätt text
Om du vill hitta och ersätta text i en anteckningsbok väljer du Redigera > Sök och Ersätt. Den aktuella matchningen är markerad i orange och alla andra matchningar är markerade i gult.
Om du vill ersätta den aktuella matchningen klickar du på Ersätt. Om du vill ersätta alla matchningar i anteckningsboken klickar du på Ersätt alla.
Om du vill flytta mellan matchningar klickar du på knapparna Prev och Next . Du kan också trycka på skift+enter och retur för att gå till föregående respektive nästa matchningar.
Stäng sök- och ersätt-verktyget genom att klicka på eller trycka på esc.
Komplettera automatiskt
Du kan använda Automatisk komplettering av Azure Databricks för att automatiskt slutföra kodsegment när du skriver dem. Azure Databricks stöder två typer av automatisk komplettering: lokal och server.
Lokal automatisk komplettering slutför ord som definieras i notebook-filen. Server komplettera automatiskt använder klustret för definierade typer, klasser och objekt, samt SQL-databas- och tabellnamn. Om du vill aktivera automatisk komplettering av servern kopplar du anteckningsboken till ett kluster och kör alla celler som definierar slutförbara objekt.
Viktigt
Automatisk komplettering av server i R-notebook-filer blockeras under kommandokörningen.
Om du vill utlösa automatisk komplettering trycker du på Tabb när du har angett ett slutförbart objekt. När du till exempel har definierat och kört cellerna som innehåller definitionerna för MyClass
och instance
kan metoderna instance
för slutföras, och en lista över giltiga slutföranden visas när du trycker på Tabb.
SQL-databas- och tabellnamnskomplettering, typkomplettering, syntaxmarkering och AUTOMATISK SQL-komplettering är tillgängliga i SQL-celler och när du använder SQL i ett Python-kommando, till exempel i ett spark.sql
kommando.
– –
I Databricks Runtime 7.4 och senare kan du visa Python-dokumenttips genom att trycka på Skift+Tabb när du har angett ett slutförbart Python-objekt. Dokumenten innehåller samma information som help()
funktionen för ett objekt.
Kör markerad text
Du kan markera kod eller SQL-uttryck i en notebook-cell och bara köra den markeringen. Detta är användbart när du snabbt vill iterera kod och frågor.
Markera de rader som du vill köra.
Välj Kör > kör markerad text eller använd kortkommandot
Ctrl
Enter
+Shift
+. Om ingen text är markerad kör Kör markerad text den aktuella raden.
Om du använder blandade språk i en cell måste du inkludera %<language>
raden i markeringen.
Kör markerad text kör också komprimerad kod, om det finns någon i den markerade markeringen.
Särskilda cellkommandon som %run
, %pip
och %sh
stöds.
Kör markerade textbegränsningar
Du kan inte använda Kör markerad text på celler som har flera utdataflikar (dvs. celler där du har definierat en dataprofil eller visualisering).
Om du inte använder den nya notebook-redigeraren fungerar Kör markerad text endast i redigeringsläge (det vill: när markören finns i en kodcell). Om markören ligger utanför cellen med den markerade texten fungerar inte Kör markerad text . Om du vill undvika den här begränsningen aktiverar du den nya notebook-redigeraren.
Formatera kodceller
Azure Databricks innehåller verktyg som gör att du snabbt och enkelt kan formatera Python- och SQL-kod i notebook-celler. De här verktygen minskar arbetet med att hålla koden formaterad och bidra till att tillämpa samma kodningsstandarder i dina notebook-filer.
Formatera Python-celler
Viktigt
Den här funktionen finns som allmänt tillgänglig förhandsversion.
Azure Databricks stöder Python-kodformatering med hjälp av Svart i notebook-filen. Anteckningsboken måste vara ansluten till ett kluster med black
Python-paket tokenize-rt
installerade och black-formaterare körs på klustret som notebook-filen är ansluten till.
På Databricks Runtime 11.2 och senare förinstallerar black
Azure Databricks och tokenize-rt
. Du kan använda formateringen direkt utan att behöva installera de här biblioteken.
På Databricks Runtime 11.1 och nedan måste du installera black==22.3.0
och tokenize-rt==4.2.1
från PyPI i anteckningsboken eller klustret för att kunna använda Python-formatören. Du kan köra följande kommando i anteckningsboken:
%pip install black==22.3.0 tokenize-rt==4.2.1
eller installera biblioteket i klustret.
Mer information om hur du installerar bibliotek finns i Python-miljöhantering.
Formatera Python- och SQL-celler
Du måste ha behörigheten Kan redigera i anteckningsboken för att formatera kod.
Du kan utlösa formateraren på följande sätt:
Formatera en enskild cell
- Kortkommando: Tryck på Cmd+Skift+F.
- Snabbmeny för kommando:
- Formatera SQL-cell: Välj Formatera SQL i kommandokontextmenyn i en SQL-cell. Det här menyalternativet visas endast i SQL Notebook-celler eller i de med språkmagi
%sql
. - Formatera Python-cell: Välj Formatera Python i kommandokontextmenyn i en Python-cell. Det här menyalternativet visas endast i Python Notebook-celler eller i de med språkmagi
%python
.
- Formatera SQL-cell: Välj Formatera SQL i kommandokontextmenyn i en SQL-cell. Det här menyalternativet visas endast i SQL Notebook-celler eller i de med språkmagi
- Anteckningsbokens redigeringsmeny: Välj en Python- eller SQL-cell och välj sedan Redigera > formatceller.
Formatera flera celler
Markera flera celler och välj sedan Redigera > formatceller. Om du markerar celler med fler än ett språk formateras endast SQL- och Python-celler. Detta inkluderar de som använder
%sql
och%python
.Formatera alla Python- och SQL-celler i notebook-filen
Välj Redigera > anteckningsbok för format. Om anteckningsboken innehåller mer än ett språk formateras endast SQL- och Python-celler. Detta inkluderar de som använder
%sql
och%python
.
Begränsningar för kodformatering
- Svart tillämpar PEP 8-standarder för 4-blankstegs indrag. Indrag kan inte konfigureras.
- Formatering av inbäddade Python-strängar i en SQL UDF stöds inte. På samma sätt stöds inte formatering av SQL-strängar i en Python UDF.
Versionshistorik
Azure Databricks-notebook-filer har en historik över notebook-versioner, så att du kan visa och återställa tidigare ögonblicksbilder av notebook-filen. Du kan utföra följande åtgärder på versioner: lägga till kommentarer, återställa och ta bort versioner och rensa versionshistorik.
Du kan också synkronisera ditt arbete i Databricks med en fjärransluten Git-lagringsplats.
Om du vill komma åt notebook-versioner klickar du på i det högra sidofältet. Historiken för notebook-versionen visas. Du kan också välja Filversionshistorik>.
Lägg till en kommentar
Så här lägger du till en kommentar i den senaste versionen:
Klicka på versionen.
Klicka på Spara nu.
I dialogrutan Spara anteckningsboksrevision anger du en kommentar.
Klicka på Spara. Notebook-versionen sparas med den angivna kommentaren.
Återställa en version
Så här återställer du en version:
Klicka på versionen.
Klicka på Återställ den här revisionen.
Klicka på Bekräfta. Den valda versionen blir den senaste versionen av notebook-filen.
Ta bort en version
Så här tar du bort en versionspost:
Klicka på versionen.
Klicka på papperskorgsikonen
.
Klicka på Ja, radera. Den valda versionen tas bort från historiken.
Rensa versionshistorik
Det går inte att återställa versionshistoriken när den har rensats.
Så här rensar du versionshistoriken för en notebook-fil:
- Välj Fil > Rensa versionshistorik.
- Klicka på Ja, avmarkera. Versionshistoriken för notebook-filen rensas.
Kodspråk i notebook-filer
Ange standardspråk
Standardspråket för anteckningsboken visas bredvid anteckningsbokens namn.
Om du vill ändra standardspråket klickar du på språkknappen och väljer det nya språket i den nedrullningsbara menyn. För att säkerställa att befintliga kommandon fortsätter att fungera prefixet kommandon för det tidigare standardspråket automatiskt med ett språk magiskt kommando.
Blanda språk
Som standard använder celler standardspråket för notebook-filen. Du kan åsidosätta standardspråket i en cell genom att klicka på språkknappen och välja ett språk i den nedrullningsbara menyn.
Alternativt kan du använda kommandot %<language>
language magic i början av en cell. De magiska kommandon som stöds är: %python
, %r
, %scala
och %sql
.
Anteckning
När du anropar ett magiskt språkkommando skickas kommandot till REPL i körningskontexten för notebook-filen. Variabler som definierats på ett språk (och därmed i REPL för det språket) är inte tillgängliga i REPL för ett annat språk. REPL:er kan bara dela tillstånd via externa resurser, till exempel filer i DBFS eller objekt i objektlagring.
Notebook-filer har också stöd för några extra magiska kommandon:
%sh
: Gör att du kan köra shell-kod i notebook-filen. Om du vill misslyckas med cellen om shell-kommandot har en slutstatus som inte är noll lägger du till-e
alternativet . Det här kommandot körs bara på Apache Spark-drivrutinen och inte på arbetarna. Om du vill köra ett gränssnittskommando på alla noder använder du ett init-skript.%fs
: Gör att du kan användadbutils
filsystemkommandon. Om du till exempel vill köradbutils.fs.ls
kommandot för att visa en lista över filer kan du ange%fs ls
i stället. Mer information finns i Så här arbetar du med filer på Azure Databricks.%md
: Gör att du kan inkludera olika typer av dokumentation, inklusive text, bilder och matematiska formler och ekvationer. Se nästa avsnitt.
Markering och automatisk komplettering av SQL-syntax i Python-kommandon
Syntaxmarkering och automatisk komplettering av SQL är tillgängliga när du använder SQL i ett Python-kommando, till exempel i ett spark.sql
kommando.
Utforska SQL-cellresultat i Python-notebook-filer internt med Hjälp av Python
Du kanske vill läsa in data med HJÄLP av SQL och utforska dem med hjälp av Python. I en Databricks Python-notebook-fil görs tabellresultat från en SQL-språkcell automatiskt tillgängliga som en Python DataFrame. Namnet på Python DataFrame är _sqldf
.
Anteckning
I Python-notebook-filer sparas inte DataFrame
_sqldf
automatiskt och ersätts med resultatet av den senaste SQL-cellkörningen. Om du vill spara DataFrame kör du den här koden i en Python-cell:new_dataframe_name = _sqldf
Om frågan använder en widget för parameterisering är resultatet inte tillgängligt som en Python-dataram.
Om frågan använder nyckelorden
CACHE TABLE
ellerUNCACHE TABLE
är resultaten inte tillgängliga som en Python-dataram.
Skärmbilden visar ett exempel:
Visa bilder
Om du vill visa bilder som lagras i FileStore använder du syntaxen:
%md

Anta till exempel att du har Databricks-logotypens bildfil i FileStore:
dbfs ls dbfs:/FileStore/
databricks-logo-mobile.png
När du inkluderar följande kod i en Markdown-cell:
bilden återges i cellen:
Visa matematiska ekvationer
Notebook-filer stöder KaTeX för att visa matematiska formler och ekvationer. Exempel:
%md
\\(c = \\pm\\sqrt{a^2 + b^2} \\)
\\(A{_i}{_j}=B{_i}{_j}\\)
$$c = \\pm\\sqrt{a^2 + b^2}$$
\\[A{_i}{_j}=B{_i}{_j}\\]
renderas som:
och
%md
\\( f(\beta)= -Y_t^T X_t \beta + \sum log( 1+{e}^{X_t\bullet\beta}) + \frac{1}{2}\delta^t S_t^{-1}\delta\\)
where \\(\delta=(\beta - \mu_{t-1})\\)
renderas som:
Inkludera HTML
Du kan inkludera HTML i en notebook-fil med hjälp av funktionen displayHTML
. Se HTML, D3 och SVG i notebook-filer för ett exempel på hur du gör detta.
Anteckning
iframe displayHTML
hanteras från domänen databricksusercontent.com
och iframe-sandbox-miljön innehåller attributet allow-same-origin
. databricksusercontent.com
måste vara tillgänglig från din webbläsare. Om den för närvarande blockeras av ditt företags nätverk måste den läggas till i en lista över tillåtna.
Länka till andra anteckningsböcker
Du kan länka till andra anteckningsböcker eller mappar i Markdown-celler med hjälp av relativa sökvägar. Ange attributet för href
en fästpunktstagg som den relativa sökvägen, och börja med en $
och följ sedan samma mönster som i Unix-filsystem:
%md
<a href="$./myNotebook">Link to notebook in same folder as current notebook</a>
<a href="$../myFolder">Link to folder in parent folder of current notebook</a>
<a href="$./myFolder2/myNotebook2">Link to nested notebook</a>