В Flink я читаю файл с использованием readTextFile
и применяю SlidingProcessingTimeWindows.of(Time.milliseconds(60), Time.milliseconds(60))
из 60 мс с слайдом 60 мс на нем. В оконном потоке я вычисляю среднее значение второго поданного кортежа. Мой текстовый файл содержит 1100 строк, а каждая строка - кортеж (String, Integer). Я установил параллелизм в 1 и набрал сообщения в первом поле кортежа.Время разворачивания времени обработки вычисляет несогласованные результаты
Когда я запускаю код, каждый раз, когда я получаю разные ответы. Я имею в виду, что кажется, что когда-то он читает весь файл, и когда-то он сначала считывает некоторые строки файла. Имеет ли это отношение к размеру окна скольжения? Как это отношение можно обнаружить, чтобы я мог определить размер и скользящее количество окна?
Вы не можете ожидать согласованных, повторяемых результатов при работе со временем обработки. В вашем случае это просто вопрос, сколько файла можно обработать в 60 мс, и это будет зависеть от загрузки системы и т. Д. Иногда он способен обрабатывать весь файл, а иногда и не может; это нормально. Взгляните на http://data-artisans.com/how-apache-flink-enables-new-streaming-applications-part-1/ для получения дополнительной информации. –