学习
实践
活动
工具
TVP
写文章

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

Hadoop生态圈中的主要数据抽取工具是Sqoop。Sqoop被设计成支持在关系数据库和Hadoop之间传输数据。 Hadoop生态圈中有一个叫做Oozie的工具,它是一个Hadoop的工作流调度系统,可以使用它将ETL过程封装进工作流自动执行。 Hadoop生态圈中主要的数据目录工具是HCatalog,它是Hadoop上的一个表和存储管理层。 查询引擎组件负责实际执行用户查询。 Hadoop生态圈中比较知名的数据可视化工具是Hue和Zeppelin。 本专题的(三)Kettle对Hadoop的支持 将详细介绍如何在Kettle中使用Hadoop相关组件。 三、Kettle简介 Kettle是Pentaho公司的数据整合产品,它可能是现在世界上最流行的开源ETL工具,经常被用于数据仓库环境,并可用来操作Hadoop上的数据。

2.4K65

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

TDS库表 四、装载日期维度数据 五、小节 ---- 从本篇开始,介绍使用Kettle实现Hadoop数据仓库的ETL过程。 我们会引入一个典型的订单业务场景作为示例,说明多维模型及其相关ETL技术在Kettle上的具体实现。 例如,假如有一份由Pig或其它工具创建并且主要由这一工具使用的数据,同时希望使用Hive在这份数据上执行一些查询,可是并没有给予Hive对数据的所有权,这时就不能使用管理表了。 脚本中使用hive命令行工具的-e参数执行HiveQL语句。 #! 很多用户在Hadoop集群中使用了诸如Apache Flume、Apache Storm或者Apache Kafka进行流数据处理。这些工具每秒可能写数百行甚至更多的数据。

