flink Operator State является потокобезопасным? - PullRequest
0 голосов
/ 17 марта 2019

При использовании состояния оператора (или состояния без ключа) каждое состояние оператора привязывается к одному экземпляру параллельного оператора

Приведенная выше цитата взята с официального сайта Flink. Каждый экземпляр параллельного оператора может иметь пул потоков. Когда эти потоки обращаются к состоянию оператора (как описано выше, каждый экземпляр параллельного оператора может иметь одно состояние оператора), столкнется ли он с поточно-безопасной проблемой? Должен ли я использовать Operator State с терминологией, как показано ниже в Java?

synchronize(stateInstance){
//update state
}

1 Ответ

0 голосов
/ 18 марта 2019

Интересно, что вы имеете в виду пул потоков и как он будет взаимодействовать с управляемым состоянием Flink?

Если пул потоков , который вы упомянули в вопросе, является задачей Flink, выполняющейся в Flink TaskManager. Тогда это потокобезопасный . Flink - это распределенная система. Он выполняет задачу с параллельными экземплярами операторов, поэтому управляемое состояние каждого экземпляра оператора естественно поточно-ориентировано.

...