Flink Streaming AWS S3 читает несколько файлов параллельно
Я новичок во Flink, мое понимание следующее вызов API
StreamExecutionEnvironment.getExecutionEnvironment().readFile(format, path)
будет читать файлы параллельно для заданного пути S3.
Мы храним файлы журналов в S3. Требуется обслуживать несколько клиентских запросов на чтение из разных папок с отметками времени.
Для моего случая использования, чтобы обслужить запрос нескольких клиентов, я оцениваю использовать Flink. Поэтому я хочу, чтобы Flink параллельно выполнял чтение AWS S3 для разных путей к файлам AWS S3.
Можно ли добиться этого в одиночной работе Flink. Какие-либо предложения?
1 ответ
Документацию о поддержке файловой системы S3 можно найти здесь.
Вы можете читать из разных каталогов и использовать union()
Оператор объединяет все записи из разных каталогов в один поток.
Также возможно читать вложенные файлы, используя что-то вроде (не проверено):
TextInputFormat format = new TextInputFormat(path);
Configuration config = new Configuration();
config.setBoolean("recursive.file.enumeration", true);
format.configure(this.config);
env.readFile(format, path);