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.
Lakeflow Jobs is workflow-automatisering voor Azure Databricks en biedt orkestratie voor werklasten voor gegevensverwerking, zodat je meerdere taken kunt coördineren en uitvoeren als onderdeel van een grotere werkstroom. U kunt de uitvoering van frequente, herhaalbare taken optimaliseren en plannen en complexe werkstromen beheren.
In dit artikel worden concepten en keuzes geïntroduceerd met betrekking tot het beheren van productielasten met behulp van Lakeflow Jobs.
Wat zijn taken?
In Databricks wordt een taak gebruikt voor het plannen en organiseren van taken op Databricks in een werkstroom. Veelvoorkomende werkstromen voor gegevensverwerking zijn ETL-werkstromen, notebooks uitvoeren en machine learning-werkstromen (ML) en integratie met externe systemen zoals dbt en Azure Data Factory (ADF).
Opdrachten bestaan uit een of meer taken en ondersteunen aangepaste controle stroomlogica, zoals vertakkingen (if/else-instructies) of lussen (for each-instructies) met behulp van een visuele ontwerpinterface. Taken kunnen gegevens in een ETL-werkstroom laden of transformeren, of ML-modellen op een gecontroleerde en herhaalbare manier bouwen, trainen en implementeren als onderdeel van uw machine learning-pijplijnen.
Voorbeeld: Dagelijkse gegevensverwerking en validatietaak
In het onderstaande voorbeeld ziet u een taak in Azure Databricks.
Deze voorbeeldtaak heeft de volgende kenmerken:
- De eerste taak neemt omzetgegevens op.
- De tweede taak is een if/else-controle op null-waarden.
- Zo niet, dan wordt een transformatietaak uitgevoerd.
- Anders wordt er een notebooktaak uitgevoerd met een validatie van de gegevenskwaliteit.
- Het is gepland om elke dag op hetzelfde tijdstip te worden uitgevoerd.
Zie Maak uw eerste workflow met Lakeflow Jobs voor een korte introductie tot het creëren van uw eigen job.
Veelvoorkomende toepassingen
Van basisbeginselen voor data engineering tot geavanceerde integratie van machine learning en naadloze hulpprogramma's, laten deze veelvoorkomende use cases zien wat de breedte is van de mogelijkheden die moderne analyses, werkstroomautomatisering en schaalbaarheid van de infrastructuur stimuleren.
Orchestratieconcepten
Er zijn drie hoofdconcepten bij het gebruik van Lakeflow Jobs voor orkestratie in Azure Databricks: taken, taken en triggers.
Job - Een job is de primaire resource voor het coördineren, plannen en uitvoeren van uw operaties. Taken kunnen in complexiteit variëren van één taak waarop een Azure Databricks-notebook wordt uitgevoerd tot honderden taken met voorwaardelijke logica en afhankelijkheden. De taken in een functie worden visueel vertegenwoordigd door een Gerichte Acyclische Graaf (DAG). U kunt eigenschappen voor de taak opgeven, waaronder:
- Trigger: hiermee wordt gedefinieerd wanneer de taak moet worden uitgevoerd.
- Parameters: uitvoeringsparameters die automatisch naar de taken binnen de opdracht worden gepusht.
- Meldingen: e-mailberichten of webhooks die moeten worden verzonden wanneer een taak mislukt of te lang duurt.
- Git: instellingen voor broncodebeheer voor de taaktaken.
Taak - Een taak is een specifieke werkeenheid binnen een taak. Elke taak kan verschillende bewerkingen uitvoeren, waaronder:
- Een notebooktaak voert een Databricks-notebook uit. U geeft het pad op naar het notebook en eventuele parameters die nodig zijn.
- Een pijplijntaak voert een pijplijn uit. U kunt bestaande Lakeflow Spark-declaratieve pijplijnen opgeven, zoals een gerealiseerde weergave of streamingtabel.
- Met een Python-scripttaak wordt een Python-bestand uitgevoerd. U geeft het pad naar het bestand en eventuele benodigde parameters op.
Er zijn veel soorten taken. Zie Typen takenvoor een volledige lijst. Taken kunnen afhankelijk zijn van andere taken en andere taken voorwaardelijk uitvoeren, zodat u complexe werkstromen met voorwaardelijke logica en afhankelijkheden kunt maken.
Trigger - Een trigger is een mechanisme waarmee een taak wordt gestart op basis van specifieke voorwaarden of gebeurtenissen. Een trigger kan op tijd zijn gebaseerd, zoals het uitvoeren van een taak op een gepland tijdstip (bijvoorbeeld elke dag om 2:00 uur) of op basis van gebeurtenissen, zoals het uitvoeren van een taak wanneer nieuwe gegevens binnenkomen in de cloudopslag.
bewaking en waarneembaarheid
Taken bieden ingebouwde ondersteuning voor bewaking en waarneembaarheid. De volgende onderwerpen geven een overzicht van deze ondersteuning. Zie Monitoring en waarneembaarheid voor Lakeflow-taken voor meer informatie over het monitoren van taken en orkestratie.
taakbewaking en waarneembaarheid in de gebruikersinterface: in de Gebruikersinterface van Azure Databricks kunt u taken weergeven, waaronder details zoals de eigenaar van de taak en het resultaat van de laatste uitvoering en filteren op taakeigenschappen. U kunt een geschiedenis van taakuitvoeringen bekijken en gedetailleerde informatie over elke taak in de taak ophalen.
taakuitvoeringsstatus en metrische gegevens - Databricks rapporteert dat de taak is uitgevoerd en logboeken en metrische gegevens voor elke taak in een taakuitvoering om problemen vast te stellen en de prestaties te begrijpen.
Meldingen en waarschuwingen: u kunt meldingen instellen voor taakgebeurtenissen via e-mail, Slack, aangepaste webhooks en een groot aantal andere opties.
Aangepaste query's via systeemtabellen - Azure Databricks biedt systeemtabellen waarmee taakuitvoeringen en taken in het account worden vastgelegd. U kunt deze tabellen gebruiken om de prestaties en kosten van taken op te vragen en te analyseren. U kunt dashboards maken om metrische gegevens en trends van taken te visualiseren, zodat u de status en prestaties van uw werkstromen kunt bewaken.
Beperkingen
De volgende beperkingen gelden:
- Een werkruimte is beperkt tot 2000 gelijktijdige taakuitvoeringen. Het antwoord
429 Too Many Requestswordt geretourneerd wanneer u een uitvoering aanvraagt die niet onmiddellijk kan worden gestart. - Het aantal banen dat een werkruimte in een uur kan creëren, 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.
- Een werkruimte kan maximaal 12.000 opgeslagen opdrachten bevatten.
- Een taak kan maximaal 1000 taken bevatten.
Kan ik werkstromen programmatisch beheren?
Databricks heeft hulpprogramma's en API's waarmee u uw werkstromen programmatisch kunt plannen en organiseren, waaronder de volgende:
- Databricks-CLI
- Databricks Asset Bundels
- Databricks-extensie voor Visual Studio Code
- Databricks SDK's
- REST API voor banen
Zie Het maken en beheren van taken automatiserenvoor voorbeelden van het gebruik van hulpprogramma's en API's voor het maken en beheren van taken. Zie Lokale ontwikkelhulpprogramma'svoor documentatie over alle beschikbare ontwikkelhulpprogramma's.
Externe hulpprogramma's gebruiken de Databricks-hulpprogramma's en API's om programmatisch werkstromen te plannen. U kunt uw taken plannen met behulp van hulpprogramma's zoals Azure Data Factory of Apache AirFlow.
Werkstroomindeling met Apache AirFlow
U kunt 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 Lakeflow-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.
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.