从关系型数据库到HBase数据库的数据流迁移方法技术

技术编号:20272349 阅读:29 留言:0更新日期:2019-02-02 03:36
本发明专利技术涉及一种从关系型数据库到HBase数据库的数据流迁移方法,包括如下步骤:设置ETL工具的ExecuteSQL处理器的连接属性,将ExecuteSQL处理器与关系型数据库创建连接服务;通过ConvertAvroToJSON处理器将Avro格式的数据表转换为JSON格式的数据表;通过ConvertJSONToSQL处理器将Json格式的数据表转换为标准关系型数据库格式的数据表;通过ReplaceText处理器将标准关系型数据库格式的数据表转换为HBase数据库格式的数据表;通过PutSQL处理器将HBase数据库格式的数据表存储在HBase数据库中。本发明专利技术全程可视化操作、过程可控性强,且数据流迁移的错误率较低。

【技术实现步骤摘要】
从关系型数据库到HBase数据库的数据流迁移方法
本专利技术涉及计算机应用
,具体地讲涉及一种从关系型数据库到HBase数据库的数据流迁移方法。
技术介绍
目前的应用普遍存在需要处理来自于多个数据库的异构数据问题,现有技术主要解决几种常见的关系型数据库,如Mysql,Oracle,MicrosoftSQLServer之间进行数据的迁移,随着非关系型数据库和关系型数据库的出现和发展,越来越多的应用中同时使用了关系型数据库和非关系型数据库,需要解决非关系型数据库和关系型数据库之间数据迁移的难题。HBase数据库是一种分布式的、面向列的非关系型数据库。越来越多的Web应用需在HBase数据库上重新构建数据,如何将关系型数据库中的数据迁移到HBase数据库成为了亟待解决的问题。
技术实现思路
根据现有技术中存在的问题,本专利技术提供了从关系型数据库到HBase数据库的数据流迁移方法,其全程可视化操作、过程可控性强,且数据流迁移的错误率较低。本专利技术采用以下技术方案:从关系型数据库到HBase数据库的数据流迁移方法,包括如下步骤:S1,设置ETL工具的ExecuteSQL处理器的连接属性,将ExecuteSQL处理器与关系型数据库创建连接服务,ExecuteSQL处理器进而查询并获取到关系型数据库中的Avro格式的数据表;S2,通过ConvertAvroToJSON处理器将所述Avro格式的数据表转换为JSON格式的数据表;S3,通过ConvertJSONToSQL处理器将Json格式的数据表转换为标准关系型数据库格式的数据表;S4,通过ReplaceText处理器将标准关系型数据库格式的数据表转换为HBase数据库格式的数据表;S5,通过PutSQL处理器将HBase数据库格式的数据表存储在HBase数据库中。优选的,步骤S1中,ExecuteSQL处理器的连接属性的设置包括对属性DatabaseConnectionURL、DatabaseDriverClassName、DatabaseDriverLocation(s)、DatabaseUser、Password的值的设置;即将属性DatabaseConnectionURL的值设置为关系型数据库URL,将属性DatabaseDriverClassName的值设置为关系型数据库驱动文件的名称,将属性DatabaseDriverLocation(s)的值设置为关系型数据库驱动文件的绝对路径,将属性DatabaseUser的值设置为访问关系型数据库的用户名,将属性Password的值设置为访问关系型数据库的用户名对应的密码;所述ExecuteSQL处理器的属性的值设置完成后,执行ExecuteSQL处理器,完成ExecuteSQL处理器对所述Avro格式的数据表的查询和获取。进一步优选的,步骤S1中,将ExecuteSQL处理器与关系型数据库创建连接服务,即设置ExecuteSQL处理器的参数SQLselectquery;当参数SQLselectquery设置为select*fromX时,表示ExecuteSQL处理器对参数SQLselectquery所对应的数据表X进行查询和获取。更进一步优选的,步骤S1中,还包括对ExecuteSQL处理器进行任务定时调度的设置,即设置参数Maxwaittime的值;当参数Maxwaittime的值设置为t时,表示ExecuteSQL处理器与关系型数据库成功创建连接后,等待t秒执行ExecuteSQL处理器对关系型数据库中的数据表的查询和获取。优选的,步骤S2中,将所述Avro格式的数据表转换为JSON格式的数据表包括对ConvertAvroToJSON处理器的属性JSONcontaineroptions、WrapsingleRecord的值的设置;属性JSONcontaineroptions的值表示JSON格式的数据表的表达方式,设置属性JSONcontaineroptions的值为array,即表示以数组类型的方式表示JSON格式的数据表;属性WrapsingleRecord的值表示是否以单个记录方式处理数据流,如果是,则属性WrapsingleRecord的值设置为true,如果否,则属性WrapsingleRecord的值设置为false,此时采用整体打包的方式处理数据流;所述ConvertAvroToJSON处理器的属性的值设置完成后,执行ConvertAvroToJSON处理器,进而完成Avro格式的数据表转换为JSON格式的数据表。优选的,步骤S3中,将Json格式的数据表转换为标准关系型数据库格式的数据表包括对ConvertJSONToSQL处理器的属性JDBCConnectionPool、StatementType、TableName、TranslateFieldNames、UnmatchedFieldBehavior、UnmatchedColumnBehavior、QuoteColumnIdentifiers、QuoteTableIdentifiers的值的设置;属性JDBCConnectionPool的值表示待连接数据库的类型,设置属性JDBCConnectionPool的值为Hbase,即连接Hbase数据库;属性StatementType的值表示对Hbase数据库操作的方式,设置属性StatementType的值为INSERT,即操作Hbase数据库的方式为插入操作;属性TableName的值表示Hbase数据库中数据表的名称,设置属性TableName的值为KK_PASS,即操作Hbase数据库的KK_PASS数据表;属性TranslateFieldNames的值表示是否处理数据表中的数据,设置属性TranslateFieldNames的值为true,即处理数据表中的数据;属性UnmatchedFieldBehavior的值表示对数据表中不匹配的字段是否处理,设置属性UnmatchedFieldBehavior的值为IgnoreUnmatchedFields,即忽略不匹配的字段;属性UnmatchedColumnBehavior的值表示对数据表中不匹配的列是否处理,设置属性UnmatchedColumnBehavior的值为IgnoreUnmatchedColumns,即忽略不匹配的列;属性QuoteColumnIdentifiers的值表示对数据表中列的名称是否进行修改,设置属性QuoteColumnIdentifiers的值为false,即对数据表中列的名称不进行修改;属性QuoteTableIdentifiers的值表示对数据表的名称是否进行修改,设置属性QuoteTableIdentifiers的值为false,即对数据表的名称不进行修改;所述ConvertJSONToSQL处理器的属性设置完成后,执行ConvertJSONToSQL处理器,进而完成Json格式的数据表转换为标准关系型数据库格式的数据表。优选的,步骤S4中,将标准关系型数据库格式的数据表转换为HBase数据库格式的数据表包括对ReplaceText处理器的属性SearchValue、ReplacementValue、C本文档来自技高网...

