Valg mellem Python- og PySpark-notesbøger i Microsoft Fabric

Med introduktionen af lette Python-notesbøger i Microsoft Fabric har kunderne nu to robuste muligheder for at bygge og skalere analysearbejdsprocesser: Python Notebooks og PySpark Notebooks. De har begge en velkendt grænseflade til notesbøger, men de adskiller sig markant fra hinanden, når det gælder administration af beregningsressourcer, skalerbarhed og omkostningseffektivitet.

Fabric forenkler processen med at vælge eller skifte mellem notesbogtyper, hvilket gør det muligt for datateknikere at optimere til fleksibilitet, ydeevne og budget. Denne vejledning er designet til at hjælpe dig med at evaluere, hvilken notesbog der passer bedst til dine aktuelle behov, og hvordan du udvikler din tilgang, efterhånden som dine arbejdsbelastninger vokser i kompleksitet og skalering. Startpuljen indeholder en forudvarmet beregningsbeholder, der gør det muligt at starte python- eller PySpark-notesbøger næsten øjeblikkeligt.

Hurtig beslutningsmatrix – Vælg hurtigt

Bedst til hurtigt valg baseret på arbejdsbelastningstype.

Brug denne reference på højt niveau til hurtigt at bestemme den mest passende notesbogtype til almindelige arbejdsbelastningsmønstre. Denne tabel er bedst til planlægning af tidlige faser og arkitekturgennemgange.

Scenarie Anbefalet notesbog
Inkluderer forudinstallerede DuckDB- og Polars-biblioteker Python-notesbøger
Små til mellemstore data (passer i hukommelsen) Python-notesbøger (eller PySpark på Spark-klynge med en enkelt node)
Hurtig udforskning og prototype Python-notesbøger (eller PySpark på Spark-klynge med en enkelt node)
Store datasæt (10 GB+) overskrider hukommelsen PySpark Notesbøger
Komplekse dataarbejdsprocesser eller ETL-pipelines PySpark Notesbøger
Høj samtidighed eller parallel udførelse PySpark Notesbøger
Har brug for oprindelige Spark-API'er (MLlib, SQL, Streaming) PySpark Notesbøger

Hurtig oversigt over vigtige scenarier – Sammenlign dybt

Brug denne strukturerede sammenligningstabel til at forstå de arkitektoniske og driftsmæssige afvejninger mellem notesbogtyper. Bedst egnet til tekniske evalueringer eller implementeringsplanlægning.

Udførelse & ydeevne

Scenarie Python-notesbøger (2-kerne-VM) PySpark Notebooks (Spark Compute)
Starttidspunkt Den indbyggede startpulje initialiseres på ca. 5 sekunder, mens on-demand-puljen tager omkring 3 minutter. Opstart spænder fra ca. 5 sekunder (startbassin) til flere minutter (Spark-klynger efter behov).
Hurtige transformationer og API-kald Ideel til små og mellemstore datasæt (op til 1 GB) Optimeret til store datasæt ved hjælp af vektoriseret udførelse.
Moderate arbejdsbelastninger Ikke optimeret til datastørrelser, der nærmer sig hukommelsesmætning Effektiv til skalering via distribueret beregning.
Håndtering af store datasæt Begrænset af enkeltnodehukommelse. Kan kæmpe med skalering. Distribueret behandling sikrer skalerbar håndtering af arbejdsbelastninger med flere GB til TB.
udførelse af High-Concurrency Manuel parallelitet i FIFO-stil pr. notesbog Systemadministrerede samtidighed med understøttelse af parallel udførelse.
Ressourcetilpasning og skalering Fast beregning (2-kerne-VM); skalerer ikke automatisk. Brugerne kan manuelt skalere ud ved hjælp af %%config i notesbogen. Fleksibel ressourceallokering; understøtter automatisk skalering og brugerdefinerede Spark-konfigurationer.

Arbejdsproces &orkestrering

