首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Kettle构建Hadoop ETL实践(一):ETL与Kettle

例如,使用Sqoop从关系数据库全量或增量抽取数据到Hadoop系统,使用Hive进行数据转换装载处理等等。...Hadoop生态圈中的主要数据抽取工具是Sqoop。Sqoop被设计成支持在关系数据库Hadoop之间传输数据。...Hadoop生态圈中有一个叫做Oozie的工具,它是一个Hadoop的工作流调度系统,可以使用它将ETL过程封装进工作流自动执行。...Hadoop生态圈中主要的数据目录工具是HCatalog,它是Hadoop上的一个表存储管理层。 查询引擎组件负责实际执行用户查询。...Hadoop生态圈中比较知名的数据可视化工具是HueZeppelin。 本专题的(三)Kettle对Hadoop的支持 将详细介绍如何在Kettle中使用Hadoop相关组件。

4.4K78

Kettle构建Hadoop ETL实践(四):建立ETL示例模型

TDS库表 四、装载日期维度数据 五、小节 ---- 从本篇开始,介绍使用Kettle实现Hadoop数据仓库的ETL过程。...ETL处理时间周期为每天一次,事实表中存储最细粒度的订单事务记录。 (3)确认维度。显然产品客户是销售订单的维度。...二、HIVE相关配置 在“数据仓库架构中的ETL”曾经提到Hive可以用于原始数据转换后的数据仓库数据存储。使用Hive作为多维数据仓库的主要挑战是处理渐变维(SCD)生成代理键。...在后面“数据转换与装载”中将说明渐变维的概念Hive中生成代理键的方法。 1. 选择文件格式 Hive是Hadoop上的数据仓库组件,便于查询管理分布式存储上的大数据集。...,有org.apache.hadoop.hive.ql.lockmgr.DummyTxnManagerorg.apache.hadoop.hive.ql.lockmgr.DbTxnManager两种取值

2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Kettle构建Hadoop ETL实践(七):定期自动执行ETL作业

绝大多数Hadoop系统都运行在Linux之上,因此本片详细讨论两种Linux上定时自动执行ETL作业的方案。...Oozie为以下类型的动作提供支持:Hadoop MapReduce、Hadoop HDFS、Pig、JavaOozie的子工作流。...所有由动作节点触发的计算处理任务都不在Oozie中运行。它们是由Hadoop的MapReduce框架执行的。这种低耦合的设计方法让Oozie可以有效利用Hadoop的负载平衡、灾难恢复等机制。...我们的ETL工作流中使用了SqoopHive两种。okerror是动作节点预定义的两个XML元素,它们通常被用来指定动作节点执行成功或失败时的下一步跳转节点。这些元素在Oozie中被称为转向元素。...Oozie是一个管理Hadoop作业、可伸缩、可扩展、可靠的工作流调度系统,它内部定义了三种作业:工作流作业、协调器作业Bundle作业。 Oozie的工作流定义中包含控制节点动作节点。

5.9K53

Kettle构建Hadoop ETL实践(五):数据抽取

Sqoop优化 (1)调整Sqoop命令行参数 (2)调整数据库 四、小结 ---- 本篇介绍如何利用Kettle提供的转换步骤作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的...Hadoop生态圈中的Sqoop工具可以直接在关系数据库HDFS或Hive之间互导数据,而Kettle支持Sqoop输入、输出作业项。...在“Kettle构建Hadoop ETL实践(一):ETL与Kettle”里介绍Kettle虚拟文件系统时,我们知道了Kettle使用Apache的通用VFS作为文件处理接口,能够直接读取zip压缩包中的多个文件...}分别表示ETL系统中记录的最后一次数据装载时间最大自增序列号。...Sqoop是一个在Hadoop与结构化数据存储,如关系数据库之间高效传输大批量数据的工具,支持全量增量数据抽取。

6.2K30

