Udostępnij za pośrednictwem


Konfigurowanie rozmiaru partii przesyłania strumieniowego ze strukturą w usłudze Azure Databricks

Ograniczenie szybkości wprowadzania zapytań przesyłania strumieniowego ze strukturą pomaga zachować spójny rozmiar partii i zapobiega powstawaniu dużych partii, co prowadzi do opóźnień przetwarzania wsadowego i kaskadowego przetwarzania mikrosadowego.

Usługa Azure Databricks oferuje te same opcje kontrolowania rozmiarów partii przesyłania strumieniowego ze strukturą zarówno dla usługi Delta Lake, jak i modułu ładującego automatycznego.

Ogranicz szybkość wprowadzania za pomocą parametru maxFilesPerTrigger

Ustawienie maxFilesPerTrigger (lub cloudFiles.maxFilesPerTrigger dla modułu ładującego automatycznego) określa górną granicę liczby plików przetwarzanych w każdej mikrosadowej partii. W przypadku usługi Delta Lake i automatycznego modułu ładującego wartość domyślna to 1000. (Należy pamiętać, że ta opcja jest również obecna na platformie Apache Spark dla innych źródeł plików, w których domyślnie nie ma maksymalnej wartości).

Ograniczanie szybkości wprowadzania za pomocą polecenia maxBytesPerTrigger

Ustawienie maxBytesPerTrigger (lub cloudFiles.maxBytesPerTrigger dla automatycznego modułu ładującego) ustawia wartość "miękkiej maksymalnej" ilości danych przetwarzanych w każdej mikrosadówce. Oznacza to, że partia przetwarza w przybliżeniu tę ilość danych i może przetwarzać więcej niż limit, aby zapytanie przesyłane strumieniowo przechodziło do przodu w przypadkach, gdy najmniejsza jednostka wejściowa jest większa niż ten limit. Dla tego ustawienia nie ma wartości domyślnej.

Jeśli na przykład określisz ciąg bajtów, taki jak 10g ograniczenie poszczególnych mikrobajtów do 10 GB danych i masz pliki o rozmiarze 3 GB, usługa Azure Databricks przetwarza 12 GB w mikrobajtach.

Ustawianie wielu stawek wejściowych razem

Jeśli używasz maxBytesPerTrigger w połączeniu z elementem maxFilesPerTrigger, mikrosadowe przetwarza dane do momentu osiągnięcia niższego limitu maxFilesPerTrigger wartości lub maxBytesPerTrigger.

Ograniczanie szybkości danych wejściowych dla innych źródeł przesyłania strumieniowego ze strukturą

Źródła przesyłania strumieniowego, takie jak Apache Kafka, mają niestandardowe limity danych wejściowych, takie jak maxOffsetsPerTrigger. Aby uzyskać więcej informacji, zobacz Konfigurowanie źródeł danych przesyłanych strumieniowo.