ods层数据导入的方法:
1、创建临时表并加载数据。
2、创建ods库表。
3、将数据导入orc格式表中,就完成了。
ODS层介绍:
作用:数据接口层,主要作用是接入每天的数据,然后进入DWS层进行主题分类。 命名规范:ODS_表名字 (建议表明跟文件名字一样) 最长30个字符。 保留策略:目前保留所有原系统的数据,在将来会按照实际需要更小的缩小ODS层数据的保留策略。
*** 作数据存储ODS(OperationalData Store)是数据仓库体系结构中的一个可选部分,由业务系统产生的报表、细节数据的查询自然能够从ODS中进行,从而降低业务系统的查询压力。
ODS设计与DW设计在着眼点上有所不同,ODS重点考虑业务系统数据是什么样子的,关系如何,在业务流程处理的哪个环节,以及数据抽取接口等问题。
ODS的作用:
ODS是一个将面向主题的,动态增长的,非实时的,消除了原始数据库差异的,对原始库最大限度进行冗余处理后得到的数据集,通过ODS消除了数据间的关联细节,实现了对某一领域数据进行统一处理(比如查询、统计)的快捷方法。
ODS的主要目的是为了降低数据仓库系统和业务系统之间的紧耦合。
我的做法是先创建一个textfile格式的临时表,把文本load到这个表。再创建orcfile的表,把数据从临时表中insert overwrite过来。
最后删除临时表。
oracle触发器将数据插入到另一个服务器的oracle数据库中要用dblink实现两台服务器的数据共享。oracle db_link 和触发器实现不同数据库表的同步
---创建dblink,dblink_test名称,(被同步数据库的a_test)ST10766用户名,ep密码,ass100连接字符串
create public database link dblink_test
connect to ST10766 identified by ep
using 'ass100'
---删除dblink
----drop public database link dblink_test
----建立表
create table a_test (id int,name varchar(20),pass varchar(20))
select * from a_test
insert into a_test (id,name,pass) values (1,'zzn','shanshan')
insert into b_test (id,username,password) values('1','zxl','xiaolan')
----在目的数据库上,测试dblink,查询的是源数据库的表
select * from a_test@dblink_orc10
select * from a_test
----创建触发器
create or replace trigger a_b_test
after insert or update or delete
on a_test
for each row
begin
if deleting then
delete from b_test where id=:old.id
end if
if inserting then
insert into b_test(id,username,password) //b_test表的字段
values(:new.id,:new.name,:new.pass)//a_test表的字段
end if
if updating then
update b_test set username=:new.name,password=:new.pass where id=:old.id
end if
end a_b_test
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)