Aanbevolen procedures voor serverloze berekeningen

Volg deze aanbevelingen om de productiviteit te maximaliseren, de kosten te verlagen en de betrouwbaarheid te verbeteren bij het gebruik van serverloze berekeningen voor notebooks, taken en pijplijnen op Azure Databricks.

Workloads migreren naar serverloze computing

Zie Migreren van klassieke berekening naar serverloze berekeningen voor stapsgewijze instructies, inclusief vereisten, vereiste codewijzigingen, teststrategieën en een gefaseerd implementatieplan.

Python pakketversies opgeven

Wanneer u migreert naar serverloze berekeningen, moet u uw Python-pakketten vastmaken aan specifieke versies om reproduceerbare omgevingen te garanderen. Als u geen versie opgeeft, kan het pakket worden omgezet in een andere versie op basis van de serverloze omgevingsversie, waardoor de latentie kan toenemen wanneer nieuwe pakketten moeten worden geïnstalleerd.

Uw bestand moet bijvoorbeeld requirements.txt specifieke pakketversies bevatten, zoals deze:

numpy==2.2.2
pandas==2.2.3

Unieke namen gebruiken voor tijdelijke weergaven

Serverloze compute maakt gebruik van Spark Connect, een client-serverarchitectuur die tijdelijke weergaven lui evalueert. Dit gedrag verschilt van de klassieke Spark-architectuur en kan fouten veroorzaken wanneer code dezelfde tijdelijke weergavenaam opnieuw gebruikt, zoals in een lus.

Gebruik unieke namen voor alle tijdelijke weergaven in uw code om fouten te voorkomen.

Netwerken en connectiviteit

Serverloze berekening biedt geen ondersteuning voor VPC-peering. Dit is een veelgebruikte manier om klassieke Databricks-berekening te verbinden met gegevensbronnen in uw cloudaccount. Als alternatief kunt u netwerkverbindingsconfiguraties gebruiken om eindpunten, firewalls en connectiviteit met externe services te beheren.

U kunt bijvoorbeeld een set stabiele uitgaande IP-adressen in externe VPN's toevoegen aan een acceptatielijst om connectiviteit met en naar Azure Databricks serverloze compute mogelijk te maken. Gebruik Lakeflow Connect om verbinding te maken met bedrijfstoepassingen (zoals Salesforce) of beheerde databases (zoals MySQL).

Als u uitgaand verkeer van serverloze berekeningen wilt beperken en controleren, configureert u egresscontroles voor uw werkruimte. Zie Het beheren van netwerkbeleid voor serverloze uitgaande besturing.

Serverloze omgevingsversies

Serverloze berekening maakt gebruik van omgevingsversies in plaats van traditionele Databricks Runtime-versies. Dit vertegenwoordigt een verschuiving in de wijze waarop u workloadcompatibiliteit beheert:

  • Databricks Runtime-benadering: u selecteert een specifieke Databricks Runtime-versie voor uw workload en beheert upgrades handmatig om de compatibiliteit te behouden.
  • Serverloze benadering: U schrijft code voor een specifieke omgevingsversie en Azure Databricks werkt de onderliggende server onafhankelijk bij.

Omgevingsversies bieden een stabiele client-API die ervoor zorgt dat uw workload compatibel blijft terwijl Azure Databricks onafhankelijk prestatieverbeteringen, beveiligingsverbeteringen en bugfixes levert zonder dat er codewijzigingen in uw workloads nodig zijn.

Elke omgevingsversie bevat bijgewerkte systeembibliotheken, functies en bugfixes, terwijl achterwaartse compatibiliteit voor workloads behouden blijft. Azure Databricks ondersteunt elke omgevingsversie gedurende drie jaar vanaf de releasedatum en biedt een voorspelbare levenscyclus voor het plannen van upgrades.

Als u een basisomgeving wilt selecteren voor uw serverloze workload, raadpleegt u Een basisomgeving selecteren. Zie Serverloze omgevingsversies voor meer informatie over beschikbare omgevingsversies en hun functies.

Afhankelijkheden beheren

Serverloze berekening biedt geen ondersteuning voor init-scripts. Gebruik in plaats daarvan serverloze omgevingen om bibliotheken te installeren en te beheren voor uw serverloze workloads. De omgevingen cachen geïnstalleerde pakketten, wat de opstartlatentie voor volgende uitvoeringen vermindert.

Als u bibliotheken uit een privéopslagplaats wilt gebruiken, configureert u vooraf ondertekende URL's voor geverifieerde opslagplaatstoegang in uw omgevingsinstellingen.

Een prestatiemodus kiezen

