Inleiding tot Azure Databricks-werkstromen

Azure Databricks-werkstromen organiseren pijplijnen voor gegevensverwerking, machine learning en analyse op het Databricks Data Intelligence Platform. Werkstromen hebben volledig beheerde indelingsservices die zijn geïntegreerd met het Databricks-platform, waaronder Azure Databricks-taken om niet-interactieve code uit te voeren in uw Azure Databricks-werkruimte en Delta Live Tables om betrouwbare en onderhoudbare ETL-pijplijnen te bouwen.

Zie Databricks-werkstromen voor meer informatie over de voordelen van het organiseren van uw werkstromen met het Databricks-platform.

Een voorbeeld van een Azure Databricks-werkstroom

In het volgende diagram ziet u een werkstroom die wordt ingedeeld door een Azure Databricks-taak voor:

  1. Voer een Delta Live Tables-pijplijn uit die onbewerkte clickstreamgegevens uit de cloudopslag opneemt, de gegevens opschoont en voorbereidt, de gegevens sessieert en de uiteindelijke sessiegegevensset ophoudt in Delta Lake.
  2. Voer een Delta Live Tables-pijplijn uit die ordergegevens opneemt uit cloudopslag, de gegevens opschoont en transformeert voor verwerking en de uiteindelijke gegevensset op Delta Lake bewaart.
  3. Neem deel aan de order- en sessiegegevens van clickstream om een nieuwe gegevensset te maken voor analyse.
  4. Extraheer functies uit de voorbereide gegevens.
  5. Voer taken parallel uit om de functies te behouden en een machine learning-model te trainen.

Diagram met een voorbeeldwerkstroom

Wat is Azure Databricks-taken?

Een Azure Databricks-taak is een manier om uw toepassingen voor gegevensverwerking en -analyse uit te voeren in een Azure Databricks-werkruimte. Uw taak kan bestaan uit één taak of kan een grote werkstroom met meerdere taken met complexe afhankelijkheden zijn. Azure Databricks beheert de taakindeling, het clusterbeheer, de bewaking en de foutrapportage voor al uw taken. U kunt uw taken onmiddellijk uitvoeren, periodiek via een eenvoudig te gebruiken planningssysteem, wanneer nieuwe bestanden op een externe locatie binnenkomen of continu om ervoor te zorgen dat een exemplaar van de taak altijd wordt uitgevoerd. U kunt taken ook interactief uitvoeren in de gebruikersinterface van het notebook.

U kunt een taak maken en uitvoeren met behulp van de takeninterface, de Databricks CLI of door de Taken-API aan te roepen. U kunt een mislukte of geannuleerde taak herstellen en opnieuw uitvoeren met behulp van de gebruikersinterface of API. U kunt de resultaten van de taakuitvoering controleren met behulp van de gebruikersinterface, CLI, API en meldingen (bijvoorbeeld e-mail, webhookbestemming of Slack-meldingen).

Zie Wat is de Databricks CLI?voor meer informatie over het gebruik van de Databricks CLI. Zie de Taken-API voor meer informatie over het gebruik van de Jobs-API.

De volgende secties hebben betrekking op belangrijke functies van Azure Databricks-taken.

Belangrijk

  • Een werkruimte is beperkt tot 1000 gelijktijdige taakuitvoeringen. Het antwoord 429 Too Many Requests wordt geretourneerd wanneer u een uitvoering aanvraagt die niet onmiddellijk kan worden gestart.
  • Het aantal taken dat een werkruimte in een uur kan maken, is beperkt tot 10000 (inclusief 'runs submit'). Deze limiet is ook van invloed op taken die zijn gemaakt door de REST API- en notebook-werkstromen.

Gegevensverwerking en -analyse implementeren met taaktaken

U implementeert uw werkstroom voor gegevensverwerking en analyse met behulp van taken. Een taak bestaat uit een of meer taken. U kunt taaktaken maken die notebooks, JARS, Delta Live Tables-pijplijnen of Python-, Scala-, Spark-submit- en Java-toepassingen uitvoeren. Uw taaktaken kunnen ook Databricks SQL-query's, waarschuwingen en dashboards organiseren om analyses en visualisaties te maken, of u kunt de dbt-taak gebruiken om dbt-transformaties uit te voeren in uw werkstroom. Verouderde Spark Submit-toepassingen worden ook ondersteund.

U kunt ook een taak toevoegen aan een taak waarmee een andere taak wordt uitgevoerd. Met deze functie kunt u een groot proces opsplitsen in meerdere kleinere taken of gegeneraliseerde modules maken die door meerdere taken kunnen worden hergebruikt.

U bepaalt de uitvoeringsvolgorde van taken door afhankelijkheden tussen de taken op te geven. U kunt taken zo configureren dat ze op volgorde of parallel worden uitgevoerd.

Taken interactief, continu of met behulp van taaktriggers uitvoeren

U kunt uw taken interactief uitvoeren vanuit de takeninterface, API of CLI of u kunt een doorlopende taak uitvoeren. U kunt een planning maken om uw taak periodiek uit te voeren of uw taak uit te voeren wanneer nieuwe bestanden binnenkomen op een externe locatie, zoals Amazon S3, Azure-opslag of Google Cloud-opslag.

Taakvoortgang bewaken met meldingen

U kunt meldingen ontvangen wanneer een taak of taak wordt gestart, voltooid of mislukt. U kunt meldingen verzenden naar een of meer e-mailadressen of systeembestemmingen (bijvoorbeeld webhookbestemmingen of Slack). Zie E-mail- en systeemmeldingen toevoegen voor taakevenementen.

