etletl工程师有前景吗

etl  时间:2021-08-19  阅读:()

ETL的原理?

这篇论坛文章(赛迪网技术社区)根据笔者多年的数据仓库实施经验,同时结合ETL的过程原理和数据仓库建设方法归纳总结了以下优化的方案,详细内容请读者参考下文:

1.引言

数据仓库建设中的ETL(Extract, Transform, Load)是数据抽取、转换和装载到模型的过程,整个过程基本是通过控制用SQL语句编写的存储过程和函数的方式来实现对数据的直接操作,SQL语句的效率将直接影响到数据仓库后台的性能。

目前,国内的大中型企业基本都具有四年以上计算机信息系统应用经验,积累了大量可分析的业务数据,这些信息系统中的数据需要通过搭建数据仓库平台才能得到科学的分析,这也是近几年数据仓库系统建设成为IT领域热门话题的原因。

2.优化的思路分析

数据仓库ETL过程的主要特点是:面对海量的数据进行抽取;分时段对大批量数据进行删除、更新和插入操作;面对异常的数据进行规则化的清洗;大量的分析模型重算工作;有特定的过程处理时间规律性,一般整个ETL过程需要在每天的零点开始到6点之前完成。

所以,针对ETL过程的优化主要是结合数据仓库自身的特点,抓住需要优化的主要方面,针对不同的情况从如何采用高效的SQL入手来进行。

优化的实例分析

目前数据仓库建设中的后台数据库大部分采用Oracle,以下的SQL采用Oracle的语法来说明,所有的测试在Oracle9i环境中通过,但其优化的方法和原理同样适合除Oracle之外的其他数据库。

3.1索引的正确使用

在海量数据表中,基本每个表都有一个或多个的索引来保证高效的查询,在ETL过程中的索引需要遵循以下使用原则:

(1) 当插入的数据为数据表中的记录数量10%以上时, 首先需要删除该表的索引来提高数据的插入效率,当数据全部插入后再建立索引。

(2) 避免在索引列上使用函数或计算,在WHERE子句中,如果索引列是函数的一部分,优化器将不使用索引而使用全表扫描。

举例:

低效: SELECT * ROM DEPT WHERE SAL * 12 > 25000;

高效: SELECT * FROM DEPT WHERE SAL > 25000/12;

(3) 避免在索引列上使用NOT和”!=” , 索引只能告诉什么存在于表中,而不能告诉什么不存在于表中,当数据库遇到NOT和”!=”时,就会停止使用索引转而执行全表扫描。

(4) 索引列上用>=替代>

高效: SELECT * FROM EMP WHERE DEPTNO >=4

低效: SELECT * FROM EMP WHERE DEPTNO >3

两者的区别在于,前者DBMS将直接跳到第一个DEPT等于4的记录而后者将首先定位到DEPTNO=3的记录并且向前扫描到第一个DEPT大于3的记录。

(5) 函数的列启用索引方法,如果一定要对使用函数的列启用索引,Oracle9i以上版本新的功能:基于函数的索引(Function-Based Index)是一个较好的方案,但该类型索引的缺点是只能针对某个函数来建立和使用该函数。

CREATE INDEX EMP_I ON EMP (UPPER( ENAME));       

SELECT * FROM EMP WHERE UPPER(ENAME) = ‘BLACKSNAIL’;

3.2 游标的正确使用

当在海量数据表中进行数据的删除、更新和插入操作时,用游标处理的效率是最慢的方式,但它在ETL过程中的使用又必不可少,而且使用有着及其重要的地位,所以游标的正确使用尤为重要。

对数据仓库维表的数据进行维护时,因为需要保证维表ID的一致性,所以采用游标的是数据维护完整性的最好方式。

由于它的效率低,如果按照普通的方式将无法处理大数据量的维表数据维护(一般是指10万条记录以上的维表),以下是处理这种情况的有效方式:

(1) 在数据抽取的源表中使用时间戳,这样每天的维表数据维护只针对更新日期为最新时间的数据来进行,大大减少需要维护的数据记录数。

(2) 在INSERT和UPDATE维表时都加上一个条件来过滤维表中已经存在的记录,实例为:

INSERT INTO DIM_CUSTOMER SELECT * FROM ODS_CUSTOMER WHERE ODS_CUSTOMER.CODE NOT EXISTS (DIM_CUSTOMER.CODE)

(3) 使用显式的游标(CURSORs) ,因为使用隐式的游标将会执行两次操作,第一次检索记录,第二次检查TOO MANY ROWS 这个EXCEPTION,而显式游标不执行第二次操作。

3.3数据抽取和上载时的SQL优化

◆3.3.1 WHERE子句中的连接顺序

ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其它WHERE条件之前,那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾。

低效:SELECT * FROM EMP E WHERE SAL > 50000 AND JOB = ‘MANAGER’ AND 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO);

高效:SELECT * FROM EMP E WHERE 25 < (SELECT COUNT(*) FROM EMP WHERE MGR=E.EMPNO) AND SAL > 50000 AND JOB = ‘MANAGER’;

◆3.3.2 删除全表时用TRUNCATE替代DELETE

当DELETE删除表中的记录时,有回滚段(rollback segments ) 用来存放可以被恢复的信息,而当运用TRUNCATE时,回滚段不再存放任何可被恢复的信息,所以执行时间也会很短。

同时需要注意TRUNCATE只在删除全表时适用,因为TRUNCATE是DDL而不是DML。

◆3.3.3 尽量多使用COMMIT

ETL中同一个过程的数据操作步骤很多,数据仓库采用的是数据抽取后分析模型重算的原理,所以对数据的COMMIT不像业务系统为保证数据的完整和一致性而需要某个操作过程全部完成才能进行,只要有可能就在程序中对每个DELETE、INSERT和UPDATE操作尽量多使用COMMIT, 这样系统性能会因为COMMIT所释放的资源而大大提高。

◆3.3.4 用EXISTS替代IN

在许多基于基础表的查询中,为了满足一个条件往往需要对另一个表进行联接,例如在ETL过程写数据到模型时经常需要关联10个左右的维表,在这种情况下,使用EXISTS而不用IN将提高查询的效率。

◆3.3.5 用NOT EXISTS替代NOT IN

子查询中,NOT IN子句将执行一个内部的排序和合并,无论在哪种情况下,NOT IN都是最低效的,因为它对子查询中的表执行了一个全表遍历。

用NOT EXISTS替代NOT IN将提高查询的效率。

◆3.3.6 优化GROUP BY

提高GROUP BY 语句的效率,可以通过将不需要的记录在GROUP BY 之前过滤掉。

低效: SELECT JOB , AVG(SAL) FROM EMP GROUP BY JOB HAVING JOB = ‘PRESIDENT’ OR JOB = ‘MANAGER’

高效: SELECT JOB , AVG(SAL) FROM EMP WHERE JOB = ‘PRESIDENT’ OR JOB = ‘MANAGER’ GROUP BY JOB

◆3.3.7 有条件的使用UNION-ALL 替换UNION

ETL过程针对多表连接操作的情况很多,有条件的使用UNION-ALL 替换UNION的前提是:所连接的各个表中无主关键字相同的记录,因为UNION ALL 将重复输出两个结果集合中相同记录。

当SQL语句需要UNION两个查询结果集合时,这两个结果集合会以UNION-ALL的方式被合并,然后在输出最终结果前进行排序。

如果用UNION ALL替代UNION,这样排序就不是必要了,效率就会因此得到提高3-5倍

◆ 3.3.8 分离表和索引

总是将你的表和索引建立在不同的表空间内,决不要将不属于ORACLE内部系统的对象存放到SYSTEM表空间里。

同时确保数据表空间和索引表空间置与不同的硬盘控制卡控制的硬盘上。

Beeload ETL工具 V1.0

编程开发 下载: /248/256/40045/

具体实例参考: /bbs/thread-1467-1-1.html

ETL认证是什么?ETL与UL认证有什么区别?

ETL与UL认证有3点不同: 一、两者的概述不同: 1、ETL认证的概述:ETL是北美最具活力的安全认证标志,历史可追溯到1896年托马斯·爱迪生创建的电气测试实验室,在北美具有广泛的知名度和认可度。