Scenarie Python-notesbøger (2-kerne-VM) PySpark Notebooks (Spark Compute)
API-orkestrering Effektiv til lette orkestrerings- og kontrolflows, især REST/gRPC-baserede integrationer Mindre optimal til grundlæggende orkestreringsopgaver på grund af længere opstart og distribueret overhead.
Komplekse ETL-DAG'er Begrænset til sekventiel (FlFO)-opgaveudførelse på en enkelt node uden understøttelse af parallel behandling. Understøtter samtidig udførelse af opgaver i DAG'er ved hjælp af FlFO- eller FAlR-planlægning, hvilket muliggør effektiv parallel behandling af komplekse ETL-arbejdsprocesser.

Understøttelse af platform & bibliotek

Scenarie Python-notesbøger (2-kerne-VM) PySpark Notebooks (Spark Compute)
Biblioteksadgang Understøttelse af stærkt Python-bibliotek på tværs af flere kørseler. Begrænset adgang til oprindelige Spark-biblioteker kan dog kræve manuel integration. Understøtter fuldt ud MLlib, Spark SQL, PySpark og Spark Streaming.
Delta Lake-håndtering Python Notebook-runtime leveres med forudinstallerede deltaer og duckdb-biblioteker , der muliggør både læsning og skrivning af Delta Lake-data. Nogle Delta Lake-funktioner understøttes dog muligvis stadig ikke. Understøttes fuldt ud med oprindelig kompatibilitet.

Produktions- og virksomhedsparathed

Scenarie Python-notesbøger (2-kerne-VM) PySpark Notebooks (Spark Compute)
Produktionsstyring Begrænsede produktionsfunktioner; Understøtter ikke miljøvar. Understøttelse af produktionsarbejdsprocesser med miljøvariabler, biblioteksstyring via miljøelementer og elementbaseret udrulning.

Overvejelser i forbindelse med omkostninger

Scenarie Python-notesbøger (2-kerne-VM) PySpark Notebooks (Spark Compute)
Omkostningsprofil Lavere startomkostninger (minimum 2 vCores); velegnet til lette ad hoc-arbejdsbelastninger. Højere startomkostninger (minimum 4 vCores); udviklet til skalerbare arbejdsbelastninger i virksomhedsklassen. Automatisk skalering kan reducere omkostningerne, hvilket kan resultere i lavere samlede ejeromkostninger.

Hvornår skal du bruge Python i forhold til PySpark-notesbøger?

Fabric Notebooks giver fleksibilitet til en lang række brugere og arbejdsbelastninger. Dette afsnit hjælper dig med at vurdere, hvilken notesbogtype der passer bedst til dine aktuelle og fremtidige behov.

Brug Python-notesbøger til hurtig gentagelse, omkostningseffektiv analyse og interaktiv udvikling. De er ideelle til mindre datasæt og omfatter indbygget understøttelse af biblioteker som DuckDB og Polars.

Brug PySpark Notebooks til distribueret databehandling, ETL-arbejdsprocesser i produktionsklassen eller scenarier, hvor høj samtidighed og indbyggede Spark-API'er er vigtige.

Vælg Python-notesbøger, når:

  • Du har brug for hurtig opstart (typisk inden for få sekunder) på en letvægtsobjektbeholder med to kerner.
  • Hvis minimering af beregningsomkostninger er en prioritet – til interaktiv analyse eller planlagte mikrojob.
  • Du vil have øjeblikkelig adgang til biblioteker, der kan installeres med pip, og præinstallerede DuckDB og Polars.
  • Du skal teste på tværs af forskellige Python-kørselsversioner.
  • Dine data passer komfortabelt til hukommelsen på en enkelt node.

Vælg PySpark Notesbøger hvornår:

  • Dine arbejdsbelastninger overskrider hukommelses- eller beregningsgrænserne for en enkelt node.
  • Du skal bruge grupper med høj samtidighed for at køre parallelle job på tværs af notesbøger.
  • Du organiserer komplekse ETL-pipelines med FAIR- eller FIFO-planlægning.
  • Du er afhængig af oprindelige Spark-API'er, f.eks. MLlib, Spark SQL eller Spark Streaming.
  • Du har brug for funktioner i produktionsklassen, f.eks. miljøvariabler og elementbaseret biblioteksstyring.

Hurtigt overblik over vigtige forskelle – reference præcist

