@ icyanide Это очень простой c вариант использования Nifi, который вы описываете. Он должен отлично работать. Вы также можете сделать это с помощью Spark, но лично я бы предпочел NIFI, потому что его легко программировать без написания кода.
Flow 1: List / FetchHDFS -> PublishKafka
Flow 2: ConsumeKafka - > putS3
Поток 3: List / FetchHDFS -> PublishKafka -> PutS3
Flow 4: List / FetchHDFS -> PutS3 -> PublishKafka -> еще больше нисходящей обработки содержимого, et c ..
Одно предупреждение, большой файл размером 10 ТБ будет рабочей нагрузкой обработки, чтобы получить его, скопировать в s3 и / или что-то сделать с содержимым. Сделайте свои узлы nifi большими spe c и сгруппируйте более одного узла, если можете, и вы ожидаете, что несколько файлов размером 10 ТБ будут обрабатываться параллельно. Если вам нужны данные в Kafka для отдельных последующих событий, таких как, например, метаданные с URL-адресом s3, я бы go HDFS -> S3 напрямую -> PublishKafka (# 4).