Spark- Spark从SFTP中读取zip压缩文件数据做计算

我们遇到个特别的需求,一个数据接入的流程跑的太慢,需要升级为用大数据方式去处理,提高效率。

数据:

  数据csv文件用Zip 压缩后放置在SFTP中

数据来源:

  SFTP

数据操作:

  文件和它的压缩包一致,后缀不同。文件名中包含渠道、日期、操作标记("S"追加,"N"全量,"D"删除)

 

升级前的操作方式:

  shell脚本将文件从SFTP下载到Linux服务器本地,解压。

  历史数据也下载下来。

  根据文件名中的操作标记,对历史数据作操作。

  把新的结果数据上传回SFTP。

  SFTP上的zip数据移动到备份目录。

 

升级后的操作方式:

  用SFTPUtil工具类将ZIP文件转为输入流作为ZipInputStream的实例化的入参

  将解压流作为Hadoop的输出流的入参,此时。

  用Spark读取Hadoop的文件抽象RDD

  对于两文件

  

posted @ 2019-07-17 01:30  RZ_Lee  阅读(1109)  评论(0编辑  收藏  举报