一种基于sqoop的数据抽取方法技术

技术编号:14244102 阅读:167 留言:0更新日期:2016-12-21 23:37
本发明专利技术特别涉及一种基于sqoop的数据抽取方法。该基于sqoop的数据抽取方法,首先通过web界面配置sqoop任务,立即执行或者定时执行sqoop任务,然后通过ganymed远程登录到sqoop所在的Linux服务器并执行sqoop命令,任务执行界面每隔1秒读取一次内存中的执行日志,并实时显示在界面上,Sqoop任务执行结束后,日志存入数据库供以后查看。该基于sqoop的数据抽取方法,可以通过web界面统一配置,调度好查看sqoop任务,实现了关系数据库与大数据集群的数据双向导入导出功能,解决了云计算技术不断发展过程中多数据源数据的管理和维护难题,对于云计算技术的发展和推广具有重要意义,适宜推广应用。

【技术实现步骤摘要】

本专利技术涉及数据信息
,特别涉及一种基于sqoop的数据抽取方法
技术介绍
随着云计算技术的不断发展,云计算技术不断落地成为支撑各行业信息技术发展的重要支柱。传统的业务系统大多构建在关系型数据库之上,需要将这些数据抽取到大数据集群中进行计算、分析,然后再将结果数据导入关系数据库以供展示。另外,一个复杂的业务系统往往包含多种数据源,单纯依靠sqoop去抽取多数据源的数据,虽然功能上可以实现,但是管理、维护起来十分困难。因此,一个统一配置、调度、查看sqoop任务的方法或平台具有很好的推广使用价值。针对上述问题,本专利技术设计了一种基于sqoop的数据抽取方法。通过Ganymed ssh2 for Java远程登录sqoop服务器执行sqoop命令。Ganymed是一个用Java实现了ssh2协议的开源库。通过ganymed可以在Java程序中连接ssh服务器,支持远程执行命令、shell访问、SCP与SFTP。通过Quartz实现定时调度。Quartz是一个完全由Java编写的开源作业调度框架,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来调度十个,百个,甚至是几万个简单或复杂的job,这些job可以是标准的Java组件或 EJBs。
技术实现思路
本专利技术为了弥补现有技术的缺陷,提供了一种简单高效的基于sqoop的数据抽取方法。本专利技术是通过如下技术方案实现的:一种基于sqoop的数据抽取方法,其特征在于包括以下步骤:(1)首先通过web界面配置sqoop任务,系统自动生成sqoop命令并存入数据库;(2)Sqoop任务配置好后有两种选择,可以选择单击按钮,立即执行sqoop任务,也可以选择通过界面配置定时器,系统生成定时规则,并启用quartz定时器;(3)当直接执行sqoop任务或定时器到时后,系统先读取数据库中的sqoop命令,然后通过ganymed远程登录到sqoop所在的Linux服务器并执行sqoop命令,Sqoop命令的执行日志由ganymed捕获,并存入内存;(4)任务执行界面每隔1秒读取一次内存中的执行日志,并实时显示在界面上,同在linux命令行中的执行效果一致;(5)Sqoop任务执行结束后,日志存入数据库供以后查看。所述步骤(1)中,首先选择关系数据源及数据表,并配置具体的sql语句对数据进行清洗、选择,然后选择大数据源,配置大数据源相应的参数,系统会根据界面的配置自动生成相应的sqoop命令并存入数据库。所述大数据源包括HDFS,HBase和Hive三种。所述步骤(2)中,通过web界面选择每天/星期几/每月的某些天,然后填写执行时刻,系统会自动生成相应的符合quartz定时器的cron表达式,quartz定时器根据cron表达式定时执行sqoop任务。本专利技术的有益效果是:该基于sqoop的数据抽取方法,可以通过web界面统一配置,调度好查看sqoop任务,实现了关系数据库与大数据集群的数据双向导入导出功能,解决了云计算技术不断发展过程中多数据源数据的管理和维护难题,对于云计算技术的发展和推广具有重要意义,适宜推广应用。附图说明附图1为本专利技术基于sqoop的数据抽取方法示意图。具体实施方式为了使本专利技术所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图和实施例,对本专利技术进行详细的说明。应当说明的是,此处所描述的具体实施例仅用以解释本专利技术,并不用于限定本专利技术。该基于sqoop的数据抽取方法,包括以下步骤:(1)首先通过web界面配置sqoop任务:①选择关系数据源(比如Oracle、MySql)及数据表;②配置具体的sql语句对数据进行清洗、选择(可选);③选择大数据源(HDFS、HBase、Hive三种);④配置大数据源相应的参数,比如HDFS的路径、Hive的表名等等。系统会根据界面的配置自动生成相应的sqoop命令并存入数据库,不需要懂sqoop就可以使用。也支持直接把写好的sqoop命令填写到界面里。(2)Sqoop任务配置好后有两种选择:可以直接执行此任务,也可以配置定时器,通过定时器定时调度sqoop任务。通过web界面选择每天/星期几/每月的某些天,然后填写执行时刻,系统会自动生成相应的符合quartz的cron表达式,quartz根据cron表达式定时执行sqoop任务。(3)当直接执行sqoop任务或定时器到时后,系统先读取数据库中的sqoop命令,然后通过ganymed远程登录到sqoop所在的linux服务器上执行相应的sqoop命令。Sqoop命令的执行日志由ganymed捕获,并存入内存。(4)任务执行界面每隔1秒读取一次内存中的执行日志,并实时显示在界面上。同在linux命令行中的执行效果一致。(5)Sqoop任务执行结束后,日志存入数据库供以后查看。本文档来自技高网...
一种基于sqoop的数据抽取方法

【技术保护点】
一种基于sqoop的数据抽取方法,其特征在于包括以下步骤:(1)首先通过web界面配置sqoop任务,系统自动生成sqoop命令并存入数据库;(2)Sqoop任务配置好后有两种选择,可以选择单击按钮,立即执行sqoop任务,也可以选择通过界面配置定时器,系统生成定时规则,并启用quartz定时器;(3)当直接执行sqoop任务或定时器到时后,系统先读取数据库中的sqoop命令,然后通过ganymed远程登录到sqoop所在的Linux服务器并执行sqoop命令,Sqoop命令的执行日志由ganymed捕获,并存入内存;(4)任务执行界面每隔1秒读取一次内存中的执行日志,并实时显示在界面上,同在linux命令行中的执行效果一致;(5)Sqoop任务执行结束后,日志存入数据库供以后查看。

【技术特征摘要】
1.一种基于sqoop的数据抽取方法,其特征在于包括以下步骤:(1)首先通过web界面配置sqoop任务,系统自动生成sqoop命令并存入数据库;(2)Sqoop任务配置好后有两种选择,可以选择单击按钮,立即执行sqoop任务,也可以选择通过界面配置定时器,系统生成定时规则,并启用quartz定时器;(3)当直接执行sqoop任务或定时器到时后,系统先读取数据库中的sqoop命令,然后通过ganymed远程登录到sqoop所在的Linux服务器并执行sqoop命令,Sqoop命令的执行日志由ganymed捕获,并存入内存;(4)任务执行界面每隔1秒读取一次内存中的执行日志,并实时显示在界面上,同在linux命令行中的执行效果一致;(5)Sqoop任务执行结束后,日...

【专利技术属性】
技术研发人员:付迅周庆勇
申请(专利权)人:浪潮软件股份有限公司
类型:发明
国别省市:山东;37

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

1