1、数据入库方式mysql
目前批量数据入库TDH大数据平台主要有以下几种方式sql
一、手工入录数据库
一些静态表手工维护的数据,能够直接采用insert导入,或者使用waterdrop客户端工具导入,只适用少数据量的导入和更新服务器
二、dblinkoracle
TDH inceptor支持创建dblink直接链接db2,oracle,mysql等关系数据库,对于一些数据量不大的静态表,手工维护的表,能够经过创建dblink的方式获取数据分布式
优势:简单方便工具
缺点:1)对大数据量的表,效率较差oop
2)初次使用相应数据库的dblink时,须要导入对应数据库的驱动jar包到 inceptor 的lib目录,重启才能生效大数据
三、sqoop直接抽取blog
可使用sqoop的方式从RDBMS关系型数据库抽取数据到TDH大数据平台
优势:1)支持各类类型的关系型数据库;
2)数据能够直接导入到HDFS;
缺点:1)sqoop单map导入数据不快,多map导入速度快,可是同时导出的表多时,关系型数据库须要抗压
2)当生产系统的数据导出要给多个系统使用或者数据重采,每一个系统都须要再次从源系统抽取数据,源系统压力较大
3)对ORACLE的colb,blob等字段,导出速度慢
4)RDBMS-文件服务器-TDH平台
先使用相应的数据库导数工具导出成文本文件,而后把文本文件上传到TDH大数据平台
优势:1)使用数据库相对应的导数工具,数据导出速度快,put到hdfs数据也快 特别适合数据量大,导出表多的状况
2)当有多个系统须要使用源系统导出的数据时,能够直接共享导出的文件
3)能够制定统一的数据入库规范
缺点:1)须要文件采集服务器,增长服务器和存储成本
2、数据入库流程
3,4 两种是目前主要采用的数据入库方案,详细流程见下图
流程1
1)关系型数据库经过导数工具导出文件到采集服务器
2)采集服务把本地文件put到HDFS上
3)对PUT到hdfs上的文件创建inceptor text映射表
4) 此时能够经过sql的方式根据不一样的须要把数据导入 TDH的不一样类型的表里了
注:
inceptor是一个强大的分布式数据库引擎,各个不一样类型表的数据能够经过inceptor使用SQL的方式互相导,简单方便快捷
流程2
1)直接经过sqoop 把RDBMS中的数据导出成hdfs文件
2)对PUT到hdfs上的文件创建inceptor text映射表
3) 此时能够经过sql的方式根据不一样的须要把数据导入 TDH的不一样类型的表里了
流程3
若是是文本文件
参照流程1从第二步开始导入便可