Spark gebruiken in notebooks
U kunt veel verschillende soorten toepassingen uitvoeren in Spark, waaronder code in Python- of Scala-scripts, Java-code die is gecompileerd als een Java Archive (JAR) en andere. Spark wordt vaak gebruikt in twee soorten workloads:
- Batch- of streamverwerkingstaken voor het opnemen, opschonen en transformeren van gegevens, die vaak worden uitgevoerd als onderdeel van een geautomatiseerde pijplijn.
 - Interactieve analysesessies voor het verkennen, analyseren en visualiseren van gegevens.
 
Basisprincipes van het bewerken van notitieblokken en code
Databricks-notebooks zijn de primaire werkruimte voor data science, engineering en analyse. Ze zijn gebouwd rond cellen, die code of opgemaakte tekst (Markdown) kunnen bevatten. Met deze op cel gebaseerde benadering kunt u eenvoudig uw werk op één plek experimenteren, testen en uitleggen. U kunt één cel, een groep cellen of het hele notitieblok uitvoeren, met uitvoer zoals tabellen, grafieken of tekst zonder opmaak die direct onder de uitgevoerde cel wordt weergegeven. Cellen kunnen opnieuw worden gerangschikt, samengevouwen of gewist om uw notitieblok overzichtelijk en leesbaar te houden.
              
              
            
Een belangrijke kracht van Databricks-notebooks is ondersteuning voor meerdere talen. Hoewel de standaardinstelling vaak Python is, kunt u overschakelen naar SQL, Scala of R in hetzelfde notebook met behulp van magic-opdrachten zoals %sql of %scala. Deze flexibiliteit betekent dat u ETL-logica kunt schrijven in SQL, machine learning-code in Python en vervolgens resultaten kunt visualiseren met R, allemaal in één werkstroom. Databricks biedt ook automatisch aanvullen en syntaxismarkeringen, waardoor het gemakkelijker is om fouten te ondervangen en codering te versnellen.
Voordat u code uitvoert, moet een notebook worden gekoppeld aan een cluster. Zonder een gekoppeld cluster kunnen codecellen niet worden uitgevoerd. U kunt een bestaand cluster selecteren op de notebookwerkbalk of een nieuw cluster maken, en u kunt eenvoudig notebooks loskoppelen en weer aankoppelen als dat nodig is. Met deze verbinding kan uw notebook gebruikmaken van gedistribueerde verwerkingskracht in Azure Databricks.
Databricks Assistant gebruiken
De Databricks Assistant is een door AI aangedreven coderingsassistent die rechtstreeks is ingebouwd in notebooks. Het doel is om u te helpen code efficiënter te schrijven, begrijpen en verbeteren door gebruik te maken van context vanuit uw notebook en werkruimte. Het kan nieuwe code genereren op basis van prompts in natuurlijke taal, complexe logica uitleggen, oplossingen voorstellen voor fouten, prestaties optimaliseren en zelfs uw code herstructureren of opmaken voor leesbaarheid. Dit maakt het niet alleen waardevol voor beginners die Spark of SQL leren, maar ook voor ervaren gebruikers die de ontwikkeling willen versnellen en terugkerende werkzaamheden willen verminderen.
De assistent is contextbewust, wat betekent dat deze informatie over uw notebook, cluster en gegevensomgeving kan gebruiken om op maat gemaakte suggesties te bieden. Als voor uw werkruimte bijvoorbeeld Unity Catalog is ingeschakeld, kan deze metagegevens ophalen, zoals tabelnamen, kolomnamen en schema's bij het schrijven van SQL-query's. Hiermee kunt u iets vragen als 'Selecteer het gemiddelde verkoopbedrag per regio uit de verkooptabel' en werk SQL-code op die past bij uw werkelijke gegevensmodel. Op dezelfde manier kunt u in Python vragen om gegevenstransformaties of Spark-taken te maken zonder dat u elke functiehandtekening uit het geheugen hoeft op te halen.
U communiceert op twee manieren met de assistent:
Vragen in natuurlijke taal: u kunt eenvoudige Engelse instructies typen in de chatachtige interface en code invoegen in uw notitieblok.
Slash-opdrachten: snelle opdrachten zoals
/explain,/fixof/optimizewaarmee u kunt reageren op geselecteerde code. Als u bijvoorbeeld/explaineen complexe functie opsplitst in eenvoudigere stappen,/fixprobeert u syntaxis- of runtimefouten op te lossen en/optimizeworden prestatieverbeteringen voorgesteld, zoals het opnieuw partitioneren of gebruiken van efficiënte Spark-functies.
              
              
            
Een krachtige functie is de bewerkingsmodus, waar de assistent grotere structurele wijzigingen in meerdere cellen kan voorstellen. Het kan bijvoorbeeld herhaalde logica herstructureren in één herbruikbare functie of een werkstroom herstructureren voor een betere leesbaarheid. U hebt altijd controle: suggesties zijn niet-destructief, wat betekent dat u deze kunt controleren en accepteren of negeren voordat u wijzigingen toepast op uw notitieblok.
Code delen en modulariseren
Om duplicatie te voorkomen en de onderhoudbaarheid te verbeteren, ondersteunt Databricks het plaatsen van herbruikbare code in bestanden (bijvoorbeeld .py modules) in de werkruimte, die notebooks kunnen importeren. Er zijn mechanismen voor het organiseren van notebooks (dat wil gezegd, notebooks uitvoeren vanuit andere notebooks of taken met meerdere taken), zodat u werkstromen kunt bouwen die gebruikmaken van gedeelde functies of modules. Het gebruik %run is een eenvoudigere manier om een ander notitieblok op te nemen, maar met enkele beperkingen.
Fouten opsporen, versiegeschiedenis en fouten ongedaan maken
Databricks biedt een ingebouwd interactief foutopsporingsprogramma voor Python-notebooks: u kunt onderbrekingspunten instellen, stapsgewijs uitvoeren, variabelen inspecteren en stapsgewijs door code-uitvoering navigeren. Dit helpt fouten effectiever te isoleren dan foutopsporing in afdrukken/logboeken.
              
              
            
Notebooks onderhouden ook automatisch versiegeschiedenis: u kunt eerdere momentopnamen bekijken, versiebeschrijvingen geven, oude versies herstellen of geschiedenis verwijderen/wissen. Als u Git-integratie gebruikt, kunt u notitieblokken/bestanden in uw opslagplaats synchroniseren en versien.
              
              
            
Aanbeveling
Zie het artikel Notebooks in de documentatie van Azure Databricks voor meer informatie over het werken met notebooks in Azure Databricks.