Konfigurieren der Batchgröße für strukturiertes Streaming auf Azure Databricks
Das Einschränken der Eingaberate für Strukturierte Streaming-Abfragen trägt dazu bei, eine konsistente Batchgröße aufrechtzuerhalten und zu verhindern, dass große Batches zu Überlauf- und Kaskadierenden Mikrobatchverarbeitungsverzögerungen führen.
Azure Databricks bietet die gleichen Optionen zum Steuern von Strukturierten Streaming-Batchgrößen für Delta Lake und Auto Loader.
Einschränken der Eingaberate mit maxFilesPerTrigger
Das Festlegen maxFilesPerTrigger
(oder cloudFiles.maxFilesPerTrigger
für das automatische Laden) gibt eine obere Grenze für die Anzahl der Dateien an, die in jedem Mikrobatch verarbeitet werden. Für Delta Lake und Auto Loader ist der Standardwert 1000. (Beachten Sie, dass diese Option auch in Apache Spark für andere Dateiquellen vorhanden ist, wobei standardmäßig kein Maximalwert vorhanden ist.)
Einschränken der Eingaberate mit maxBytesPerTrigger
Das Festlegen maxBytesPerTrigger
(oder cloudFiles.maxBytesPerTrigger
für das automatische Laden) legt einen "weichen Max" für die Datenmenge fest, die in jedem Mikrobatch verarbeitet wird. Dies bedeutet, dass ein Batch ungefähr diese Datenmenge verarbeitet und mehr als den Grenzwert verarbeiten kann, um die Streamingabfrage vorwärts zu machen, wenn die kleinste Eingabeeinheit größer als dieser Grenzwert ist. Für diese Einstellung ist keine Standardeinstellung vorhanden.
Wenn Sie z. B. eine Bytezeichenfolge wie 10g
angeben, um jede Mikrobatch auf 10 GB Daten zu beschränken, 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 untere Grenze von maxFilesPerTrigger
oder maxBytesPerTrigger
erreicht wird.
Einschränken der Eingaberaten für andere strukturierte Streamingquellen
Streamingquellen wie Apache Kafka verfügen jeweils über benutzerdefinierte Eingabebeschränkungen wie maxOffsetsPerTrigger
. Weitere Informationen finden Sie unter Konfigurieren von Streamingdatenquellen.