KETTLE并行】的更多相关文章

1.转换的并行 转换的并行是改变复制的数量 上面的转换相当于下面的: 实际是把一个任务拆成三部分执行,相当于在一个数据库连接中做了三次查询,数据库连接的开销没有增加,但是有三个进程一起执行. 2.job的并行执行 只需要在"START"设置即可. 建议:将job的条目都做成子job.(To do this, we suggest you wrap up the parallel work in a separate Job.) 注意,并行执行时,job条目不会按顺序执行,所以有依赖性的…
第一部分:开始 1         ETL入门 1.1   OLTP和数据仓库对比 1.2   ETL是什么 1.2.1          ETL解决方案的演化过程 1.2.2          ETL基本构成 1.3   ETL.ELT和EII 1.3.1          ETL 1.3.2          EII:虚拟数据整合 1.4   数据整合面临的挑战 1.4.1          方法论:敏捷BI 1.4.2          ETL设计 1.4.3          获取数据…
ETL和Kettle简介     ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它是构建数据仓库的重要环节.数据仓库是面向主题的.集成的.稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程.数据仓库系统中有可能存在着大量的噪声数据,引起的主要原因有:滥用缩写词.惯用语.数据输入错误.重复记录.丢失值.拼写变化等.即便是一个设计和规划良好的数据库系统,如果其中存在着大量的噪声数据,那么这个系统也是没有任何意义的,因为“垃圾进,垃圾出”(ga…
网上搜集了一些关于开源数据交换工具Kattle的文章,特收藏例如以下: 文章一:ETL和Kettle简单介绍 ETL即数据抽取(Extract).转换(Transform).装载(Load)的过程.它是构建数据仓库的重要环节.数据仓库是面向主题的.集成的.稳定的且随时间不断变化的数据集合,用以支持经营管理中的决策制定过程.数据仓库系统中有可能存在着大量的噪声数据,引起的主要原因有:滥用缩写词.惯用语.数据输入错误.反复记录.丢失值.拼写变化等.即便是一个设计和规划良好的数据库系统,假设当中存在着…
1.阿里开源软件:DataX DataX 是一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高效的数据同步功能.(摘自百科) 2.Apache开源软件:Sqoop Sqoop(发音:skup)是一款开源的工具,主要用于在HADOOP(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Post…
参考书籍:Pentaho Kettle Solutions中文版.由于最近不断的使用kettle,随着不断深入使用,遇到的问题越来越多,发现脑子那点货根本不够用,所以根据阅读把一些概念记录一下,方便自己观看,也希望读看到帖子的有所帮助. 1.转换.Kettle在运行转换的时候,根据用户的设置,可以将数据以不同的方式发送到多个数据流中.注意:有两种基本发送方式,即分发和复制,分发类似于发扑克牌,以轮流的方式将每行数据只发给一个数据流.复制是将一行数据发给所有数据流. 2.转换.转换以并行的方式执行…
背景:在使用kettle 6进行大量数据并行抽取时,偶尔会出现「Unknown error in KarafBlueprintWatcher」的错误,详细的报错信息可以查看下面的代码块. ERROR: Bundle pentaho-big-data-api-runtimeTest [76] Error starting mvn:pentaho/pentaho-big-data-api-runtimeTest/6.1.0.1-196 (org.osgi.framework.BundleExcept…
2概述 设计模块最主要的操作分为: 转换和作业 选择转换和作业后就可以选择对应主对象树和核心对象 主对象树大同小异 核心对象是不同的 比如转换需要用到的CSV表输入, 表输入等都在这里可以选择 而作业的核心对象是: 2.1 转换 转换是ETL解决方案中最主要的部分, 它处理抽取.转换.加载各阶段各中对数据行的操作.转换1/N个步骤. 如图, 下面是一个转换的过程 图中每个框都是一个步骤(step),而连接框的线就是所谓的跳(hop). 跳定义了一个单向通道, 允许数据由一个通道向另一个通道移动.…
转自萤火的萤 最近在用kettle迁移数据,从对kettle一点不会到比较熟悉,对于期间的一些问题和坑做了记录和总结,内容涵盖了使用的经验和技巧,踩到的坑.最佳实践和优化前后结果对比. 常用转换组件 计算形成新字段:只限算术运算,并且选择固定过滤记录:元表某字段按照某个条件分流,满足条件的到一个表,不满足的到另一个表,这两个目标表都必须有.Switch/Case:和过滤记录类似,可以多个条件判断,并且有默认转向条件,可以完美替换过滤记录组建记录分组:group by 组建未能正常按照预期理解运行…
公司项目使用kettle重构之前的取数,先研究下日常的使用. 一.建立数据转换,表数据到表输出,其中表输入数据来自其他业务数据库,通过输入sql执行得到数据. 表输入: 表输出: 设置并行4个线程. 二.建立变量的转换 获取系统信息,获取时间参数. 2字段选择,选择字段并修改得到数据的格式 3设置变量.使用上步骤获取的字段设置变量 三.建立job 并选择两段转换执行得到需要的数据. 注意:kettle使用并行执行,所以变量必须在前面的转换已经做完的基础上在使用.…
大家都知道,每个ETL工具都用不同的名字来区分不同的组成部分.kettle也不例外. 比如,在 Kettle的四大不同环境工具 本博客,是立足于kettle工具的设计模块的概念介绍. 1.转换 转换(transformation)是ETL解决方案中最主要的部分,它处理(抽取.转换.加载各阶段)各种对数据行的操作.转换包括一个或多个步骤(step),如读取文件.过滤输出行.数据清洗或将数据加载到数据库. 转换里的步骤通过跳(hop)来连接,跳定义了一个单向通道,允许数据从一个步骤向另一个步骤流动.…
ETL效率优化 开启数据库日志记录及性能监控 如果我们想要优化一个ETL(KTR或者KJB)的性能,我们首先需要知道的就是它的瓶颈在哪里.而这些信息一般只能在ETL运行的步骤度量中看到,并且是不会持久化的.如果你希望把一些数据记录下来,帮助以后进行查阅,那么可以开启数据库日志和性能监控. 作业 Edit -> Settings -> Log 具体设置过程就不细讲了,很简单. 转化 Edit -> Settings -> Logging 这时开启了日志记录,还需要设置性能监控 Edi…
一.Sqoop主要特点: 1.可以将关系型数据库中的数据导入到hdfs,hive,hbase等hadoop组件中,也可以将hadoop组件中的数据导入到关系型数据库中: 2.sqoop在导入导出数据时,充分采用了map-reduce计算框架(默认map数为4),根据输入条件生成一个map-reduce作业(只有map,没有reduce),在hadoop集群中运行.采用map-reduce框架同时在多个节点进行import或者export操作,熟读比单节点运行多个并行效率高,同时提供了良好的并发性…
返回目录 题目有点意思,大家都知道Dictionary<K,V>不是线程安全的类型,而List<T>是线程安全的吗?在今天之前大叔没有去测试过,而就在今天也是一个VIP问我,说在我的代码中使用了并行,然后为一个List赋值,说的直接一点就是:List元素是全局的,在各个线程里分别去操作它,测试数据是1万条,而在测试结果之后,我发展List元素最终的数组是9000多条,也就是说被并发了几千条数据,呵呵,下面咱们看一下源代码吧! 测试代码: [TestMethod] public vo…
关于Parallel我也不细说了,一则微软封装的很好用,二来介绍这个的遍地都是. 我要说的是,要想成为一个优秀的标题党,一定要把重点放到别的地方,为了节省大家阅读时间,我先把结论说了,然后再慢慢从头说,愿意往下看的可以看看因果,不愿意看的,也算咱给大家提个醒吧. 结论就是,大家在做单元测试用例的时候一定要用心,这篇随笔是要检讨并警醒下自己并与大家共勉. 据一些我不记得名字的国外权威专家,据说是测试大师级人物研究,测试用例的出现的错误并不比被测试的代码少,我相信大多数人会和我类似,在写代码的时候小…
标题的名称定义不知道是否准确,不过我想表达的意思就是使用Task特性来同时请求多个不同的接口,然后合并数据:我想这种场景的开发对于对接过其他公司接口的人不会陌生,本人也是列属于之内,更多的是使用最原始的异步委托的方法去处理,今天抽空写了一个使用4.5新特性Task来处理这种场景:各位看客有什么疑问或者好的建议及分享请博客通知,谢谢. A.项目结构图 B.namespace Pm.V.PM_BLL下面的BaseClass定义如下: public abstract class BaseClass {…
本随笔续接:.NET 实现并行的几种方式(三) 八.await.async - 异步方法的秘密武器 1) 使用async修饰符 和 await运算符 轻易实现异步方法 前三篇随笔已经介绍了多种方式.利用多线程.充分利用多核心CPU以提高运行效率.但是以前的方式在WebAPI和GUI系统上. 使用起来还是有些繁琐,尤其是在需要上下文的情况下.而await/async就是在这样的情况下应运而生,并且它可以在理论上让CPU跑到100%. async修饰符:它用以修饰方法.lambda表达式.匿名方法,…
本随笔续接:.NET 实现并行的几种方式(二) 在前两篇随笔中,先后介绍了 Thread .ThreadPool .IAsyncResult (即 APM系列) .Task .TPL (Task Parallel Library). 写到这些笔者突然意识到 还有一个EMP系列没有写,在这里补充一下: 六. EAP .EAP中的典型代表是 WebClient: EAP系列采用 ***Async方法 + ***Completed事件 的编码规范,不做太多解释.具体的demo如下: var addre…
本随笔续接:.NET 实现并行的几种方式(一) 四.Task 3)Task.NET 4.5 中的简易方式 在上篇随笔中,两个Demo使用的是 .NET 4.0 中的方式,代码写起来略显麻烦,这不 .NET 4.5提供了更加简洁的方式,让我们来看一下吧. /// <summary> /// Task.NET 4.5 中的简易方式 /// </summary> public void Demo3() { Task.Run(() => { SetTip("简洁的代码&qu…
1.开发背景 在web项目中,经常会需要查询数据导出excel,以前比较常见的就是用poi.使用poi的时候也有两种方式,一种就是直接将集合一次性导出为excel,还有一种是分批次追加的方式适合数据量较大的情况.poi支持xls和xlsx,使用2003版本的只支持6万多行以下的数据量,使用2007版本的支持百万行.但是呢,当数据量大了之后这种方式却非常耗内存和时间. 接触了etl之后就想着用kettle来做导数据,经过测试是完全可行的.几十万行,一百万行都能快速导出来,代码也非常简单.   2.…
Kettle是一个开园ETL工具,做数据仓库用Spoon. 工具:下载Spoon,解压即可用   1.认识常用组件:     表输入     插入\更新     数据同步     文本文件输出     更新     自动文档输出     表输出       列转行     增加常量     增加序列     排序记录     行转列     过滤记录     数据库连接       合并记录     排序合并     记录关联(笛卡尔输出)     记录集连接       分组     在内存中…
1.并行-异步(ST1与ST2抢占资源) 1-1).获取 并行(全局)队列 ,DISPATCH_QUEUE_PRIORITY_DEFAULT 为默认优先级. dispatch_queue_t queue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT , 0); 1-2).创建异步事件. dispatch_async(queue, ^{ //do something 1 }); dispatch_async(queue, ^…
许多有经验的数据库开发或者DBA都曾经头痛于并行查询计划,尤其在较老版本的数据库中(如sqlserver2000.oracle 7.mysql等).但是随着硬件的提升,尤其是多核处理器的提升,并行处理成为了一个提高大数据处理的高效方案尤其针对OLAP的数据处理起到了很好的作用. 充分高效地利用并行查询需要对调度.查询优化和引擎工作等有一个比较好的了解,但是针对一般场景的应用我们只需要如何常规使用即可,这里也就不深入描述了,感兴趣可以一起讨论. 那么这里我就简单介绍下SQLServer中并行的应用…
写的MPI程序需要用到并行IO来操作文件,但是搜遍了度娘都没有找到多少关于并行IO函数的使用方法.最后在知网搜到了一些有用的论文,看了一下,感觉豁然开朗. MPI-1对文件的操作是使用绑定语言的函数调用来进行的,通常采用的是串行IO的读写方式,一般情况下是用一个主进程打开文件和读取数据,然后分发给其他进程来处理,这种串行IO数据的通信量很大.效率较低.MPI-2实现了并行IO,允许多个进程同时对文件进行操作,从而避免了文件数据在不同进程间的传送,对于需要密集文件操作的程序而言,简直是一大福祉!…
(1)新建一个作业(新建->作业),并在控制面板右键: (2)设置一个命令参数: (3)把作业的参数传递给转换: (4)在转换中右键设置转换属性: (5)接收作业中设置的传递参数: (6)参数的获取: (7)用命令行执行此.kjb文件: 进入到kitchen目录下 执行的命令: 数据库设计: 一: 二: 附加( 附加部分转发自:http://www.cnblogs.com/loren-love-xixi/articles/5716774.html): 1.ktr的运行:运行transformat…
设置全局变量. 找到.properties文件: 在文件中设置值: 在kettle中新建一个job(不用做任何设置): 转换中获取便元的设置: 重启kettle的执行结果:…
有没有能统一管理一个参数,然后让所有的transformation和job都可以读到呢? 答案是有 1.首先,打开.kettle\kettle.properties(个人主机是:C:\Users\for_elegant\.kettle),直接在里面定义,(注意这个文件需要与spoon.bat放在同一个目录下面)比如: paramName=to_char(sysdate,'yyyymmdd') 这里支持数据库函数, 说的更直白点,就是这里定义是个啥,那么在transformation里边取到的它就…
导读 Excel数据导入Oracle数据库的方法: 1.使用PL SQL 工具附带的功能,效率比较低 可参考这篇文章的介绍:http://www.2cto.com/database/201212/176777.html 2.使用Kettle工具,免费,相比之下功能更丰富,可实现一定的业务逻辑,推荐使用 注:Kettle下载后解压即可使用,但是依赖jvm,可以安装一下JDK 1.7(推荐) Excel数据导入Oracle示例 Kettle将Excel数据导入Oracle过程记录如下: 1.准备Ex…
这是一篇几年前写下的文档,最近打算根据这篇文档重写一下kettle插件的教程.结果各种理由,一推再推.今天索性将这篇文档发布出来,分享给大家,例子等有空再补上.这是一篇基于kettle3.2基础上完成的kettle插件文档.然而现在最新版的kettle的界面已经完全变了样了,但是那些组件还是那么熟悉.对数据处理稍微熟悉点的应该对kettle都不陌生,kettle是一个快速格式化和数据抽取的工具.好吧,入正题: 如果你对kettle插件感兴趣可以到官网查看更多的资料:http://www.pent…
该kettle插件功能类似kettle现有的定义java类插件,自定java类插件主要是支持在kettle中直接编写java代码实现自定特殊功能,而本控件主要是将自定义代码转移到jar包,就是说自定义功能的实现改为在eclipse等ide中开发. 设计本插件的原因是直接在kettle中写java代码是很不容易的事,开发体验与eclipse差得远,java语法还要受到限制,调试麻烦.实现点简单的逻辑还行,稍微复杂一点就比较麻烦,需要对java和kettle相关接口很熟悉.而简单的功能可以采用jav…