Notatka
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.
Ustawia wyzwalacz dla zapytania przesyłania strumieniowego. Jeśli nie zostanie ustawiona, zapytanie jest uruchamiane tak szybko, jak to możliwe, równoważne .processingTime='0 seconds' Jednocześnie można ustawić tylko jeden parametr wyzwalacza.
Zobacz Konfigurowanie interwałów wyzwalacza strukturalnego przesyłania strumieniowego.
Obliczenia i wykonywanie potoku
W rurociągach Lakeflow rurociąg zarządza realizacją strumienia. Użyj ustawień wykonywania potoków , aby kontrolować, kiedy przetwarzane są dane potoku.
Gdy używasz DataStreamWriter bezpośrednio na serwerze do notebooków i zadań, użyj availableNow=True. Domyślne wyzwalacze, processingTime, continuous, i realTime nie są obsługiwane w tym obliczeniu. Te ograniczenia nie dotyczą trybów uruchamiania potoków bez serwera. Zobacz Ograniczenia przesyłania strumieniowego.
Składnia
trigger(*, processingTime=None, once=None, continuous=None, availableNow=None, realTime=None)
Parametry
| Parameter | Typ | Opis |
|---|---|---|
processingTime |
str, opcjonalnie | Ciąg interwału czasu przetwarzania (na przykład '5 seconds', '1 minute'). Okresowo uruchamia zapytanie mikrobajtowe na podstawie czasu przetwarzania. |
once |
wartość logiczna, opcjonalnie | Jeśli Trueprogram przetwarza tylko jedną partię danych, kończy zapytanie. Wycofane w Databricks Runtime 11.3 LTS i wyższych. Użyj availableNow=True zamiast tego. |
continuous |
str, opcjonalnie | Nie jest obsługiwane na Azure Databricks. Ten parametr umożliwia eksperymentalny tryb ciągłego przetwarzania w Apache Spark, który różni się od trybu ciągłego potokowego. Używaj trybu czasu rzeczywistego do zapytań o niskim opóźnieniu w Structured Streaming. |
availableNow |
wartość logiczna, opcjonalnie | Jeśli Trueprogram przetwarza wszystkie dostępne dane w wielu partiach, przerywa zapytanie. |
realTime |
str, opcjonalnie | Ciąg czasu trwania partii (na przykład '5 minutes'). Przetwarza rekordy w momencie, gdy dotrą w ramach długotrwałej partii. Wartość ta kontroluje czas trwania partii, a nie opóźnienia przetwarzania rekordów. Zobacz Tryb czasu rzeczywistego w Strukturalnym Przetwarzaniu Strumieniowym. |
Zwroty
DataStreamWriter
Examples
df = spark.readStream.format("rate").load()
Wykonywanie wyzwalacza co 5 sekund:
df.writeStream.trigger(processingTime='5 seconds')
# <...streaming.readwriter.DataStreamWriter object ...>
Przetwarzanie wszystkich dostępnych danych w wielu partiach:
df.writeStream.trigger(availableNow=True)
# <...streaming.readwriter.DataStreamWriter object ...>
Konfiguruj tryb czasu rzeczywistego z pięciominutowymi partiami. Dokumenty są przetwarzane w miarę ich nadejścia w każdej partii. Użyj obsługiwanego źródła, sink i typu obliczeniowego:
kafka_df = (spark.readStream
.format("kafka")
.option("kafka.bootstrap.servers", "<bootstrap-servers>")
.option("subscribe", "<input-topic>")
.load())
kafka_df.writeStream.trigger(realTime="5 minutes")
# <...streaming.readwriter.DataStreamWriter object ...>