ETL开发

岗位职责

工具应用 ETL工具的典型代表有:Informatica、Datastage、OWB、微软DTS、Beeload、Kettle、久其ETL…… 开源的工具有eclipse的etl插件:cloveretl 数据集成:快速实现ETL ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。 实现ETL,首先要实现ETL转换的过程。体现为以下几个方面: 1、空值处理:可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。 2、规范化数据格式:可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。 3、拆分数据:依据业务需求对字段可进行分解。例,主叫号 86182585313-8148,可进行区域码和电话号码分解。 4、验证数据正确性:可利用Lookup及拆分功能进行数据验证。例如,主叫号86182585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。 5、数据替换:对于因业务因素,可实现无效数据、缺失数据的替换。 6、Lookup:查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。 7、建立ETL过程的主外键约束:对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。 注意事项 为了能更好地实现ETL,笔者建议用户在实施ETL过程中应注意以下几点: 第一,如果条件允许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性; 第二,如果ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为增强; 第三,ETL之前应制定流程化的配置管理和标准协议; 第四,关键数据标准至关重要。ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统按照统计代码管理数据,B系统按照账目数字管理,C系统按照语音ID管理。当ETL需要对这三个系统进行集成以获得对客户的全面视角时,这一过程需要复杂的匹配规则、名称/地址正常化与标准化。而ETL在处理过程中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。 特色功能 ETL过程在很大程度上受企业对源数据的理解程度的影响,也就是说从业务的角度看数据集成非常重要。一个优秀的ETL设计应该具有如下功能: 管理简单 采用元数据方法,集中进行管理;接口、数据格式、传输有严格的规范;尽量不在外部数据源安装软件;数据抽取系统流程自动化,并有自动调度功能;抽取的数据及时、准确、完整;可以提供同各种数据系统的接口,系统适应性强;提供软件框架系统,系统功能改变时,应用程序很少改变便可适应变化;可扩展性强。 标准定义数据 合理的业务模型设计对ETL至关重要。数据仓库是企业唯一、真实、可靠的综合数据平台。数据仓库的设计建模一般都依照三范式、星型模型、雪花模型,无论哪种设计思想,都应该最大化地涵盖关键业务数据,把运营环境中杂乱无序的数据结构统一成为合理的、关联的、分析型的新结构,而ETL则会依照模型的定义去提取数据源,进行转换、清洗,并最终加载到目标数据仓库中。 模型的重要之处在于对数据做标准化定义,实现统一的编码、统一的分类和组织。标准化定义的内容包括:标准代码统一、业务术语统一。ETL依照模型进行初始加载、增量加载、缓慢增长维、慢速变化维、事实表加载等数据集成,并根据业务需求制定相应的加载策略、刷新策略、汇总策略、维护策略。 拓展新型应用 对业务数据本身及其运行环境的描述与定义的数据,称之为元数据(metadata)。元数据是描述数据的数据。从某种意义上说,业务数据主要用于支持业务系统应用的数据,而元数据则是企业信息门户、客户关系管理、数据仓库、决策支持和B2B等新型应用所不可或缺的内容。 元数据的典型表现为对象的描述,即对数据库、表、列、列属性(类型、格式、约束等)以及主键/外部键关联等等的描述。特别是现行应用的异构性与分布性越来越普遍的情况下,统一的元数据就愈发重要了。“信息孤岛”曾经是很多企业对其应用现状的一种抱怨和概括,而合理的元数据则会有效地描绘出信息的关联性。 而元数据对于ETL的集中表现为:定义数据源的位置及数据源的属性、确定从源数据到目标数据的对应规则、确定相关的业务逻辑、在数据实际加载前的其他必要的准备工作,等等,它一般贯穿整个数据仓库项目,而ETL的所有过程必须最大化地参照元数据,这样才能快速实现ETL。 体系结构 下图为ETL体系结构 ,它体现了主流ETL产品框架的主要组成部分。ETL是指从源系统中提取数据,转换数据为一个标准的格式,并加载数据到目标数据存储区,通常是数据仓库。 ETL体系结构图 Design manager 提供一个图形化的映射环境,让开发者定义从源到目标的映射关系、转换、处理流程。设计过程的各对象的逻辑定义存储在一个元数据资料库中。 Meta data management 提供一个关于ETL设计和运行处理等相关定义、管理信息的元数据资料库。ETL引擎在运行时和其它应用都可参考此资料库中的元数据。 Extract 通过接口提取源数据,例如JODBC、专用数据库接口和平面文件提取器,并参照元数据来决定数据的提取及其提取方式。 Transform 开发者将提取的数据,按照业务需要转换为目标数据结构,并实现汇总。 Load 加载经转换和汇总的数据到目标数据仓库中,可实现SQL或批量加载。 Transport services 利用网络协议或文件协议,在源和目标系统之间移动数据,利用内存在ETL处理的各组件中移动数据。 Administration and operation 可让管理员基于事件和时间进行调度、运行、监测ETL作业、管理错误信息、从失败中恢复和调节从源系统的输出。…查看全文

