Коннектор кинезиса Flink - KCL

Мы используем kinesis flink connector, чтобы потреблять и производить записи в кинезис из флинка. Поскольку он использует KCL, он должен делать записи в dynamoDB со смещением для потоков кинезиса, которые он потребляет. Мы не видим никаких таблиц с названием приложения в dynamoDB. Это ожидаемое поведение? Версия разъема Flink: 1.8 Версия Flink: 1.8.0


person justlikethat    schedule 27.01.2020    source источник
comment
Вы видите данные в соответствующих выходных данных Kinesis?   -  person Arvid Heise    schedule 28.01.2020
comment
@ArvidHeise, я могу видеть ввод и вывод в соответствующих потоках. Я также вижу обрабатываемые записи в пользовательском интерфейсе flink.   -  person justlikethat    schedule 28.01.2020
comment
Извините за медленный ответ, я неправильно понял ваш вопрос и побежал не в том направлении. На самом деле ваш вопрос является дубликатом.   -  person Arvid Heise    schedule 29.01.2020
comment
@ArvidHeise, спасибо за ответ. Но это ожидаемое поведение? Флинк не сохраняет порядковый номер?   -  person justlikethat    schedule 30.01.2020
comment
Я собираюсь добавить ответ на исходный вопрос, чтобы прояснить ситуацию.   -  person Arvid Heise    schedule 30.01.2020
comment
@ArvidHeise, спасибо за ответ. Ответ имеет большой смысл. Есть одна ситуация, когда я вижу необходимость в хранении идентификаторов последовательностей. Dynam DB поддерживает восстановление на определенный момент времени. Допустим, я хочу начать обработку (в данном случае повторную обработку) записей с некоторого предыдущего момента времени, я бы смог это сделать. Имея точку сохранения, я не смогу обрабатывать только последнюю запись.   -  person justlikethat    schedule 31.01.2020
comment
Как я объяснил в другом потоке, вы можете вернуться к любой точке сохранения в прошлом. Это может быть не так точно, как Dynamo db, но работает с любым типом ввода. Кстати, даже если бы мы поддерживали порядковые номера, вы не получили бы желаемого результата, просто вернувшись назад. Любой оператор с отслеживанием состояния будет содержать неправильное состояние. Подумайте о примере счетчика другого потока: если я вернусь во времени, счетчик все еще привязан к текущей контрольной точке. Таким образом, он будет считать все дважды.   -  person Arvid Heise    schedule 31.01.2020
comment
@ArvidHeise, вы абсолютно правы. Было бы разумно использовать точки сохранения, но давайте рассмотрим случай, когда чтение / запись контрольных точек имеет некоторую ошибку из-за изменения в полете разрешений файловой системы, и из-за этого потоковая передача задерживается. Это будет означать, что контрольные точки и точки сохранения не будут создаваться, и одна вещь, которая может спасти нас в производственной среде, - это перезапуск задания с использованием идентификатора последовательности с того момента, когда мы подозреваем, что возникла ошибка. Кроме того, для обычной точки сохранения есть ли у нас другой вариант, кроме внешнего, такого как cron.   -  person justlikethat    schedule 31.01.2020
comment
Я не уверен, что смогу следовать этому примеру (будет работать только с заданиями без сохранения состояния, поэтому никаких объединений, окон, агрегатов), но вы можете отправить запрос функции на jira или на список рассылки, где, вероятно, легче обрисовать и обсудить, чем в комментариях SO. Если это чрезвычайная ситуация, я бы предположил, что просто указания начальной позиции должно быть достаточно.   -  person Arvid Heise    schedule 31.01.2020
comment
@ArvidHeise, конечно, подойдет. Большое спасибо!   -  person justlikethat    schedule 03.02.2020