福州哪家企业网站建设设计最高端,青岛网站建设公司正,做网站收费吗,百度网址大全官方下载ETL
ETL#xff08; Extract-Transform-Load#xff09;#xff0c;用来描述将数据从来源端经过抽取#xff08;Extract#xff09;、转换#xff08;Transform#xff09;、加载#xff08;Load#xff09;至目的端的过程。ETL模式适用于小数据量集。如果在转换过程…ETL
ETL Extract-Transform-Load用来描述将数据从来源端经过抽取Extract、转换Transform、加载Load至目的端的过程。ETL模式适用于小数据量集。如果在转换过程中需要处理的数据量达到千万上亿或者P级与E级那么ETL整个流程所需的耗时肯定会很长。
ETL的流程
首先从源端拉取数据这个过程就是Extract。例如sqoop,datax等数据同步工具就是Extract抽取数据。当从源端拉取数据后并没有直接灌入到目标表可以理解成是先放到一个缓冲区在这个区域内进行一些符合目标系统标准的预处理比如我们建设数仓的时候对于数据同步后会把一些空值置为一些默认值以此来保障数据完整性对于不同源端的同一种含义的字段信息会进行统一格式转换对于敏感数据会进行加密等等这些操作一般是在入仓之前处理掉的。大家也可以当作是在ODS层。当预处理完之后将数据写入到目标系统中那么这个时候也就是真正的入仓也就是说数仓中的数据都是要符合数仓标准的。
ETL转化Transform主要体现:
空值处理可捕获字段空值进行加载或替换为其他含义数据并可根据字段空值实现分流加载到不同目标库。规范化数据格式可实现字段格式约束定义对于数据源中时间、数值、字符等数据可自定义加载格式。拆分数据依据业务需求对字段可进行分解。验证数据正确性可利用Lookup及拆分功能进行数据验证。数据替换对于因业务因素可实现无效数据、缺失数据的替换。Lookup查获丢失数据 Lookup实现子查询并返回用其他手段获取的缺失字段保证字段完整性。建立ETL过程的主外键约束对无依赖性的非法数据可替换或导出到错误数据文件中保证主键唯一记录的加载。
ETL架构的优势
ETL可以分担数据库系统的负载采用单独的硬件服务器。ETL相对于EL-T架构可以实现更为复杂的数据转化逻辑。ETL采用单独的硬件服务器。ETL与底层的数据库数据存储无关。
ELT
ELT Extract-Load-Transform在ELT架构中数据的整个加工过程都在目标和源的数据库之间流动ELT协调相关的数据库系统来执行相关的应用数据加工过程既可以在源数据库端执行也可以在目标数据仓库端执行主要取决于系统的架构设计和数据属性。当ETL过程需要提高效率则可以通过对相关数据库进行调优或者改变执行加工的服务器就可以达到。一般数据库厂商会力推该种架构像Oracle和Teradata都极力宣传ELT架构。 ELT的流程
1、源端数据抽取和ETL中的E作用一样即从源端系统抽取数据。 2、加载流程就和ETL不一样了T和L进行了位置置换这里是先加载到目标系统大家也可以理解成是数据入了数仓。 3、当数据入了仓之后再进行T操作也就是进行转换。也就是说数据转换标准化操作由缓冲区转移到了仓中进行。
ELT架构的优势
ELT主要通过数据库引擎来实现系统的可扩展性尤其是当数据加工过程在晚上时可以充分利用数据库引擎的资源。ELT可以保持所有的数据始终在数据库当中避免数据的加载和导出从而保证效率提高系统的可监控性。ELT可以根据数据的分布情况进行并行处理优化并可以利用数据库的固有功能优化磁盘I/O。ELT的可扩展性取决于数据库引擎和其硬件服务器的可扩展性。通过对相关数据库进行性能调优ETL过程获得3到4倍的效率提升一般不是特别困难。
ETL与ELT的区别
在实际场景中这两种模式普遍是共存的。只是针对不同的场景选择不同的模式来解决而已。对于小数据量集而且转换过程不会过于耗时的场景可以采取ETL处理例如使用sqoop同步数据日志采集过程当中直接清洗数据这类场景对于数据体量较大而且转换逻辑比较复杂的场景可以采取ELT处理例如前面提到的数据加密场景。目前比较火的数据湖和中台的建设多数是以ELT模式开展的。