TDH大數據平臺數據入庫方案

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

相關文章
相關標籤/搜索