ETL标志是世界领先的质量与安全机构Intertek天祥集团的专属标志,获得ETL标志的产品代表满足北美的强制标准,可顺利进入北美市场销售。

2、UL认证的概述:UL是美国保险商试验所(Underwriter Laboratories Inc)的简写。

UL安全试验所是美国最有权威的,也是世界上从事安全试验和鉴定的较大的民间机构。

它是一个独立的、营利的、为公共安全做试验的专业机构。

二、两者的适用范围不同: 1、ETL认证的适用范围:经过测试符合相关的产品安全标准的,代表着生产工厂同意接收严格的定期检查,以保证产品品质的一致性,可以销往美国和加拿大两国市场。

2、UL认证的概述:主要从事产品的安全认证和经营安全证明业务,其最终目的是为市场得到具有相当安全水准的商品,为人身健康和财产安全得到保证作出贡献。

就产品安全认证作为消除国际贸易技术壁垒的有效手段而言,UL为促进国际贸易的发展也发挥着积极的作用。

三、两者的意义不同: 1、ETL认证的意义: 任何电气、机械或机电产品只要带有ETL检验标志就表明它是经过测试符合相关的业界标准。

每个行业都有不同的测试标准,所以对特定产品的要求一定要向专业人员咨询。

ETL检验标志在电缆产品中广泛应用,表明通过了有关测试。

在美国大多数地区,电气产品的批准是强制的。

ETL是指ETL测试实验室公司(ETL Testing Laboratories Inc)。

ETL的列名产品是由“有司法权主管机关”(Authorities Having Jurisdiction)承认的,可认为“已批准”。

2、UL认证的意义: (1)整个美国市场都十分注重产品安全;消费者及购买单位选购产品时,都会选择有UL认证标志的产品. (2)UL历史有100多年,安全之形象在消费者及政府都根深蒂固,如果您不直接售卖产品给消费者,中间商人也会要求产品有UL认证标志,以令产品畅销。

(3)美国消费者及购买单位对企业的产品更有信心。

(4)全美国联邦、州、县、市政府一共超过四万个政区,都承认UL认证标志。

参考资料来源:百度百科-ETL认证 参考资料来源:百度百科-UL认证

ETL是什么格式的文件

ETL文件是WINDOWS自带的性能日志文件。

ETL文件是Eclipse Transition Listing (The Eclipse Foundation)相关的系统文档,也关联 Windows2000 Trace Log, ThermaData Logger Log Data File (Electronic Temperature Instruments Ltd) 和FileViewPro. ETL文件可以用:FileViewPro* 、Eclipse Transition Listing (The Eclipse Foundation)等软件打开。

什么是ETL?

Extraction-Transformation-Loading的缩写,中文名称为数据提取、转换和加载。

ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic PowerCenter、Trinity、AICloudETL、DataStage、Repository Explorer、Beeload、Kettle、DataSpider 目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle…… 开源的工具有eclipse的etl插件。

cloveretl. 数据集成:快速实现ETL ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。

而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。

实现ETL,首先要实现ETL转换的过程。

它可以集中地体现为以下几个方面: 1、空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。

2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。

3、拆分数据:依据业务需求对字段可进行分解。

例,主叫号 861082585313-8148,可进行区域码和电话号码分解。

4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。

例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。

5、数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。

6、Lookup:查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。

7、建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。

ETL和UL的区别

UL和ETL都代表产品通过国家2113认可测试实验室(NRTL)的测试,符合相应的安全标准,而且也代表着生产商同意接收严格的定期检查,以保证产品品质的一致性。

所以真正5261的区别在于服务。

作为ETL的客户,您可以享受到量身定制的测试、检验和认证服务,快捷4102的运作周期和灵活的工作方式。

  ETL认证和UL认证具有同样的北美市场准入效力,但ETL认证的费1653用比UL认证低的多,一般只有UL认证的一半,而且,ETL认证的产品检测可以通过CB测试报告转,可以为您节省版许多的检测费用。

ETL认证时间也比权UL认证要短的多,特殊情况下,ETL可以先发证,再进行工厂审查,为您产品的出口以节省宝贵的时间。

etl工程师有前景吗

