一种基于OOZIE实现FTP与HDFS互传文件的方法和系统技术方案

技术编号:13626843 阅读:68 留言:0更新日期:2016-09-01 22:25
本发明专利技术涉及一种基于OOZIE实现FTP与HDFS互传文件的方法和系统。其中方法包括如下步骤:步骤S1,通过OOZIE根据预设的关键字段定义FTP功能组件;步骤S2,通过OOZIE调用FTP功能组件;步骤S3,通过FTP功能组件调用MapReduce程序;步骤S4,通过MapReduce程序实现HDFS文件系统与FTP服务器的文件相互复制。本发明专利技术通过自定义组件使OOZIE支持FTP功能,实现FTP和HDFS之间互传文件。

【技术实现步骤摘要】

本专利技术涉及OOZIE领域,尤其涉及一种基于OOZIE实现FTP与HDFS互传文件的方法和系统
技术介绍
移动互联网时代,移动通信行业的用户行为数据量激增,其中HDFS是一个高度容错性的系统,适合部署在廉价的机器上,HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。FTP是TCP/IP网络上两台计算机传送文件的协议,FTP是通过Internet把文件从客户机复制到服务器上的一种途径,FTP客户机可以给服务器发出命令来下载文件,上传文件,创建或改变服务器上的目录。Oozie是一种Java Web应用程序,Oozie可以把多个MapReduce作业组合到一个逻辑工作单元中,从而完成大型的任务,Oozie本身并不具备支持FTP功能的组件,因此基于OOZIE无法实现FTP与HDFS之间互传文件。
技术实现思路
本专利技术所要解决的技术问题是针对现有技术的不足,提供一种基于OOZIE实现FTP与HDFS互传文件的方法和系统。本专利技术解决上述技术问题的技术方案如下:一种基于OOZIE实现FTP与HDFS互传文件的方法,包括如下步骤:步骤S1,通过OOZIE根据预设的关键字段定义FTP功能组件;步骤S2,通过OOZIE调用FTP功能组件;步骤S3,通过FTP功能组件调用MapReduce程序;步骤S4,通过MapReduce程序实现HDFS文件系统与FTP服务器的文件
相互复制。本专利技术的有益效果是:本专利技术通过自定义FTP功能组件,使OOZIE能够调用MapReduce程序实现FTP和HDFS之间互传文件,弥补了现有技术中无法通过OOZIE实现FTP和HDFS之间互传文件的空白,能够根据用户需求在OOZIE环境下实现从FTP中下载文件上传至HDFS,或者从HDFS中下载文件并上传至FTP。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步地,所述FTP功能组件中关键字段的配置项包括FTP的组件类型、FTP/SFTP传输协议、FTP服务器地址、FTP服务器端口、连接用户名、连接密码、主动/被动的连接模式、上传/下载的方向、服务器路径、HDFS路径以及通配符wildcard匹配文件名称。采用上述进一步方案的有益效果是:通过在FTP功能组件中配置关键项,能够实现MapReduce程序与FTP连接,进而实现上传或者下载文件。进一步地,步骤S3中,将FTP功能组件通过扩展的java组件,调用MapReduce程序。采用上述进一步方案的有益效果是:通过扩展的java组件来调用MapReduce程序可以增强MapReduce程序的后续扩展能力,在需要修改的时候直接对MapReduce程序进行修改并调测即可。进一步地,步骤S4的具体实现为,MapReduce程序判断文件复制方向,若要从HDFS文件系统将文件复制至FTP服务器,则MapReduce程序从HDFS文件系统下载文件,并上传至FTP服务器;若要从FTP服务器将文件复制至HDFS文件系统,则MapReduce程序从FTP服务器下载文件,并上传至HDFS文件系统。采用上述进一步方案的有益效果是:提供了如何实现通过MapReduce程序将HDFS文件系统与FTP服务器的文件相互复制的具体过程。进一步地,步骤S4中,MapReduce程序将上传或下载的文件的文件名称进行还原。采用上述进一步方案的有益效果是:由于从HDFS或者FTP中的下载的文件的文件名称是通过Wildcard匹配的,当将文件上传至FTP或者HDFS时,MapReduce程序可以将文件名进行还原。本专利技术解决上述技术问题的另一种技术方案如下:一种基于OOZIE实现FTP与HDFS互传文件的系统,包括:定义模块,用于通过OOZIE根据预设的关键字段定义FTP功能组件;第一调用模块,用于通过OOZIE调用FTP功能组件;第二调用模块,用于通过FTP功能组件调用MapReduce程序;文件复制模块,用于通过MapReduce程序实现HDFS文件系统与FTP服务器的文件相互复制。本专利技术的有益效果是:本专利技术通过自定义FTP功能组件,使OOZIE能够调用MapReduce程序实现FTP和HDFS之间互传文件,弥补了现有技术中无法通过OOZIE实现FTP和HDFS之间互传文件的空白,能够根据用户需求在OOZIE环境下实现从FTP中下载文件上传至HDFS,或者从HDFS中下载文件并上传至FTP。在上述技术方案的基础上,本专利技术还可以做如下改进。进一步地,所述FTP功能组件中关键字段的配置项包括FTP的组件类型、FTP/SFTP传输协议、FTP服务器地址、FTP服务器端口、连接用户名、连接密码、主动/被动的连接模式、上传/下载的方向、服务器路径、HDFS路径以及通配符wildcard匹配文件名称。采用上述进一步方案的有益效果是:通过在FTP功能组件中配置关键项,能够实现MapReduce程序与FTP连接,进而实现上传或者下载文件。进一步地,所述第二功能模块的具体实现为:将FTP功能组件通过扩展的java组件,调用MapReduce程序。采用上述进一步方案的有益效果是:通过扩展的java组件来调用MapReduce程序可以增强MapReduce程序的后续扩展能力,在需要修改的时候直接对MapReduce程序进行修改并调测即可。进一步地,所述文件复制模块的具体实现为:MapReduce程序判断文件复制方向,若要从HDFS文件系统将文件复制至FTP服务器,则MapReduce程序从HDFS文件系统下载文件,并上传至FTP服务器;若要从FTP服务器将文件复制至HDFS文件系统,则MapReduce程序从FTP服务器下载文件,并上传至HDFS文件系统。采用上述进一步方案的有益效果是:提供了如何实现通过MapReduce程序将HDFS文件系统与FTP服务器的文件相互复制的具体过程。进一步地,所述文件复制模块中,MapReduce程序将上传或下载的文件的文件名称进行还原。采用上述进一步方案的有益效果是:由于从HDFS或者FTP中的下载的文件的文件名称是通过Wildcard匹配的,当将文件上传至FTP或者HDFS时,MapReduce程序可以将文件名进行还原。附图说明图1为本专利技术所述基于OOZIE实现FTP与HDFS互传文件的方法流程图;图2为本专利技术中OOZIE执行FTP功能组件流程图;图3为本专利技术所述基于OOZIE实现FTP与HDFS互传文件的系统结构图。具体实施方式以下结合附图对本专利技术的原理和特征进行描述,所举实例只用于解释本专利技术,并非用于限定本专利技术的范围。下面是针对本专利技术涉及到的一些名词解释。Oozie:Oozie是一种Java Web应用程序,它运行在Java servlet容器
—即Tomcat—中,并使用数据库来存储以下内容:工作流定义,以及当前运行的工作流实例,包括实例的状态和变量。HDFS:Hadoop Distributed File System,Hadoop分布式文件系统。FTP:File Transfer Protocol,文件传输协议,就是专门用来传输文件的协议。FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)查看远程计算机有哪些文件本文档来自技高网
...

