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從第二步開始導入便可