Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule wyjaśniono, jak używać kontroli dostępu w celu zachowania spójnego rozmiaru partii dla zapytań strumieniowych.
Kontrole dostępu ograniczają szybkość wprowadzania zapytań o strukturze przesyłania strumieniowego, co może pomóc w utrzymaniu stałego rozmiaru partii i zapobiec występowaniu dużych partii powodujących opóźnienia przetwarzania wsadowego oraz kaskadowego przetwarzania mikro-partii.
Usługa Azure Databricks oferuje te same opcje kontrolowania rozmiarów partii przesyłania strumieniowego o określonej strukturze zarówno dla usługi Delta Lake, jak i Auto Loader.
Uwaga
Można modyfikować ustawienia kontroli przyjęć bez resetowania punktu kontrolnego dla zapytania strumieniowego. Zobacz Odzyskiwanie po zmianach w zapytaniu Strukturowanego przesyłania strumieniowego.
Zmiana ustawień kontroli dostępu w celu zwiększenia lub zmniejszenia rozmiaru partii ma wpływ na wydajność. Aby zoptymalizować obciążenie, może być konieczne dostosowanie konfiguracji obliczeniowych.
Ogranicz szybkość wprowadzania za pomocą parametru maxFilesPerTrigger
Ustawienie maxFilesPerTrigger
(lub cloudFiles.maxFilesPerTrigger
dla automatycznego modułu ładującego) określa górną granicę liczby plików przetworzonych w każdej mikroserii. 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 autoloadera) ustawia wartość "miękki limit maksymalny" ilości danych przetwarzanych w każdej mikro-partii. 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
, aby ograniczyć każdy mikrobajt do 10 GB danych i masz pliki o rozmiarze 3 GB, usługa Azure Databricks przetwarza 12 GB w mikrobajtach.
Ustawianie wielu szybkości wejściowych razem
Jeśli używasz maxBytesPerTrigger
w połączeniu z maxFilesPerTrigger
, proces mikrosiado przetwarza dane aż do osiągnięcia niższego limitu maxFilesPerTrigger
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 Łączniki standardowe w programie Lakeflow Connect.