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

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

Hadoop生态圈中主要数据抽取工具是Sqoop。Sqoop被设计成支持在关系数据库和Hadoop之间传输数据。...Hadoop生态圈中有一个叫做Oozie工具,它是一个Hadoop工作流调度系统,可以使用它将ETL过程封装进工作流自动执行。...Hadoop生态圈中主要数据目录工具是HCatalog,它是Hadoop一个表和存储管理层。 查询引擎组件负责实际执行用户查询。...(6)扩展性 ETL工具必须要有扩展功能方法。几乎所有的ETL工具都提供了脚本,以编程方式来解决工具本身不能解决问题。另外有些ETL工具可以通过API或其它方式来为工具增加组件。...三、Kettle简介 Kettle是Pentaho公司数据整合产品,它可能是现在世界上最流行开源ETL工具,经常被用于数据仓库环境,并可用来操作Hadoop数据。

4.2K67

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

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

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

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

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

5.8K53

python ETL工具 pyetl

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

2.8K10

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

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

6K30

ETL 是什么 ETL 工具有哪些 ETL 数据交换系统

这些“干净”数据就成为了数据分析、数据挖掘基石。ETL重要性ETL是实现商务智能(Business Intelligence,BI)核心。...ETL工具有哪些datastage (收费) 最专业ETL工具, 2005年被IBM收购,目前发展到11.7版本。...ODI (收费)oracle数据库厂商提供工具,有局限性,与oracle数据库耦合太深。...kettle(免费)Kettle是一款国外开源ETL工具,纯java编写,可以在Windows、Linux、Unix上运行,数据抽取高效稳定,但学习及维护成本太高。...etl-engine (免费)用go语言实现ETL工具,轻量级引擎、跨平台(windows,linux,unix,mac)、可嵌入go语言脚本并解析执行,方便集成到各种项目中参考资料 [资源下载](

2K10

2018年ETL工具比较

提取,转换和加载(ETL工具使组织能够跨不同数据系统使其数据可访问,有意义且可用。通常,公司在了解尝试编码和构建内部解决方案成本和复杂性时,首先意识到对ETL工具需求。...对于这篇文章,我们将深入探讨现有ETL工具世界 - 它们优势和缺点 - 然后快速浏览一下现代ETL平台。 现任ETL工具概述 现有的ETL工具构成了ETL工具市场大部分 - 这是有道理。...Sybase ETL Development是一个用于创建和设计数据转换项目和作业GUI工具。该工具提供了完整仿真和调试环境,旨在加速ETL转换流程开发。...那些不断增长流媒体和其他类型数据源呢?它们不适合围绕批处理设计和构建工具集,特别是当今要求尽可能快地提供最新数据。 现代ETL工具概述 现代ETL工具套件是基于实时流数据处理和云计算而构建。...通过管道数据会发生什么变化?任何真正现代ETL平台都需要内置强大安全网来进行错误处理和报告。 受欢迎现代ETL平台和工具 这是最常见现代ETL平台和工具列表。

5.1K21

ETL工具如何实现高可用?ETL工具高可用解决方案

高可用,高并发需求一直以来都是备受关注的话题,下面以etl-engine为例说明ETL工具如何实现高可用。...使用场景为解决高可用场景,etl-crontab提供向consul进行服务注册,第三方系统可通过从consul进行服务发现来获取etl-crontab所提供服务地址。...前置条件因etl-engine与etl-crontab所涉及配置文件均以XML文件形式进行存储,所以需要将上述两种配置文件存储在数据中心共享目录下,并将该目录读写权限赋予给etl-engine和etl-crontab...etl-engine和etl-crontab均可进行多实例运行,etl-crontab启动后自动向consul进行服务注册以供第三方系统使用。...consul服务https://developer.hashicorp.com/consul/downloads部署架构图片参考资料 资源下载 etl-engine使用手册 etl-crontab

69330

ETL工具——datax 使用总结

概述 ETL(Extract-Transform-Load缩写,即数据抽取、转换、装载过程),对于企业或行业应用来说,我们经常会遇到各种数据处理,转换,迁移,所以了解并掌握一种etl工具使用,必不可少...DataX 是离线数据同步工具/平台,实现包括 MySQL、Oracle、SqlServer、Postgre、HDFS、Hive、ADS、HBase、TableStore(OTS)、MaxCompute...(ODPS)、DRDS 等各种异构数据源之间高效数据同步功能。...开源地址:https://github.com/alibaba/DataX 根据自己在使用过程中理解,总结要注意以下几个问题: ① 源端和目的端同步字段需要一 一对应; ②对应字段字段名可以不一样..." }, 数值类型字段同步写法:LONG 或者 Double { "name": "number2193854", "type": "Double" }, 数组类型字段同步写法:

1.5K20

ETL工具-Kettle Spoon教程

大家好,又见面了,我是你们朋友全栈君。 一 。...Kettle Spoon简介 ETL(Extract-Transform-Load缩写,即数据抽取、转换、装载过程),对于企业或行业应用来说,我们经常会遇到各种数据处理,转换,迁移,了解并掌握一种...etl工具使用,必不可少,支持图形化GUI设计界面,然后可以以工作流形式流转,在做一些简单或复杂数据抽取、质量检测、数据清洗、数据转换、数据过滤等方面有着比较稳定表现,使用它减少了非常多研发工作量...,提高了我们工作效率。...kettle Spoon 安装入门 1》 安装kettle spoon kettle是使用java编写 直接是绿色版 解压即可使用 解压后目录结构 lib目录 可以存放第三方jar 比如 数据库驱动包

1.6K10

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所示...此外,HiveQL支持使用别名,别名与视图在查询中作用并没有本质区别,都是为了从逻辑上区分同一个物理维度表。许多BI工具也支持在语义层使用别名。...基本维度可能作为单一物理表存在,但是每种角色应该被当成标识不同视图展现到BI工具中。

3.3K30

开源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

5.4K10

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

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

5.8K10

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

在前一篇里介绍了ETL和Kettle基本概念,内容偏重于理论。从本篇开始,让我们进入实践阶段。工欲善其事,必先利其器。...既然我们要用Kettle构建Hadoop ETL应用,那么先要做就是安装Kettle。...Kettle是跨平台,无论什么操作系统都是同一下载文件。 可以直接从浏览器中下载,或者使用终端命令行工具(如wget)下载。...与之相反,也可以给某个ETL项目设置一个特定配置目录,此时需要在运行这个ETL脚本里设置KETTLE_HOME环境变量。 下面说明每个配置文件作用。...通常是因为在转换和作业里直接或间接引用了非默认Java Class文件。 改变Java虚拟机参数,如可用内存大小。 修改图形工具包环境。

7.1K30

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

它建立在Hadoop之上,具有以下功能和特点: 通过SQL方便地访问数据,适合执行ETL、报表、数据分析等数据仓库任务。 提供一种机制,给各种各样数据格式加上结构。...HCatalog是Hadoop表和存储管理层,允许使用Pig和MapReduce等数据处理工具用户更容易读写集群中数据。...图中显示了Hadoop 1和Hadoop 2中两种MapReduce组件。...为了更好地理解Hive如何与Hadoop基本组件一起协同工作,可以把Hadoop看做一个操作系统,HDFS和MapReduce是这个操作系统组成部分,而象Hive、HBase这些组件,则是操作系统上层应用或功能.../init_etl.sh 使用下面的查询验证初始装载正确性。

2.1K20

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

三、使用Oozie定期自动执行ETL 1....第一版Oozie是一个基于工作流引擎服务器,通过执行Hadoop Map/Reduce和Pig作业动作运行工作流作业。第二版Oozie是一个基于协调器引擎服务器,按时间和数据触发工作流执行。...(2)为什么需要Oozie 在Hadoop中执行任务有时候需要把多个Map/Reduce作业连接到一起执行,或者需要多个作业并行处理。...Oozie为以下类型动作提供支持: Hadoop map-reduce、Hadoop文件系统、Pig、Java和Oozie子工作流(SSH动作已经从Oozie schema 0.2之后版本中移除了...所有由动作节点触发计算和处理任务都不在Oozie之中——它们是由HadoopMap/Reduce框架执行。这种方法让Oozie可以支持现存Hadoop用于负载平衡、灾难恢复机制。

96020

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

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

2.2K30

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

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

3.7K44
领券