Uw taken uitvoeren met Azure Databricks-rekenresources

Databricks-clusters en SQL-warehouses bieden de rekenbronnen voor uw taken. U kunt uw taken uitvoeren met een taakcluster, een cluster voor alle doeleinden of een SQL Warehouse:

  • Een taakcluster is een toegewezen cluster voor uw taak of afzonderlijke taaktaken. Uw taak kan een taakcluster gebruiken dat wordt gedeeld door alle taken of u kunt een cluster configureren voor afzonderlijke taken wanneer u een taak maakt of bewerkt. Er wordt een taakcluster gemaakt wanneer de taak of taak wordt gestart en beëindigd wanneer de taak of taak eindigt.
  • Een cluster voor alle doeleinden is een gedeeld cluster dat handmatig wordt gestart en beëindigd en kan worden gedeeld door meerdere gebruikers en taken.

Om het resourcegebruik te optimaliseren, raadt Databricks aan om een taakcluster voor uw taken te gebruiken. Als u minder tijd wilt besteden aan het opstarten van het cluster, kunt u overwegen een cluster voor alle doeleinden te gebruiken. Zie Azure Databricks Compute gebruiken met uw taken.

U gebruikt een SQL Warehouse om Databricks SQL-taken uit te voeren, zoals query's, dashboards of waarschuwingen. U kunt ook een SQL Warehouse gebruiken om dbt-transformaties uit te voeren met de dbt-taak.

Volgende stappen

Aan de slag met Azure Databricks-taken:

Meer informatie over het bouwen, beheren en oplossen van problemen met Azure Databricks-taken:

Wat is Delta Live Tables?

Notitie

Voor Delta Live Tables is het Premium-abonnement vereist. Neem contact op met uw Databricks-accountteam voor meer informatie.

Delta Live Tables is een framework dat ETL en streaminggegevensverwerking vereenvoudigt. Delta Live Tables biedt efficiënte opname van gegevens met ingebouwde ondersteuning voor AutoLoader-, SQL- en Python-interfaces die ondersteuning bieden voor declaratieve implementatie van gegevenstransformaties en ondersteuning voor het schrijven van getransformeerde gegevens naar Delta Lake. U definieert de transformaties die moeten worden uitgevoerd op uw gegevens en Delta Live Tables beheert taakindeling, clusterbeheer, bewaking, gegevenskwaliteit en foutafhandeling.

Zie Wat is Delta Live Tables? om aan de slag te gaan.

Azure Databricks-taken en Delta Live Tables

Azure Databricks-taken en Delta Live Tables bieden een uitgebreid framework voor het bouwen en implementeren van end-to-end gegevensverwerkings- en analysewerkstromen.

Gebruik Delta Live Tables voor alle opname en transformatie van gegevens. Gebruik Azure Databricks-taken om workloads te organiseren die bestaan uit één taak of meerdere gegevensverwerkings- en analysetaken op het Databricks-platform, waaronder opname en transformatie van Delta Live Tables.

Azure Databricks Jobs biedt als werkstroomindeling ook ondersteuning voor:

  • Taken uitvoeren op een geactiveerde basis, bijvoorbeeld het uitvoeren van een werkstroom volgens een schema.
  • Gegevensanalyse via SQL-query's, machine learning en gegevensanalyse met notebooks, scripts of externe bibliotheken, enzovoort.
  • Een taak uitvoeren die bestaat uit één taak, bijvoorbeeld het uitvoeren van een Apache Spark-taak die is verpakt in een JAR.

Werkstroomindeling met Apache AirFlow

Hoewel Databricks het gebruik van Azure Databricks-taken aanbeveelt om uw gegevenswerkstromen te organiseren, kunt u Ook Apache Airflow gebruiken om uw gegevenswerkstromen te beheren en te plannen. Met Airflow definieert u uw werkstroom in een Python-bestand en beheert Airflow de planning en uitvoering van de werkstroom. Zie Azure Databricks-taken organiseren met Apache Airflow.

Werkstroomindeling met Azure Data Factory

Azure Data Factory (ADF) is een cloudservice voor gegevensintegratie waarmee u services voor gegevensopslag, verplaatsing en verwerking kunt opstellen in geautomatiseerde gegevenspijplijnen. U kunt ADF gebruiken om een Azure Databricks-taak in te delen als onderdeel van een ADF-pijplijn.

Zie Azure Databricks-takenindeling gebruiken vanuit Azure Databricks vanuit Azure Databricks voor meer informatie over het uitvoeren van een taak met behulp van de ADF-webactiviteit, waaronder verificatie bij Azure Databricks vanuit ADF.

ADF biedt ook ingebouwde ondersteuning voor het uitvoeren van Databricks-notebooks, Python-scripts of code die is verpakt in JAR's in een ADF-pijplijn.

Zie Een Databricks-notebook uitvoeren met de Databricks-notebookactiviteit in Azure Data Factory, gevolgd door Gegevens transformeren door een Databricks-notebook uit te voeren.

Zie Gegevens transformeren door een Python-activiteit uit te voeren in Azure Databricks voor meer informatie over het uitvoeren van een Python-script in een ADF-pijplijn.

Zie Gegevens transformeren door een JAR-activiteit uit te voeren in Azure Databricks voor meer informatie over het uitvoeren van code die is verpakt in een JAR-pijplijn.