Kettle构建Hadoop ETL实践(八-1):维度表技术

ETL过程,使用Oozie、Start作业项定期执行ETL任务等。...图8-2 在“Hadoop file output”步骤中添加order_quantity字段 修改数据库模式后,还要修改装载维度表装载事实表的作业项,增加对新增数据列的处理...除了利用已有的日期维度数据生成月份维度,我们还可以一次性生成日期维度月份维度数据,只需对“Kettle构建Hadoop ETL实践(四):建立ETL示例模型()”中图4-4的转换稍加修改,如图8-5所示...“JavaScript代码”步骤的输出被复制到“Hadoop file output”、“排序记录”两个步骤。 一致性日期月份维度是用于展示行列维度子集的独特实例。...我们先修改销售订单数据库模式,添加一个请求交付日期字段,并对Kettle ETL作业做相应的修改。这些表结构修改好后,插入测试数据,演示别名视图在角色扮演维度中的用法。

3.4K30

Kettle构建Hadoop ETL实践(二):安装与配置

在前一篇里介绍了ETLKettle的基本概念,内容偏重于理论。从本篇开始,让我们进入实践阶段。工欲善其事,必先利其器。...既然我们要用Kettle构建Hadoop ETL应用,那么先要做的就是安装Kettle。...这里要讨论的是在Linux系统而不是Windows上安装Kettle,原因有如下两点: 用户权限问题 Windows上运行的Kettle在连接Hadoop集群时,需要在HDFS上建立Windows...否则在测试Hadoop集群连接时,User Home Directory AccessVerify User Home Permissions会报错。...与之相反,也可以给某个ETL项目设置一个特定的配置目录,此时需要在运行这个ETL的脚本里设置KETTLE_HOME环境变量。 下面说明每个配置文件的作用。

7.3K30

Kettle构建Hadoop ETL实践(九):事实表技术

二是“Hadoop file output”步骤生成的文件名中添加${PRE_DATE}变量以实现增量装载。 4. 测试定期装载作业 (1)修改源数据库的产品表数据。...当同时拥有事实记录正确的当前维度行时,就能够从容地首先维护维度键,然后在对应的事实表行中使用这些最新的键。然而,各种各样的原因会导致需要ETL系统处理迟到的事实数据。...本例中因为定期装载的是前一天的数据,所以这里的“晚于”指的是事务数据延迟两天及其以上才到达ETL系统。 必须对标准的ETL过程进行特殊修改以处理迟到的事实。...“Hadoop file output”步骤将查询结果输出到month_end_balance_fact表所对应的HDFS目录。...迟到的事实指的是到达ETL系统的时间晚于事务发生时间的度量数据。必须对标准的ETL过程进行特殊修改以处理迟到的事实。需要确定事务发生时间点的有效的维度代理键,还要调整后续事实行中的所有半可加度量。

5.8K10

Kettle构建Hadoop ETL实践(十):并行、集群与分区

集群转换中的分区 五、小结 ---- 本专题前面系列文章详细说明了使用Kettle的转换作业,实现Hadoop上多维数据仓库的ETL过程。...通常Hadoop集群存储的数据量是TB到PB,如果Kettle要处理如此多的数据,就必须考虑如何有效使用所有的计算资源,并在一定时间内获取执行结果。...一、数据分发方式与多线程 在“Kettle与Hadoop(一)Kettle简介”中,我们知道了转换的基本组成部分是步骤,而且各个步骤是并行执行的。.../carte.sh ~/kettle_hadoop/slave1.xml 命令执行在控制台输出的最后信息如下,表示子服务器已经启动成功。.../carte.sh ~/kettle_hadoop/master.xml (4)启动子服务器 .

1.7K51

Kettle构建Hadoop ETL实践(八-2):维度表技术