在大数据背景下,越来越多的企业开始涉足大数据,ETL作为企业搞大数据的重要技术平台,确实是需要重视的,也需要技术实力足够的ETL工程师来支持企业大数据平台的建设和运营。

所以,只要大数据的前景一直向好,那么ETL工程师的发展前景也是不必担心的。

至于说ETL工程师做什么,从传统的ETL到大数据背景下的ETL,作为技术人员,确实需要不断提升自己的技术实力。

传统时期的ETL工程师,主要负责数据采集环节,且数据流动往往是单向性的,而在大数据时代,ETL工程师面临的应用场景更多,ETL需要采取和处理的对象也在升级,需要解决的问题也更多。

从业务角度讲,随着数据应用的日益丰富,不同平台、系统的相互大批量数据交互成常态,仅仅满足于采集数据已经不适应业务需要,还需要能够为数据的目的端落地提供支撑,ETL工程师需要一个端到端的更适应业务需要的数据交换系统。

从技术角度讲,ETL做一定的扩展可以升级为兼具交换能力,两者有传承,可以实现平滑过渡,但交换却要考虑用另一个工具实现,同时未来大数据平台组件将异常丰富,相互之间的数据交换将是常态,必要要有更高级别的交换工具满足这些需求。

大数据时代的ETL工程师,除了从事传统的系统编程、数据库编程与设计,还需要熟悉主流数据库技术,如oracle、Sql server、PostgeSQL等,并且得会数据etl开发工具,如Datastage,Congos,Kettle等。

关于ETL工程师发展前景好吗,ETL工程师做什么,以上就是详细的介绍了。

在ETL工程师的未来职业发展上,除了要掌握足够的数据库开发技术,相关的大数据技术也要掌握,这样才能更好地解决大数据时代的ETL数据采集与处理。

webhosting24:€28/年,日本NVMe3900X+Webvps

webhosting24决定从7月1日开始对日本机房的VPS进行NVMe和流量大升级,几乎是翻倍了硬盘和流量,当然前提是价格依旧不变。目前来看,国内过去走的是NTT直连,服务器托管机房应该是CDN77*(也就是datapacket.com),加上高性能平台(AMD Ryzen 9 3900X+NVMe),这样的日本VPS还是有相当大的性价比的。官方网站:https://www.webhosting...

Gigsgigscloud($9.8)联通用户优选日本软银VPS

gigsgigsCloud日本东京软银VPS的大带宽配置有100Mbps、150Mbps和200Mbps三种,三网都走软银直连,售价最低9.8美元/月、年付98美元。gigsgigscloud带宽较大延迟低,联通用户的好选择!Gigsgigscloud 日本软银(BBTEC, SoftBank)线路,在速度/延迟/价格方面,是目前联通用户海外VPS的最佳选择,与美国VPS想比,日本软银VPS延迟更...

腾讯云爆款秒杀:1C2G5M服务器38元/年,CDN流量包6元起

农历春节将至,腾讯云开启了热门爆款云产品首单特惠秒杀活动,上海/北京/广州1核2G云服务器首年仅38元起,上架了新的首单优惠活动,每天三场秒杀,长期有效,其中轻量应用服务器2G内存5M带宽仅需年费38元起,其他产品比如CDN流量包、短信包、MySQL、直播流量包、标准存储等等产品也参与活动,腾讯云官网已注册且完成实名认证的国内站用户均可参与。活动页面:https://cloud.tencent.c...

etl为你推荐
销售报表销售报表怎么做?最好具体一点。移动开发什么是android移动应用开发权限表asp.net 角色权限的表设计 求高手指点安卓开发环境搭建最新电脑安卓开发环境的搭建方法?u盾证书U盾证书怎么用监控设备安装监控器怎么安装通话宝什么是中国电信通话宝?具体说一下背投广告搜狐一个广告费用是多少云电视是什么意思云电视怎么用机顶盒看数字电视公司注册如何办理新成立公司如何办理注册?
游戏服务器租用 广州服务器租用 免费申请域名和空间 金万维动态域名 java主机 suspended godaddy域名优惠码 512au 双拼域名 韩国名字大全 699美元 服务器是干什么的 vip域名 raid10 美国独立日 中国电信测速器 php服务器 杭州电信宽带优惠 域名和主机 国内空间 更多