Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Op deze pagina wordt beschreven hoe u code ontwikkelt in Databricks-notebooks, waaronder automatisch aanvullen, automatische opmaak voor Python en SQL, het combineren van Python en SQL in een notebook en het bijhouden van de versiegeschiedenis van het notebook.
Zie Navigate the Databricks notebook and file editorvoor meer informatie over geavanceerde functionaliteit die beschikbaar is in de editor, zoals automatisch aanvullen, variabele selectie, ondersteuning voor meerdere cursors en side-by-side diffs.
Wanneer u het notebook of de bestandseditor gebruikt, is Databricks Assistant beschikbaar om u te helpen code te genereren, uit te leggen en fouten op te sporen. Zie Databricks Assistant gebruiken voor meer informatie.
Databricks-notebooks bevatten ook een ingebouwd interactief foutopsporingsprogramma voor Python-notebooks. Zie Notebooks voor foutopsporing.
Uw code modulariseren
Met Databricks Runtime 11.3 LTS en hoger kunt u broncodebestanden maken en beheren in de Azure Databricks-werkruimte en deze bestanden vervolgens indien nodig importeren in uw notebooks.
Zie Code delen tussen Databricks-notebooks en werken met Python- en R-modules voor meer informatie over het werken met broncodebestanden.
Codecellen opmaken
Azure Databricks biedt hulpprogramma's waarmee u Python- en SQL-code in notebookcellen snel en eenvoudig kunt opmaken. Deze hulpprogramma's verminderen de moeite om uw code geformatteerd te houden en om dezelfde coderingsstandaarden af te dwingen in uw notebooks.
Zwarte indelingsbibliotheek voor Python
Belangrijk
Deze functie is beschikbaar als openbare preview.
Azure Databricks biedt ondersteuning voor python-codeopmaak met zwart in het notebook. Het notebook moet zijn gekoppeld aan een cluster met black en tokenize-rt geïnstalleerde Python-pakketten.
Op Databricks Runtime 11.3 LTS en hoger installeert Azure Databricks vooraf black en tokenize-rt. U kunt de formatter rechtstreeks gebruiken zonder deze bibliotheken te hoeven installeren.
Op Databricks Runtime 10.4 LTS en hieronder moet u PyPI op uw notebook of cluster installeren black==22.3.0 en tokenize-rt==4.2.1 gebruiken om de Python-formatter te gebruiken. U kunt de volgende opdracht uitvoeren in uw notebook:
%pip install black==22.3.0 tokenize-rt==4.2.1
of installeer de bibliotheek op uw cluster.
Zie Python-omgevingsbeheer voor meer informatie over het installeren van bibliotheken.
Voor bestanden en notebooks in Databricks Git-mappen kunt u de Python-indeling configureren op basis van het pyproject.toml bestand. Als u deze functie wilt gebruiken, maakt u een pyproject.toml bestand in de hoofdmap van de Git-map en configureert u het volgens de black-configuratie-indeling. Bewerk de sectie [tool.black] in het bestand. De configuratie wordt toegepast wanneer u elk bestand en notitieblok in die Git-map formatteert.
Python- en SQL-cellen opmaken
U moet de machtiging CAN EDIT voor het notitieblok hebben om code op te maken.
Azure Databricks maakt gebruik van de Gethue-/sql-formatter-bibliotheek om SQL en de zwarte code-formatter voor Python op te maken.
U kunt de formatter op de volgende manieren activeren:
- Een enkele cel opmaken - Sneltoets: Druk op Cmd+Shift+F.
- Opdrachtcontextmenu - SQL-cel opmaken: selecteer Format SQL in het opdrachtencontextmenu van een SQL-cel. Dit menu-item is alleen zichtbaar in SQL Notebook-cellen of cellen met een %sqltaalmagie.
- Python-cel opmaken: selecteer Formatteer Python in het opdrachtcontext vervolgkeuzemenu van een Python-cel. Dit menu-item is alleen zichtbaar in Python-notebookcellen of cellen met een %pythontaalmagie.
 
- SQL-cel opmaken: selecteer Format SQL in het opdrachtencontextmenu van een SQL-cel. Dit menu-item is alleen zichtbaar in SQL Notebook-cellen of cellen met een 
- Notebook Bewerken menu: Selecteer een Python- of SQL-cel en selecteer vervolgens Bewerken > Cel(en) opmaken.
 
- Meerdere cellen opmaken - Selecteer meerdere cellen en selecteer > Cel(en) bewerken. Als u cellen van meer dan één taal selecteert, worden alleen SQL- en Python-cellen opgemaakt. Dit omvat degenen die - %sqlen- %pythongebruiken.
- Alle Python- en SQL-cellen in het notebook opmaken - Selecteer > BewerkenNotitieblok opmaken. Als uw notebook meer dan één taal bevat, worden alleen SQL- en Python-cellen opgemaakt. Dit omvat degenen die - %sqlen- %pythongebruiken.
Om aan te passen hoe uw SQL-query's zijn opgemaakt, zie Aangepaste opmaak van SQL-instructies.
Beperkingen van codeopmaak
- Black handhaaft de PEP 8-standaarden voor inspringen met vier spaties. Inspringing kan niet worden geconfigureerd.
- Het opmaken van ingesloten Python-tekenreeksen in een SQL UDF wordt niet ondersteund. Op dezelfde manier wordt het opmaken van SQL-tekenreeksen in een Python UDF niet ondersteund.
Codetalen in notebooks
standaardtaal instellen
De standaardtaal voor het notitieblok wordt weergegeven onder de naam van het notitieblok.
               
              
            
