首页
学习
活动
专区
工具
TVP
发布

走进大数据 ETL-Load

LOAD 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载数据加载(Load) 经过数据转换生成的文件的结构与数据仓库数据表的结构完全一致,可以直接通过数据加载工具,以Bulk Load的方式加载到数据仓库中。数据加载工作以oracle数据库为例大致可以分为3步进行。

加载准备

在真正进行数据加载之前还可能需要完成以下准备工作。

删除数据仓库中数据表的索引,提高加载效率。主要是针对detail及fact大表,可以直接调用DBA所创建的索引维护脚本。DBA调试过数据仓库后,必须更新相应的索引维护脚本,以保证ETL能够正确删除和建立索引。

加载

Load主要完成将转换后文件的数据加载到数据仓库的表中。需要用到的加载方式有三种

Insert:只需要将转换后文件所有数据完全Insert到目标表中。

UpdAdd(Update Add):需要对目标表同时做Update及Insert操作,根据primary key,对于已有的记录进行Update操作;对于不存在的记录做Insert的操作;对于数据量大的表,由于此操作的效率非常低可以采用先将转换后文件分割为Delet文件及Insert文件,然后先将Delete文件中的记录根据 primay key对应从数据仓库中删除,然后再从Insert文件中将所有记录全部Insert到目标表中。

Refresh:即将目标表的数据完全更新,一般的做法是先Truncate目标表的数据,然后再完全 Insert要加载的记录。加载过程中数据仓库关闭数据RI(Referential Integrity)管理功能,数据库的RI检查由ETL应用程序完成。

加载后

重新生成索引,在加载后阶段删除的索引需在此重建。该过程也是调用DBA维护的索引维护脚本。

文件清理:删除不需要的临时文件及临时表。

使用装载工具或数据查询语言(SQL)时注意点:效率问题、避免违反约束条件,注意装载顺序。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191013A0EITA00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券