Konfigurieren der strukturierten Streaming-Batchgröße auf Azure Databricks
Durch das Einschränken der Eingaberate für strukturierte Streamingabfragen können Sie eine konsistente Batchgröße beibehalten und verhindern, dass große Stapel zu Überlauf und Verzögerungen bei der Mikro-Batchverarbeitung führen.
Azure Databricks bietet dieselben Optionen zum Steuern von strukturierten Streaming-Batchgrößen für Delta Lake und Auto Loader.
Einschränken der Eingaberate mit maxFilesPerTrigger
Einstellung maxFilesPerTrigger
(oder cloudFiles.maxFilesPerTrigger
für Auto Loader) legt eine Obergrenze für die Anzahl der Dateien fest, die in jedem Mikrobatch verarbeitet werden. Sowohl für Delta Lake als auch für Auto Loader ist der Standardwert 1000. (Beachten Sie, dass diese Option auch in Apache Spark für andere Dateiquellen vorhanden ist, bei denen es standardmäßig keinen Maximumwert gibt.)
Einschränken der Eingaberate mit maxBytesPerTrigger
Die Einstellung maxBytesPerTrigger
(oder cloudFiles.maxBytesPerTrigger
für den automatischen Ladevorgang) legt einen "soft max" für die Menge an Daten fest, die in jedem Mikrobatch verarbeitet werden. Das bedeutet, dass ein Batch ungefähr diese Datenmenge verarbeitet und möglicherweise mehr als den Grenzwert verarbeitet, um die Streamingabfrage voranzubringen, wenn die kleinste Eingabeeinheit größer als dieser Grenzwert ist. Für diese Einstellung gibt es keinen Standardwert.
Wenn Sie beispielsweise eine Bytezeichenfolge wie 10g
angeben, um jeden Mikrobatch auf 10 GB Daten zu begrenzen, und Sie über Dateien mit jeweils 3 GB verfügen, verarbeitet Azure Databricks 12 GB in einem Mikrobatch.
Festlegen mehrerer Eingaberaten zusammen
Wenn Sie maxBytesPerTrigger
in Verbindung mit maxFilesPerTrigger
verwenden, verarbeitet der Mikrobatch Daten, bis die Untergrenze von entweder maxFilesPerTrigger
oder maxBytesPerTrigger
erreicht ist.
Einschränken von Eingaberaten für andere strukturierte Streamingquellen
Streamingquellen wie Apache Kafka haben jeweils benutzerdefinierte Eingabebeschränkungen, z. B. maxOffsetsPerTrigger
. Weitere Informationen finden Sie unter Konfigurieren von Streamingdatenquellen.