python处理多个文件

pgx2nnw8  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(354)

我有一个场景,文本分隔的文件每30分钟从不同的服务器(大约10个)到达hadoop系统。
每个文件有大约250万条记录,可能不会在同一时间到达,我正在寻找一种方法,这些文件可以每30分钟处理一次。
我的问题是:
如何处理不同时间到达的文件?
我想把数据汇总到10个文件中。这么大的文件应该合并还是分开处理?
我希望这个解决方案可以用python实现,但是使用hadoop中的任何工具/技术的解决方案都会受到赞赏。

ecfdbz9o

ecfdbz9o1#

如何处理不同时间到达的文件?
除非你的数据对时间敏感,否则这无关紧要。如果是这样,那么原始数据应该包括写入记录的时间戳。
这么大的文件应该合并还是分开处理?
大的,独立的文件是最好的。注意hdfs块的大小。此大小取决于您的安装。
我想用python实现这个解决方案
欢迎您使用spark streaming来监视文件目录,或者使用oozie+spark来安排常规批处理,但其他工具可能更简单。
有些你可以研究
Apache尼菲
流集数据采集器
ApacheFlume
flume将要求您在这10个外部服务器上安装代理。
列出的每个服务都可以近实时地读取数据,因此不需要显式地进行30分钟的批处理。

相关问题