Delen via


Grootte van structured streaming-batch configureren in Azure Databricks

Het beperken van de invoersnelheid voor Structured Streaming-query's helpt bij het handhaven van een consistente batchgrootte en voorkomt dat grote batches leiden tot lekkage en trapsgewijze vertragingen in microbatchverwerking.

Azure Databricks biedt dezelfde opties voor het beheersen van de batchgroottes van gestructureerde streaming voor zowel Delta Lake als Auto Loader.

Invoersnelheid beperken met maxFilesPerTrigger

Als u maxFilesPerTrigger (of cloudFiles.maxFilesPerTrigger voor automatisch laden) instelt, wordt een bovengrens opgegeven voor het aantal bestanden dat in elke microbatch wordt verwerkt. Voor delta lake en automatisch laadprogramma is de standaardwaarde 1000. (Houd er rekening mee dat deze optie ook aanwezig is in Apache Spark voor andere bestandsbronnen, waarbij standaard geen maximum is.)

Invoersnelheid beperken met maxBytesPerTrigger

Als u maxBytesPerTrigger (of cloudFiles.maxBytesPerTrigger voor automatisch laden) instelt, wordt een 'voorlopig maximum' ingesteld voor de hoeveelheid gegevens die in elke microbatch wordt verwerkt. Dit betekent dat een batch ongeveer deze hoeveelheid gegevens verwerkt en meer dan de limiet kan verwerken om de streamingquery verder te laten gaan in gevallen waarin de kleinste invoereenheid groter is dan deze limiet. Er is geen standaardinstelling voor deze instelling.

Als u bijvoorbeeld een bytetekenreeks opgeeft, zoals 10g om elke microbatch te beperken tot 10 GB aan gegevens en u bestanden hebt die elk 3 GB zijn, verwerkt Azure Databricks 12 GB in een microbatch.

Meerdere invoersnelheden samen instellen

Als u maxBytesPerTrigger gebruikt in combinatie met maxFilesPerTrigger, verwerkt de microbatch gegevens totdat de ondergrens van maxFilesPerTrigger of maxBytesPerTriggerbereikt.

Invoersnelheden voor andere gestructureerde streamingbronnen beperken

Streamingbronnen zoals Apache Kafka hebben elk aangepaste invoerlimieten, zoals maxOffsetsPerTrigger. Zie Streaminggegevensbronnen configurerenvoor meer informatie.