参数传递对于ETL参数传递是一个很重要的环节,因为参数的传递会涉及到业务数据是如何抽取,例如需要抽取昨天的数据装载到目标表中,kettle开发中的参数可分为全局参数和局部参数,不同的参数类型采用不同参数传递方式。全局参数一般只在临时调试中使用,以为全局参数存储在kettle用户的kettle.properties文件中,运行依赖于kettle.properties文件,一般使用在所有开发流程都需要设置同样的参数时使用,也就是公共的参数,例如数据库的账密信息。局部参数在kettle流程的开发中使用较多,主要的传递方式分为变量variable(设置变量/获取变量)命名参数parameter位置参数
kettle连接hive版本说明:kettle:pdi-ce-8.3.0.0-371.zip Hadoop集群:hadoop-3.3.2 hive:hive-3.1.31、修改kettle的plugin.properties文件(文件位置D:\programfile\data-integration\plugins\pentaho-big-data-plugin)主要设置 active.hadoop.configuration=hdp30.2、从Hadoop、hive上下载相关文件并替换kettle中对应的文件szcore-site.xmlhdfs-site.x
这是目前遇到的最简单但最头疼的安装,因为是在公司之前用过的服务器上进行安装测试,加上又使用比较新的版本,结果踩了不少坑。Kettle连接Hive这个坑,从2023年4月11日下午开始,一致到2023年4月12日中午才弄好,不得不写篇博客记录一下这段难忘的经历。真是郁闷了半天,明明就几个步骤,却搞了半天都没搞好。后来,我现在自己电脑试了一遍,成功后再在公司电脑试了一下,终于成功啦!一、版本说明kettle8.2.0 Hive3.1.2 Hadoop3.1.3二、前提Hadoop、Hive因为是环境搭建测试,所以就只是单机版,没有搭建集群1.在Kettle连接Hive之前,Hadoop和Hiv
如何在筛选MongodbINPUT时传递当前日期?当前日期为Pentaho系统日期在mongodb输入中查询{created_at:{$gte:{$date:"2014-12-31T00:00:00.000Z"}}}而不是2014-12-31T00:00:00.000Z->今天的日期格式相同2014-12-31T00:00:00.000Z在一个变量中$今天-日期我需要通过变量将值替换为今天的日期如下所示:{created_at:{$gte:{$date:"$TODAY-DATE"}}} 最佳答案 我建议尝试以下方法:在调用转换的作业
一、目的由于kettle的任务需要用到Hadoop(HDFS),所以就要连接Hadoop服务。之前使用的是kettle9.3,由于在kettle新官网以及博客百度等渠道实在找不到shims的驱动包,无奈换成了kettle9.2,kettle9.2的安装包里自带了shims的驱动包,不需要额外下载,挺好! 二、各工具版本(一)kettle9.2.0kettle9.2.0安装包网盘链接,请看鄙人拙作http://t.csdn.cn/VccRxhttp://t.csdn.cn/VccRx里面有目前我有的各种kettle安装包网盘链接(二)Hadoop3.1.3三、前提kettle9.2已经成功连接H
前言作为一名架构师,在带领团队进行项目开发时,笔者认为一定要遵循一个原则:能借助第三方工具解决的开发任务,尽量用工具解决,以此来减少开发量,这样不但能够提高团队的工作效率,便于项目及时交付,也能在开发人员数量一定的条件下,更容易把余下的开发工作做好,也更容易提高代码质量,提高软件的稳定性。这对于交付项目,交付合格的软件产品是有好处的。本文探索的内容正是用kettle这个ETL工具来调用RestfulAPI,解决数据采集的问题。这样利用成熟的开源工具通过配置参数,就能调用接口,进行数据采集,相比安排开发人员编写代码,调试,代码提交,安排人员部署,测试人员测试,管理人员代码审核……,提高的工作效率
我正在使用PentahoKettle将Oracle数据库移动到Mongo数据库。我已经成功地完成了几乎所有我想做的事情,但我还有最后一个问题。在oracle数据库中,他们有一个字段有两个状态:Y或N,而不是漂亮的bool值true和false。我想在转换中做一个映射来说明Y是true而N是false,但是Pentaho将它翻译成字符串,而不像真正的true和false。我有设置bool值的简单方法吗?提前致谢! 最佳答案 您可以在Meta-data面板上通过Selectvalues步骤更改类型。而且有效!但是,由于PDI中bool值
前言: 前几天为了修复MySQL数据库漏洞,项目上从5.7.41版本升级到了5.7.43,今天在使用kettle时发现数据库突然连不上了,测试连接报如下错误: Errorconnectingtodatabase:(usingclassorg.gjt.mm.mysql.Driver)CommunicationslinkfailureThelastpacketsuccessfullyreceivedfromtheserverwas11millisecondsago. Thelastpacketsentsuccessfullytotheserverwas10millisecon
我无法使用PentahoKettle的过程调用步骤在输出流中获取MySQL过程调用的OUT参数。我在从MYSQL存储过程中检索OUT参数到流时遇到了很大的麻烦。我认为这可能是一种错误,因为它只发生在Integerout参数上,它适用于Stringout参数。我得到的异常(exception)是:InvalidvalueforgetLong()-'我认为参数设置正确,如您在ktr中所见。您可以通过这种方式复制错误:架构createschemaifnotexiststest;usetest;DROPPROCEDUREIFEXISTSprocedure_test;delimiter$$CRE