Flink Streaming AWS S3 читает несколько файлов параллельно

Я новичок в Flink, я понимаю, что после вызова API

StreamExecutionEnvironment.getExecutionEnvironment().readFile(format, path)

будет читать файлы параллельно для заданного пути к ведру S3.

Мы храним файлы журналов в S3. Требование состоит в том, чтобы обслуживать несколько клиентских запросов на чтение из разных папок с отметками времени.

В моем случае использования для обслуживания нескольких клиентских запросов я собираюсь использовать Flink. Поэтому я хочу, чтобы Flink выполнял параллельное чтение AWS S3 для разных путей к файлам AWS S3.

Можно ли добиться этого в одном задании Flink. Какие-либо предложения?


person Abirami    schedule 18.07.2017    source источник


Ответы (1)


Документацию о поддержке файловой системы S3 можно найти здесь.

Вы можете читать из разных каталогов и использовать _ 1_ для объединения всех записей из разных каталогов в один поток.

Также можно читать вложенные файлы, используя что-то вроде (непроверено):

TextInputFormat format = new TextInputFormat(path);
Configuration config = new Configuration();
config.setBoolean("recursive.file.enumeration", true);
format.configure(this.config);
env.readFile(format, path);
person twalthr    schedule 18.07.2017