【技术保护点】
一种基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,包括如下步骤:步骤S1,通过OOZIE根据预设的关键字段定义FTP功能组件;步骤S2,通过OOZIE调用FTP功能组件;步骤S3,通过FTP功能组件调用MapReduce程序;步骤S4,通过MapReduce程序实现HDFS文件系统与FTP服务器的文件相互复制。

【技术特征摘要】
1.一种基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,包括如下步骤:步骤S1,通过OOZIE根据预设的关键字段定义FTP功能组件;步骤S2,通过OOZIE调用FTP功能组件;步骤S3,通过FTP功能组件调用MapReduce程序;步骤S4,通过MapReduce程序实现HDFS文件系统与FTP服务器的文件相互复制。2.根据权利要求1所述的基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,所述FTP功能组件中关键字段的配置项包括FTP的组件类型、FTP/SFTP传输协议、FTP服务器地址、FTP服务器端口、连接用户名、连接密码、主动/被动的连接模式、上传/下载的方向、服务器路径、HDFS路径以及通配符wildcard匹配文件名称。3.根据权利要求1所述的基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,步骤S3中,将FTP功能组件通过扩展的java组件,调用MapReduce程序。4.根据权利要求2所述的基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,步骤S4的具体实现为,MapReduce程序判断文件复制方向,若要从HDFS文件系统将文件复制至FTP服务器,则MapReduce程序从HDFS文件系统下载文件,并上传至FTP服务器;若要从FTP服务器将文件复制至HDFS文件系统,则MapReduce程序从FTP服务器下载文件,并上传至HDFS文件系统。5.根据权利要求4所述的基于OOZIE实现FTP与HDFS互传文件的方法,其特征在于,步骤S4中,MapReduce程序将上传或下载的文件的文件名称进
\t行还原。6.一种基于OOZIE...

【专利技术属性】
技术研发人员:崔斌
申请(专利权)人:北京思特奇信息技术股份有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1