Azure Databricks serverloze berekening biedt twee prestatiemodi waarmee u snelheid en kosten kunt verdelen op basis van uw workloadtype als volgt:

  • Modus geoptimaliseerd voor prestaties (standaard): Het beste voor interactieve workloads waarvoor snelle opstarttijden zijn vereist. Azure Databricks zorgt ervoor dat een pool warme rekenresources gereed is om de wachttijd te minimaliseren.
  • Standaardmodus: het beste voor geautomatiseerde batchtaken en pijplijnen die langere opstarttijden van 4 tot 6 minuten kunnen verdragen. De standaardmodus kan kosten verlagen met maximaal 70% vergeleken met de modus geoptimaliseerd voor prestaties. De standaardmodus is beschikbaar voor Lakeflow-taken en Lakeflow Spark-declaratieve pijplijnen, maar niet voor notebooks.

Kies de modus die het beste overeenkomt met uw workloadvereisten. Voor geplande taken waarbij opstartlatentie niet kritiek is, biedt de standaardmodus doorgaans de beste waarde. Zie de databricks-pagina met prijzen voor actuele prijsinformatie.

Streaming-workloads optimaliseren

Serverloze computing biedt ondersteuning voor gestructureerd streamen met Trigger.AvailableNow. Tijdgebonden triggerintervallen worden niet ondersteund. Zie de sectie streaming van de migratiehandleiding voor meer informatie over ondersteunde triggers, codevoorbeelden en alternatieven voor continue streaming.

Bij gebruik Trigger.AvailableNowverwerkt elke trigger alle beschikbare gegevens in de bron, wat kan leiden tot grotere microbatches dan een trigger op basis van tijd. Als u fouten met onvoldoende geheugen wilt voorkomen en voorspelbare prestaties wilt behouden, beperkt u de hoeveelheid gegevens die per microbatch worden verwerkt door deze in te stellen maxFilesPerTrigger of maxBytesPerTrigger.

Fouten opsporen in serverloze workloads

De Spark-gebruikersinterface is niet beschikbaar in serverloze berekeningen. Gebruik in plaats daarvan het queryprofiel om queryprestaties te analyseren en problemen met workloads op te lossen. Het queryprofiel biedt gedetailleerde uitvoeringsinformatie en is toegankelijk vanuit de querygeschiedenis in de Azure Databricks-gebruikersinterface.

Gegevens opnemen van externe systemen

Alternatieve strategieën die u voor opname kunt gebruiken, zijn onder andere:

Alternatieven voor opname

Wanneer u serverloze berekeningen gebruikt, kunt u ook de volgende functies gebruiken om query's uit te voeren op uw gegevens zonder deze te verplaatsen.

  • Als u gegevensduplicatie wilt beperken of wilt garanderen dat u query's uitvoert op de meest recente gegevens, raadt Databricks het gebruik van Delta Sharing aan. Zie Wat is Delta Sharing?.
  • Voor ad-hocrapportage en proof-of-concept-werk kunt u met Lakehouse Federation rechtstreeks vanuit Azure Databricks query's uitvoeren op externe databases zonder gegevens te verplaatsen die worden beheerd door Unity Catalog. Zie Wat is Lakehouse Federation?.

Probeer een of beide functies en kijk of ze voldoen aan de prestatievereisten van uw query.

Niet-ondersteunde ontvangers

Als een sinksysteem niet wordt ondersteund als een direct schrijfdoel van serverloze compute, kunt u de Unity Catalog Iceberg REST Catalog gebruiken om dat systeem in staat te stellen om rechtstreeks vanuit Azure Databricks tabellen te lezen. Snowflake is bijvoorbeeld geen ondersteunde serverloze sink, maar kan worden geconfigureerd als een Iceberg-client om tabellen te lezen die worden beheerd door Unity Catalog.

Deze aanpak voorkomt het dupliceren van gegevens en bewaart Unity Catalog als de governancelaag voor alle leesbewerkingen. Zie Access Azure Databricks tabellen van Apache Iceberg-clients voor ondersteunde clients en configuratiestappen.

Ondersteunde Spark-configuraties

Als u de configuratie van Spark op serverloze berekeningen wilt automatiseren, heeft Azure Databricks ondersteuning verwijderd voor het handmatig instellen van de meeste Spark-configuraties. Zie Spark-eigenschappen configureren voor serverloze notebooks en taken om een lijst met ondersteunde Spark-configuratieparameters weer te geven.

Taakuitvoeringen op serverloze rekencapaciteit zullen mislukken als u een niet-ondersteunde Spark-configuratie instelt.

De kosten van serverloze compute bewaken

Er zijn meerdere functies die u kunt gebruiken om de kosten van serverloze berekeningen te bewaken: