首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >传输大量小文件

传输大量小文件
EN

Stack Overflow用户
提问于 2018-12-16 12:44:27
回答 2查看 571关注 0票数 0

当你的数据在MB甚至GB范围内时,通常的数据传输方法(scp、http和ftp实用程序,如curl或wget)可以很好地工作,但是当你有非常大的小文件集合(例如10KB)时,传输将非常慢,并且根本不会使用带宽。

有两个服务器( S1,S2),当在S1中接收到一个文件时,它应该立即将其发送到S2。

您是否了解如何使用一些DSP工具,例如Apache Flink或NIFI?

EN

回答 2

Stack Overflow用户

发布于 2018-12-16 14:41:42

我没有使用过Apache-Flink,但是使用NiFi这个用例相当简单(只需拖放并配置3个处理器)

流程:

代码语言:javascript
复制
1.ListFile //list files in S1 server
    --> Success Connection (Load Balance Strategy (or) Remote Processor Group)
2.FetchFile //fetch the file from S1 Server
    --> Success Connection
3.PutFile //send the file to S2 server

我们将一直运行ListFile/ListSFTP..etc processor以递增方式列出directory.

  • Once中的文件我们已经列出了可以在cluster

  • Actual中的所有节点上执行的工作FetchFile processor将根据与flowfile.

  • Use关联的属性动态完成文件的提取使用FetchFile processor的success连接将文件传输到使用PutFile/PutSFTP..etc processor的S2

有关上述流程的更多详细信息/用法,请参阅this链接。

票数 2
EN

Stack Overflow用户

发布于 2018-12-17 05:58:02

你可以使用Flink连续复制文件,是的--尽管这不是我通常见过的用例,因为你所做的只是移动字节,而不是处理数据数据(这是Flink最擅长的地方)。

要使用Flink实现这一点,您需要设置一个持续监视S3源目录的(Rich)SourceFunction,并发出任何新文件的路径。然后,您可能会使用AsyncFunction将文件从当前位置异步复制到新位置。

--肯

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53799490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档