Se ordliste i slutningen af denne vejledning for at få oplysninger om definitioner af begreber som VORDER, NEE og Items-Based Library Management.

Dette afsnit indeholder en hurtig reference til de grundlæggende tekniske og arkitektoniske forskelle mellem Python- og PySpark Notebooks.

Kategori Python-notesbøger PySpark Notesbøger
Beregningskørsel Letvægtsobjektbeholder (2-kerne-VM) Spark-klynge (enkeltnode eller høj samtidighedspulje)
Starttidspunkt Øjeblikkelig opstart (sekunder via startpulje) Opstart spænder fra ca. 5 sekunder (via startbassin) til flere minutter (når du bruger Spark-klynger efter behov).
Omkostningsprofil Lavere omkostninger; ideel til korte opgaver og prototyper Højere omkostninger; egnet til skalerbare, langvarige arbejdsbelastninger
Python/Spark-versionering Flere Tilgængelige Python-versioner Bundet til specifik Spark-kørselsversion
Brugerdefinerede biblioteker pip install + ressourcemapper pip install + ressourcemapper + miljøelement
Egenskaber for Fabric Spark Begrænset adgang til Funktioner i Spark-programmet Fuld adgang: NEE, Autotune, VORDER, Vegas Cache
Delta Lake-kompatibilitet Delvist kompatibel; potentielle problemer med ydeevnen Fuldt understøttet og optimeret

Udvikling af din arbejdsbelastning: fra Python til PySpark

Fabric Notebooks er designet til at vokse med kompleksiteten af din arbejdsbelastning. I dette afsnit beskrives det, hvordan du kan skalere din notesbogstrategi fra simpel udforskning til distribueret databehandling.

Stadie Anbefalet notesbog Udløserbetingelse
Begynde Python-notesbøger (2 kerner) Små, interaktive arbejdsbelastninger
Skaler op Python-notesbøger (manuel skift til større VM) Nærmer sig hukommelses- eller CPU-grænser
Skaler ud PySpark Notesbøger (manuel skift til Spark pool) Behov for distribueret beregning eller parallel udførelse

Tips

Når du skifter til PySpark, skal du sikre, at din kode bruger Spark-kompatibel syntaks. Valider dine arbejdsbelastninger i Spark-miljøet, før du udruller til produktion.

Resumé

Python Notebooks understøtter kernehandlinger, f.eks. afbrydelse og genstart af kernen, hvilket fremskynder interaktiv udvikling. De er ideelle til hurtig, omkostningseffektiv analyse af små og mellemstore datasæt og udmærker sig ved prototyper, eksperimenter og lette planlagte opgaver.

I takt med at datavolumen og kompleksitet øges, tilbyder PySpark Notebooks den distribuerede beregningskraft og de produktionskvalitetsfunktioner, der kræves til virksomhedsanalyser i stor skala. Valg af den rigtige notesbog er en proces under udvikling. Start med den enkleste indstilling, der opfylder dine aktuelle behov, og skaler i takt med, at datalandskabet vokser.

Se ordlisten på den sidste side for at få forklaringer af begreber som NEE, VORDER og Vegas Cache.

Ordliste

  • Item-Based Biblioteksadministration: Administrerer versionerede pakker og produktionsbiblioteker i elementet Miljø.
  • Delta Lake Compatibility: Understøttelse af Delta-tabeller på tværs af miljøer; understøttes fuldt ud i PySpark.
  • FAIR-planlægning: En planlægningspolitik, der tildeler ressourcer forholdsvist på tværs af samtidige Spark-job.
  • FIFO-planlægning: First-In-First-Out udførelsesrækkefølge for finplanlægning.
  • NEE (Oprindeligt eksekveringsprogram): Et optimeret forespørgselsprogram, der er unikt for Fabric Spark.
  • Spark Pool: En delt beregningsressource til kørsel af distribuerede Spark-arbejdsbelastninger.
  • VORDER: Fabric-optimering af vektoriserede forespørgselsudførelsesstier.
  • Vectorized Acceleration: Behandler data i batches ved hjælp af vektorhandlinger for at opnå hurtigere ydeevne.
  • Vegas Cache: En cache i hukommelsen, der fremskynder gentagen Spark-dataadgang.