Als u de standaardtaal wilt wijzigen, klikt u op de taalknop en selecteert u de nieuwe taal in de vervolgkeuzelijst. Om ervoor te zorgen dat bestaande opdrachten blijven werken, worden opdrachten van de vorige standaardtaal automatisch voorafgegaan door een taal-magische opdracht.
Talen combineren
Cellen gebruiken standaard de standaardtaal van het notitieblok. U kunt de standaardtaal in een cel overschrijven door op de taalknop te klikken en een taal te selecteren in de vervolgkeuzelijst.
               
              
            
U kunt ook de taal-magic-opdracht %<language> aan het begin van een cel gebruiken. De ondersteunde magic-opdrachten zijn: %python, %r, %scalaen %sql.
Notitie
Wanneer u een magic-opdracht voor taal aanroept, wordt de opdracht verzonden naar de REPL in de uitvoeringscontext voor het notebook. Variabelen die zijn gedefinieerd in één taal (en dus in de REPL voor die taal) zijn niet beschikbaar in de REPL van een andere taal. REPLs kunnen alleen de status delen via externe bronnen, zoals bijvoorbeeld bestanden in DBFS of objecten in objectopslag.
Notebooks bieden ook ondersteuning voor een aantal aanvullende magic-opdrachten:
- 
              %sh: Hiermee kunt u shellcode uitvoeren in uw notebook. Als u de cel wilt laten falen wanneer de shell-opdracht een niet-nul afsluitstatus heeft, voegt u de-e-optie toe. Deze opdracht wordt alleen uitgevoerd op het Apache Spark-stuurprogramma en niet op de werkers. Als u een shell-opdracht wilt uitvoeren op alle knooppunten, gebruikt u een init-script.
- 
              %fs: Hiermee kunt u bestandssysteemopdrachten gebruikendbutils. Als u bijvoorbeeld de opdrachtdbutils.fs.lswilt uitvoeren om bestanden weer te geven, kunt u in plaats daarvan%fs lsopgeven. Zie Werken met bestanden in Azure Databricks voor meer informatie.
- 
              %md: Hiermee kunt u verschillende soorten documentatie opnemen, waaronder tekst, afbeeldingen en wiskundige formules en vergelijkingen. Bekijk de volgende sectie.
SQL-syntaxis markeren en automatisch aanvullen in Python-opdrachten
Syntaxmarkering en SQL autocomplete zijn beschikbaar wanneer u SQL gebruikt binnen een Python-opdracht, zoals in een spark.sql-opdracht.
Sql-celresultaten verkennen
In een Databricks-notebook worden resultaten van een SQL-taalcel automatisch beschikbaar gemaakt als een impliciet DataFrame dat is toegewezen aan de variabele _sqldf. U kunt deze variabele vervolgens gebruiken in python- en SQL-cellen die u later uitvoert, ongeacht hun positie in het notebook.
Notitie
Deze functie heeft de volgende beperkingen:
- De _sqldfvariabele is niet beschikbaar in notebooks die gebruikmaken van een SQL-warehouse voor berekening.
- Het gebruik _sqldfin volgende Python-cellen wordt ondersteund in Databricks Runtime 13.3 en hoger.
- Het gebruik _sqldfin volgende SQL-cellen wordt alleen ondersteund in Databricks Runtime 14.3 en hoger.
- Als de query gebruikmaakt van de trefwoorden CACHE TABLEofUNCACHE TABLE, is de_sqldfvariabele niet beschikbaar.
In de onderstaande schermopname ziet u hoe _sqldf u deze kunt gebruiken in volgende Python- en SQL-cellen:
               
              
            
Belangrijk
De variabele _sqldf wordt telkens opnieuw toegewezen wanneer een SQL-cel wordt uitgevoerd. Als u wilt voorkomen dat verwijzingen naar een specifiek DataFrame-resultaat verloren gaan, wijst u deze toe aan een nieuwe variabelenaam voordat u de volgende SQL-cel uitvoert:
Python
new_dataframe_name = _sqldf
SQL
ALTER VIEW _sqldf RENAME TO new_dataframe_name
SQL-cellen parallel uitvoeren
Terwijl een opdracht wordt uitgevoerd en uw notebook is gekoppeld aan een interactief cluster, kunt u een SQL-cel tegelijk uitvoeren met de huidige opdracht. De SQL-cel wordt uitgevoerd in een nieuwe, parallelle sessie.
Een cel parallel uitvoeren:
- Voer de cel uit. 
- Klik op Nu uitvoeren. De cel wordt onmiddellijk uitgevoerd.   
Omdat de cel wordt uitgevoerd in een nieuwe sessie, worden tijdelijke weergaven, UDF's en de impliciete Python DataFrame- (_sqldf) niet ondersteund voor cellen die parallel worden uitgevoerd. Daarnaast worden de standaardcatalogus- en databasenamen gebruikt tijdens parallelle uitvoering. Als uw code verwijst naar een tabel in een andere catalogus of database, moet u de tabelnaam opgeven met een naamruimte met drie niveaus (catalog.schema.table).
SQL-cellen uitvoeren op een SQL-warehouse
U kunt SQL-opdrachten uitvoeren in een Databricks-notebook in een SQL-warehouse, een type rekenproces dat is geoptimaliseerd voor SQL-analyses. Zie Een notebook gebruiken met een SQL-warehouse.
Code uitvoeren in Assistent op serverloze compute
U kunt code uitvoeren in de Assistent op Databricks op serverloze berekeningen. Dit is de standaard rekenkracht op Databricks. Voor pagina's waarvoor al een rekenproces is geselecteerd (bijvoorbeeld notebooks of SQL-editor), wordt databricks standaard gebruikt. Zie Compute voor meer informatie over rekentypen.
Als u geen toegang hebt tot serverloze berekeningen, moet er een rekenproces beschikbaar zijn om code uit te voeren in het deelvenster Assistent.