因此,输入数据仓库的数据通常是当前层次树的时间点快照,这就需要由ETL过程来确定发生了哪些变化,以便正确记录历史信息。为了检测出过时的父—子关系,必须通过孩子键进行查询,然后将父亲作为结果返回。...对于数据流的多行输入,尤其在Hive这类Hadoop上的数据库上执行这些步骤,将会慢到无法容忍的地步。...(1)忽略这些标志指标。 姑且将这种回避问题的处理方式也算作方法之一吧。在开发ETL系统时,ETL开发小组可以向业务用户询问有关忽略这些标志的必要问题,如果它们是微不足道的。...处理这些新增的维度表外键需要大量修改数据装载脚本,还会增加出错的机会,同时会给ETL的开发、维护、测试过程带来很大的工作量。...“装载年度销售事实表”、“装载年度客户销售分段事实表”两个转换都只包含“表输入”Hadoop file output”两个步骤,区别只是SQL查询语句输出的HDFS文件不同。

2.3K30

Kettle构建Hadoop ETL实践(六):数据转换与装载

由于本示例中Kettle在Hadoop上的ETL实现依赖于Hive,所以之后对Hive做一个概括的介绍,包括它的体系结构、工作流程优化。...而差异数据,则需要协调ETL开发者与来自多个不同业务系统的人员共同确认参照标准,然后在ETL系统中建立一系列必要的方法手段实现数据一致性标准化。 2....因此在ETL过程中应该首先处理HR表映像表。 数据清洗在实际ETL开发中是不可缺少的重要一步。...在“Kettle构建Hadoop ETL实践(四):建立ETL示例模型”中,我们建立了Hive库表以存储销售订单示例的过渡区和数据仓库数据,并介绍了Hive支持的文件格式、表类型以及如何支持事务处理。...它建立在Hadoop之上,具有以下功能特点: 通过HiveQL方便地访问数据,适合执行ETL、报表查询、数据分析等数据仓库任务。 提供一种机制,给各种各样的数据格式添加结构。

3.9K44

ETL是什么_ETL平台

因此,企业仍然没有最大化地利用已存在的数据资源,以至于浪费了更多的时间资金,也失去制定关键商业决策的最佳契机。...目标源可能包括ERP、CRM其他企业系统,以及来自第三方源的数据。...---- 3、数据转换处理规范 数据转换的任务主要是进行不一致的数据转换、数据粒度的转换一些商务规则的计算。...一般数据转换有离散化属性构造两种方式。离散化主要分为简单离散、分桶离散、聚类离散、回归平滑四类,属性构造分为特征工程随意构造后筛选。...出现以上问题时,可以团队小伙伴或者业务侧一起制定解决方案,不断完善,只有这样才能保证我们的业务分析结果是准确的,才能指导公司做出正确的决策。

1.9K31

基于Hadoop生态圈的数据仓库实践 —— ETL(三)