【技术保护点】
1.一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于,包括如下步骤:S1,设置ETL工具的ExecuteSQL处理器的连接属性,将ExecuteSQL处理器与关系型数据库创建连接服务,ExecuteSQL处理器进而查询并获取到关系型数据库中的Avro格式的数据表;S2,通过ConvertAvroToJSON处理器将所述Avro格式的数据表转换为JSON格式的数据表;S3,通过ConvertJSONToSQL处理器将Json格式的数据表转换为标准关系型数据库格式的数据表;S4,通过ReplaceText处理器将标准关系型数据库格式的数据表转换为HBase数据库格式的数据表;S5,通过PutSQL处理器将HBase数据库格式的数据表存储在HBase数据库中。

【技术特征摘要】
1.一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于,包括如下步骤:S1,设置ETL工具的ExecuteSQL处理器的连接属性,将ExecuteSQL处理器与关系型数据库创建连接服务,ExecuteSQL处理器进而查询并获取到关系型数据库中的Avro格式的数据表;S2,通过ConvertAvroToJSON处理器将所述Avro格式的数据表转换为JSON格式的数据表;S3,通过ConvertJSONToSQL处理器将Json格式的数据表转换为标准关系型数据库格式的数据表;S4,通过ReplaceText处理器将标准关系型数据库格式的数据表转换为HBase数据库格式的数据表;S5,通过PutSQL处理器将HBase数据库格式的数据表存储在HBase数据库中。2.根据权利要求1所述的一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于:步骤S1中,ExecuteSQL处理器的连接属性的设置包括对属性DatabaseConnectionURL、DatabaseDriverClassName、DatabaseDriverLocation(s)、DatabaseUser、Password的值的设置;即将属性DatabaseConnectionURL的值设置为关系型数据库URL,将属性DatabaseDriverClassName的值设置为关系型数据库驱动文件的名称,将属性DatabaseDriverLocation(s)的值设置为关系型数据库驱动文件的绝对路径,将属性DatabaseUser的值设置为访问关系型数据库的用户名,将属性Password的值设置为访问关系型数据库的用户名对应的密码;所述ExecuteSQL处理器的属性的值设置完成后,执行ExecuteSQL处理器,完成ExecuteSQL处理器对所述Avro格式的数据表的查询和获取。3.根据权利要求2所述的一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于:步骤S1中,将ExecuteSQL处理器与关系型数据库创建连接服务,即设置ExecuteSQL处理器的参数SQLselectquery;当参数SQLselectquery设置为select*fromX时,表示ExecuteSQL处理器对参数SQLselectquery所对应的数据表X进行查询和获取。4.根据权利要求3所述的一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于:步骤S1中,还包括对ExecuteSQL处理器进行任务定时调度的设置,即设置参数Maxwaittime的值;当参数Maxwaittime的值设置为t时,表示ExecuteSQL处理器与关系型数据库成功创建连接后,等待t秒执行ExecuteSQL处理器对关系型数据库中的数据表的查询和获取。5.根据权利要求1所述的一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于:步骤S2中,将所述Avro格式的数据表转换为JSON格式的数据表包括对ConvertAvroToJSON处理器的属性JSONcontaineroptions、WrapsingleRecord的值的设置;属性JSONcontaineroptions的值表示JSON格式的数据表的表达方式,设置属性JSONcontaineroptions的值为array,即表示以数组类型的方式表示JSON格式的数据表;属性WrapsingleRecord的值表示是否以单个记录方式处理数据流,如果是,则属性WrapsingleRecord的值设置为true,如果否,则属性WrapsingleRecord的值设置为false,此时采用整体打包的方式处理数据流;所述ConvertAvroToJSON处理器的属性的值设置完成后,执行ConvertAvroToJSON处理器,进而完成Avro格式的数据表转换为JSON格式的数据表。6.根据权利要求1所述的一种从关系型数据库到HBase数据库的数据流迁移方法,其特征在于:步骤S3中,将Json格式的数据表转换为标准关系型数据库格式的数据表包括对ConvertJSONToSQL处理器的属性JDBCConnectionPool、StatementType、TableName、TranslateFieldNames、UnmatchedFieldBehavior、UnmatchedColumnBehavior、QuoteColumnIdentifiers、QuoteTableIdentifiers的值的设置;属性JDBCConnectionPool的值表示待连接数据库的类型,设置属性JDBCConnectionPool的值为Hbase,即连接Hbase数据库;属性StatementType的值...

【专利技术属性】
技术研发人员:邓惠元范联伟余保华徐圣吉刘春珲李贤军胡鸿超金文林吴婷婷徐剑张国林张金国展昭何宽宽杨培韬
申请(专利权)人:安徽四创电子股份有限公司
类型:发明
国别省市:安徽,34

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

1