Freigeben über


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 maxFilesPerTriggerverwenden, verarbeitet der Mikrobatch Daten, bis die untere Grenze von maxFilesPerTrigger oder maxBytesPerTriggererreicht 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.