三、使用Oozie定期自动执行ETL 1....第一版Oozie是一个基于工作流引擎的服务器,通过执行Hadoop Map/ReducePig作业的动作运行工作流作业。第二版Oozie是一个基于协调器引擎的服务器,按时间和数据触发工作流执行。...控制节点会定义执行的流程,并包含工作流的起点终点(start、endfail节点)以及控制工作流执行路径的机制(decision、forkjoin节点)。...Oozie为以下类型的动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、JavaOozie的子工作流(SSH动作已经从Oozie schema 0.2之后的版本中移除了...所有由动作节点触发的计算处理任务都不在Oozie之中——它们是由Hadoop的Map/Reduce框架执行的。这种方法让Oozie可以支持现存的Hadoop用于负载平衡、灾难恢复的机制。

97120

基于Hadoop生态圈的数据仓库实践 —— ETL(二)

它建立在Hadoop之上,具有以下功能特点: 通过SQL方便地访问数据,适合执行ETL、报表、数据分析等数据仓库任务。 提供一种机制,给各种各样的数据格式加上结构。...Hive有HCatalogWebHCat两个组件。 HCatalog是Hadoop的表存储管理层,允许使用PigMapReduce等数据处理工具的用户更容易读写集群中的数据。...Hive建立在Hadoop的分布式文件系统(HDFS)MapReduce系统之上。图中显示了Hadoop 1Hadoop 2中的两种MapReduce组件。...在Hadoop 2中,YARN将资源管理调度从MapReduce框架中解耦。...为了更好地理解Hive如何与Hadoop的基本组件一起协同工作,可以把Hadoop看做一个操作系统,HDFSMapReduce是这个操作系统的组成部分,而象Hive、HBase这些组件,则是操作系统的上层应用或功能

2.1K20

你真的了解ELTETL吗?

ETL ELT 有很多共同点,从本质上讲,每种集成方法都可以将数据从源端抽取到数据仓库中,两者的区别在于数据在哪里进行转换。...接下来,我们一起详细地分析一下 ETL ELT各自的优缺点,看看在你们现在的业务中用哪种方式处理数据比较合适。...03 ELT的演变 ELT 已经存在了一段时间,但 Hadoop 等大数据技术出现后,更加活跃了。...抽取——在ELTETL两种数据管理方法中的原理相似。一般我们会采用增量抽取,对于一些维表数据量比较小的也会采用全量抽取。 加载——这是 ELT ETL 开始不同的地方了。...当需要随时可扩展数据湖仓时 当您使用 Hadoop 或云数据仓库等数据处理引擎时,ELT 可以利用本机处理能力实现更高的可扩展性。

98320

基于Hadoop生态圈的数据仓库实践 —— ETL(一)

Sqoop简介 Sqoop是一个在Hadoop与结构化数据存储(如关系数据库)之间高效传输大批量数据的工具。它在2012年3月被成功孵化,现在已是Apache的顶级项目。...数据传输转化都由Mappers提供。 可以使用Oozie调度管理Sqoop作业。...而ETL通常是按一个固定的时间间隔,周期性定时执行的,因此对于整体拉取的方式而言,每次导入的数据需要覆盖上次导入的数据。Sqoop中提供了hive-overwrite参数实现覆盖导入。...设想这样的场景,一个销售订单的订单时间是2015年1月1日,实际插入表里的时间是2015年1月2日,ETL每天0点执行,抽取前一天的数据。...如果按order_date抽取数据,条件为where order_date >= '2015-01-02' AND order_date < '2015-01-03',则2015年1月3日0点执行的ETL

1.6K20

ETL

但多个ETL的操作时间、顺序成败对数据仓库中信息的有效性至关重要。   ...在整个项目中最难部分是用户需求分析模型设计,而ETL规则设计实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。   ...数据集成:快速实现ETL   ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性可获取性等几个特性。...Meta data management 提供一个关于ETL设计运行处理等相关定义、管理信息的元数据资料库。ETL引擎在运行时其它应用都可参考此资料库中的元数据。   ...Administration and operation 可让管理员基于事件时间进行调度、运行、监测ETL作业、管理错误信息、从失败中恢复调节从源系统的输出。

6.5K32

谈谈ETL

ETL绝不是三个单词直译这么简单,三个数据环节紧密连接构成体系庞大、技术复杂度的数据生态系统。...抽取的关键是为了实现多数据源的数据集成,把业务库、埋点日志、爬虫、文件等源数据,通过数据同步工具比如sqoop 、Datax等,实现了多源的大量数据的快照同步,增量同步及拉链同步等 将数据集成到hadoop...基于E阶段数据集中到数据平台,我们通过范式来实现数据的建模,目前应用比较广的是多维建模,通过维度事实构建数据的关系。...四,数据角色来自ETL分工 围绕ETL 的不同阶段,工程师按岗位分工也是不同的。...数仓开发工程师,主要工作是构建数据的组织管理,构建数仓体系。常用SQL来处理数据,承接业务取数看数的需求。

2.2K50
领券