发布日期:2024-11-04 05:53 点击次数:89
1、抽象
某某公司数据仓库数据源类型有以下三种:文献接口、数据库接口和及时接口。跟着数据库国产化程度不休深远,部分系统由Oracle数据库更换为OceanBase数据库。怎么快速高效将OceanBase数据库中的数据加载到梧桐云原目生析型数据库,成为梧桐云原目生析型数据库承载数仓业务的重要身分。
2、数据迁徙决议
OceanBase数据迁徙到梧桐云原目生析型数据库接受MapReduce Hash溜达步地,将OceanBase数据库中的表数据抽取并加载到梧桐云原目生析型数据库。具体功能架构如下图所示:
2.1 数据HASH
缱绻Oceanbase ROWID散列值,Oceanbase数据库兼容了Oracle数据库伪列特质,复古ROWID,接受HASH函数缱绻ROWID的散列值,如下图所示:
select * FROM xxxxxx.xx_xx_xxxx_xxx;
2.2 数据切片
按照程度数量进行数据切片,每一个程度施展抽取相对应的切片数据,多程度抽取,晋升数据抽取恶果。
SELECT mod(row_id_hash,8), t.* FROM xxxxxx.xx_xx_xxxx_xxx t;
2.3 数据写入HDFS
1、最初贯穿到Oceanbase数据库2、数据写入HDFS
2.4 数据装载梧桐云原目生析型数据库
1、登录梧桐数据库psql -h -p -U <用户称呼> -d2、创建外部表psql> create readable external table ext_tb_???( ??? date,…??? text)LOCATION ( ‘hdfs:///hacluster:???/???/???/<tb_name>_*.dat’ )FORMAT ‘TEXT’ ( DELIMITER ‘∈’ );
2.3 外部表加载到里面表
insert into <模式名>.<表名> select * from ext_tb_???;