72310
  • 广告
    关闭

    热门业务场景教学

    个人网站、项目部署、开发环境、游戏服务器、图床、渲染训练等免费搭建教程,多款云服务器20元起。

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

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

    为了确保数据流的稳定,需要使用所在平台上可用的任务调度器来调度ETL定期执行。调度模块是ETL系统必不可少的组成部分,它不但是数据仓库的基本需求,也对项目的成功起着举足轻重的作用。 绝大多数Hadoop系统都运行在Linux之上,因此本片详细讨论两种Linux上定时自动执行ETL作业的方案。 这里建立一个内容如下的shell脚本文件regular_etl.sh,调用Kettle的命令行工具kitchen.sh执行此作业,并将控制台的输出或错误重定向到一个文件名中带有当前日期的日志文件中: # 生态圈的工具也可以完成同样的调度任务,而且更灵活,这个组件就是Oozie。 Oozie为以下类型的动作提供支持:Hadoop MapReduce、Hadoop HDFS、Pig、Java和Oozie的子工作流。

    85053

    python ETL工具 pyetl

    pyetl是一个纯python开发的ETL框架, 相比sqoop, datax 之类的ETL工具,pyetl可以对每个字段添加udf函数,使得数据转换过程更加灵活,相比专业ETL工具pyetl更轻量,纯 lambda x: x.strip()} Task(reader, writer, columns=columns, functions=functions).start() 继承Task类灵活扩展ETL HiveWriter 批量插入hive表 HiveWriter2 Load data方式导入hive表(推荐) FileWriter 写入数据到文本文件 项目地址pyetl 总结 到此这篇关于python ETL 工具 pyetl的文章就介绍到这了,更多相关python ETL工具 pyetl内容请搜索ZaLou.Cn以前的文章或继续浏览下面的相关文章希望大家以后多多支持ZaLou.Cn!

    1.4K10

    2018年ETL工具比较

    提取,转换和加载(ETL工具使组织能够跨不同的数据系统使其数据可访问,有意义且可用。通常,公司在了解尝试编码和构建内部解决方案的成本和复杂性时,首先意识到对ETL工具的需求。 在选择合适的ETL工具时,您有几种选择。您可以尝试组装开源ETL工具以提供解决方案。这种方法适用于某些情况,但公司经常发现自己需要更多 - 更多功能/特性,更多灵活性和更多支持。 对于这篇文章,我们将深入探讨现有ETL工具的世界 - 它们的优势和缺点 - 然后快速浏览一下现代ETL平台。 现任ETL工具概述 现有的ETL工具构成了ETL工具市场的大部分 - 这是有道理的。 它们不适合围绕批处理设计和构建的工具集,特别是当今要求尽可能快地提供最新数据。 现代ETL工具概述 现代ETL工具套件是基于实时流数据处理和云计算而构建的。 任何真正现代的ETL平台都需要内置强大的安全网来进行错误处理和报告。 受欢迎的现代ETL平台和工具 这是最常见的现代ETL平台和工具的列表。

    3.9K21

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

    Sqoop优化 (1)调整Sqoop命令行参数 (2)调整数据库 四、小结 ---- 本篇介绍如何利用Kettle提供的转换步骤和作业项实现Hadoop数据仓库的数据抽取,即ETL过程中的 Hadoop生态圈中的Sqoop工具可以直接在关系数据库和HDFS或Hive之间互导数据,而Kettle支持Sqoop输入、输出作业项。 (1)处理文本文件 文本文件可能是使用ETL工具处理的最简单的一种数据源,读写文本文件没有太多技巧。文本文件易于交换,压缩比较高,任何文本编辑器都可以用于打开文本文件。 在“Kettle构建Hadoop ETL实践(一):ETL与Kettle”里介绍Kettle虚拟文件系统时,我们知道了Kettle使用Apache的通用VFS作为文件处理接口,能够直接读取zip压缩包中的多个文件 Sqoop是一个在Hadoop与结构化数据存储,如关系数据库之间高效传输大批量数据的工具,支持全量和增量数据抽取。

    1.3K20

    Kettle构建Hadoop ETL实践(三):Kettle对Hadoop的支持

    一、Hadoop相关的步骤与作业项 在“ETL与Kettle”(https:wxy0327.blog.csdn.netarticledetails107985148)的小结中曾提到,Kettle具有完备的转换步骤与作业项 在Hadoop集群内部执行时,Kettle转换可以作为Mapper或Reducer任务执行,并允许将Pentaho MapReduce作业项作为MapReduce的可视化编程工具来使用。 Kettle内建的工具可以为完成这些工作提供帮助。(1)开始前准备 在配置连接前,要确认Kettle具有访问HDFS相关目录的权限,访问的目录通常包括用户主目录以及工作需要的其它目录。 选择Active Shim 在Spoon界面中,选择主菜单“工具” -> “Hadoop Distribution...” 从下一篇开始,我们将建立一个模拟的Hadoop数据仓库,并用使用Kettle完成其上的ETL操作。

    2.1K20

    ETL工具——datax 使用总结

    概述 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种etl工具的使用,必不可少 DataX 是离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute

    67420

    ETL工具-Kettle Spoon教程

    Kettle Spoon简介 ETL(Extract-Transform-Load的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,了解并掌握一种 etl工具的使用,必不可少,支持图形化的GUI设计界面,然后可以以工作流的形式流转,在做一些简单或复杂的数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定的表现,使用它减少了非常多的研发工作量

    12310

    开源ETL工具之Kettle介绍

    What 起源 Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1。 总之,Kettle可以简化数据仓库的创建,更新和维护,使用Kettle可以构建一套开源的ETL解决方案。 架构 Kettle是一个组件化的集成系统,包括如下几个主要部分: 1.Spoon:图形化界面工具(GUI方式),Spoon允许你通过图形界面来设计Job和Transformation,可以保存为文件或者保存在数据库中 5.Encr:Kettle用于字符串加密的命令行工具,如:对在Job或Transformation中定义的数据库连接参数进行加密。 ? Why 组件对比 目前,ETL工具的典型代表有: 商业软件:Informatica PowerCenter,IBM InfoSphere DataStage,Oracle Data Integrator

    3.2K10

    kettle工具使用教程_开源etl工具kettle

    kettle工具使用简明手册 运行启动脚本spoon.bat快捷方式 如果正确启动,则出现的主界面应该是下面这样的。

    14240

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

    ---- 前面文章中,我们用Kettle工具实现了Hadoop多维数据仓库的基本功能,如使用Sqoop作业项、SQL脚本、Hadoop file output、ORC output等步骤实现ETL过程, 使用Oozie、Start作业项定期执行ETL任务等。 除了利用已有的日期维度数据生成月份维度,我们还可以一次性生成日期维度和月份维度数据,只需对“Kettle构建Hadoop ETL实践(四):建立ETL示例模型()”中图4-4的转换稍加修改,如图8-5所示 许多BI工具也支持在语义层使用别名。但是,如果有多个BI工具,连同直接基于SQL的访问,都同时在组织中使用的话,不建议采用语义层别名的方法。 基本维度可能作为单一物理表存在,但是每种角色应该被当成标识不同的视图展现到BI工具中。

    48630

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

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

    60310

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

    在前一篇里介绍了ETL和Kettle的基本概念,内容偏重于理论。从本篇开始,让我们进入实践阶段。工欲善其事,必先利其器。 既然我们要用Kettle构建Hadoop ETL应用,那么先要做的就是安装Kettle。 可以直接从浏览器中下载,或者使用终端命令行工具(如wget)下载。 与之相反,也可以给某个ETL项目设置一个特定的配置目录,此时需要在运行这个ETL的脚本里设置KETTLE_HOME环境变量。 下面说明每个配置文件的作用。 修改图形工具包环境。

    2K30

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

    因此,输入数据仓库的数据通常是当前层次树的时间点快照,这就需要由ETL过程来确定发生了哪些变化,以便正确记录历史信息。为了检测出过时的父—子关系,必须通过孩子键进行查询,然后将父亲作为结果返回。 (3)树的展开 有些BI工具的前端不支持递归,这时递归层次树的数据交付技术就是“展开”(explode)递归树。 对于数据流的多行输入,尤其在Hive这类Hadoop上的数据库上执行这些步骤,将会慢到无法容忍的地步。 在开发ETL系统时,ETL开发小组可以向业务用户询问有关忽略这些标志的必要问题,如果它们是微不足道的。但是这样的方案通常立即就被否决了,因为有人偶尔还需要它们。 处理这些新增的维度表和外键需要大量修改数据装载脚本,还会增加出错的机会,同时会给ETL的开发、维护、测试过程带来很大的工作量。

    37420

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

    由于本示例中Kettle在Hadoop上的ETL实现依赖于Hive,所以之后对Hive做一个概括的介绍,包括它的体系结构、工作流程和优化。 在“Kettle构建Hadoop ETL实践(四):建立ETL示例模型”中,我们建立了Hive库表以存储销售订单示例的过渡区和数据仓库数据,并介绍了Hive支持的文件格式、表类型以及如何支持事务处理。 Kettle处理Hadoop ETL依赖于Hive,因此有必要系统了解一下Hive的基本概念及其体系结构。 HCatalog是Hadoop的表和存储管理层,允许使用Pig和MapReduce等数据处理工具的用户更容易读写集群中的数据。 使用cleardanglingscratchdir工具能够删除挂起的临时目录。如果此参数为false,则不会建立锁文件,cleardanglingscratchdir工具也不能删除任何挂起的临时目录。

    66244

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

    集群转换中的分区 五、小结 ---- 本专题前面系列文章详细说明了使用Kettle的转换和作业,实现Hadoop上多维数据仓库的ETL过程。 通常Hadoop集群存储的数据量是TB到PB,如果Kettle要处理如此多的数据,就必须考虑如何有效使用所有的计算资源,并在一定时间内获取执行结果。 文件中的密码可以利用Kettle自带的Encr工具来混淆。 /carte.sh ~/kettle_hadoop/master.xml (4)启动子服务器 . 由于数据集成工具需要支持各种分区技术,所以Kettle中的分区被设计成与源数据和目标数据无关。

    57750

    ETL产品、ETL工具、E T L技术 三者啥关联?

    2、ETL工具ETL(orELT)的流程可以用任何的编程语言去开发完成,由于ETL是极为复杂的过程,而手写程序不易管理,有愈来愈多的企业采用工具协助ETL的开发,针对某固有行业需求用或写存储或写SQL 实现,也可称之为ETL工具。 3、ETL产品—与ETL技术、ETL工具对比,产品中最大区别不仅有成熟物品还有服务。 所以必须满足以下三要素,方可称之为ETL产品:包含有: ①一套成熟 数据集成工具 ②一套成熟 数据集成实施方法 ③一支足够强有力的 执行技术团队 三、诞生时间、缘由、过程 ETL技术: 跟随数据库诞生而诞生 购买商用ETL产品,采购重点是成熟自研工具和服务的综合体! 如:Informatica 北京灵蜂Beeload &BeeDI

    54310

    【开源】etl作业调度工具性能综合对比

    最近遇到了很多正在研究ETL及其工具的伙伴向我们抱怨:同样都在用 Kettle ,起点明明没差异,但为什么别人ETL做的那么快那么好,自己却不断掉坑? 今天我们就先对其中一个比较火热的“App”——调度工具,做一个简单的评测对比,帮助大家快速解锁用开源工具ETL 的新姿势。 为什么需要调度系统? 开局我们先扫盲。 它有如下功能特点: 统一调度hadoop系统常见的mr任务启动,hdfs操作,shell调度,hive操作等; 让复杂的依赖关系,时间触发,事件触发使用xml语言进行表达,开发效率增高(这个不一定,个人很讨厌 xml,我觉得效率不高…); 一组任务使用一个DAG表示,使用图形表达,流程清晰; 支持多种任务调度,能完成大部分的hadoop任务; 程序定义支持EL常量和函数,表达丰富; Oozie规定在完成工作后发送电子邮件通知 当然taskctl不仅仅是一个功能全面的工作流调度工具,作为一个一站式大数据平台,它同时涵盖以下功能,无论是简单的 ETL 工作,还是复杂的数据中台构建工作,使用taskctl都可以完成。

    1.1K20

    扫码关注腾讯云开发者

    领取腾讯云代金券