Hledat Flink spouštěcí hák/inicializace posluchač obnovit do stavu vysílání?

0

Otázka

Hledám spustit nějaký vlastní kód, pokaždé, když Flink cluster/uzel restartován. Vlastní fragment kódu bude obnovit do stavu vysílání, což je, bohužel, ne couval RocksDB.

Ne RocksDB státu backend: Vysílání státu je udržována v paměti za běhu a paměťové opravných položek by mělo být provedeno odpovídajícím způsobem. To platí pro všechny provozovatele státy.

Zde je uvedeno: https://nightlies.apache.org/flink/flink-docs-master/docs/dev/datastream/fault-tolerance/broadcast_state/

Tam je podobná otázka, nicméně, nemohl jsem se do řešení: Jak by Flink vysílání státu být inicializován?

Je to pocit, že mají spouštěcí hák nebo posluchač je typický požadavek mít. Jsem něco chybí? Nějaké nápady na to, jak tento přístup by byl vysoce ceněn!

apache-flink flink-streaming
2021-11-23 15:50:48
1

Nejlepší odpověď

1

Nezkoušel jsem to, ale věřím, že by to mělo fungovat pro inicializaci stavu vysílání v open způsob vašeho (Keyed)BroadcastProcessFunction. A pak můžete dále aktualizace stavu vysílání při práci se systémem, za předpokladu, že máte broadcast stream dodávat aktualizace.

Ale nechápu, proč je to problém. I když vysílání stav není uložen v RocksDB, to je zahrnuta v každém kontrolním stanovišti a savepoint (jako každý provozovatel státu), a to je obnoven během restartuje.

2021-11-23 16:11:16

Díky za vaši odpověď! Vidím z vaší předchozí příspěvek stackoverflow.com/a/62510423/5470436 že vysílání státu je kontrola ukázal, bez ohledu na to, jestli je paměť nebo systémem RocksDB. Díky za to! Nicméně, když jsem spustit Flink s broadcast stát příkladem otevřené funkce (Zadaná)BroadcastProcessFunction je vyvolána více než jednou. Je vyvolána jednou pro každý uzel?
Alex

Ano, každý úkol slot bude mít vlastní instanci (Klíčem)BroadcastProcessFunction. Otevřená metoda je volána jednou v každém případě. (Tam je také blízko, že se jmenuje během řádného vypnutí.)
David Anderson

Díky moc! Vaše odpověď byla super užitečné!
Alex

V jiných jazycích

Tato stránka je v jiných jazycích

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................