问答

更多

#ETL开发#  #ETL工程师# 

我来回答

面试

更多

头像

匿名用户

面试Merkle美库尔的 ETL开发工程师 .上海

面试通过

笔试然后两轮面试 难度一般。

约定2点到公司开始,半小时笔试主要以逻辑题和数据库题为主,没有涉及到编程知识,毕竟是做数据库方向的企业。笔试结束后会安排笔试,和我一起的还有2位应聘者,我排在最后一位,等了差不多40分钟轮到我。第一轮面试主要关于一些项目经历,数据库基础知识,英语交流,笔试问题。第二轮面试更具体一些,部门经理会拿出一些数据库的资料具体考察你的应变能力和对数据库的理解。同样也进行了一些列的英语交流,和关于学校期间课程内容的问题。希望有帮助,祝顺利。...查看全文

头像

匿名用户

面试软通动力的 ETL开发 .北京

面试通过

前期电话沟通了一下现...

前期电话沟通了一下现状,对方项目内容进度,工作所用工具;面试时从etl到数据仓库,从三范式到大数据优化,反正就是一直问到你不会的程度为止;过了办周左右来电话表示面试通过了;一个半月后到岗。

面试官的问题:

基础的:三范式,简单的sql,神马是BI,星型雪花模型 难点的:ETL加载策略,oracle分区索引 不会的:海量数据的优化,大概是问的几张数亿行的表做关联以及迁移问题。...查看全文

工资

该职位相关热门公司

logo

阿里巴巴

9799条信息

logo

软通动力

7955条信息

logo

埃森哲

2450条信息

logo

渣打环球商业服务有限公司

289条信息

logo

上海文思海辉

87条信息

看了该职位的还看了

网站编辑

6161条信息

C++软件工程师

3156条信息

平面设计师

13509条信息

运维工程师

9498条信息

产品专员

5434条信息

看准官方微信

关注看准官方微信

APP
看准官方APP

下载看准官方APP

找工作,下载「看准APP」

23982 位HR实时在线

举报
广告等垃圾信息
违禁信息(色情、欺诈、非法传销)
不友善内容(诽谤,人身攻击、骚扰、侵犯隐私)
违法、政治敏感内容
确认提交
举报

提交成功

感谢您的举报,我们会尽快处理~
知道了

提问

小贴士:问题描述的越清楚,越能吸引老鸟来回答哟~
0 / 30
请输入问题
0 / 300
1 / 5
  • ETL开发
热门话题:
  • 薪水福利
  • 面试笔试
  • 环境氛围
  • 工作压力
  • 求职招聘
  • 其他

向老鸟咨询

把你关于ETL开发的问题大胆的提出来,这里的1位老鸟很乐意为你解答~

写下问题吧~

所属话题:给问题添加话题有助于更快获得解答

  • 薪水福利
  • 面试笔试
  • 环境氛围
  • 工作压力
  • 求职招聘
  • 其他
0 / 30

提交成功!请静静等待老鸟们回答~

扫描二维码

分享到朋友圈,邀请微信好友帮忙解答