1. kettle 怎么根据时间字段进行过滤
今天使用kettle从mysql导数到oracle,发现只导了7行后,数据传输就终止了,查看日志信息,报内错如下容:
image
报:Couldn't get row from result set问题。
发现从这行开始这个时间字段除了正常的时间数据以外还有NULL值,难道这类的值引起的错误,在查询了相关资料后,才知道jdbc(默认行为)认为null或'0000-00-00'这样的日期时间值是无效的。如果想避开这个问题,需要编辑jdbc的连接属性,添加如下属性值:
zeroDateTimeBehavior=convertToNull
image
设置之后导数成功进行。
image
所以,设计生产系统中的相关表时,默认值最好不要使用'0000-00-00'或null这样的值。
2. kettle一个数据库表数据抽取到另一个数据库,中间想对几个字段下的值先进行解密再存到另一个数据库怎么做
Kettle学习一:简单的表输入输出
1.创建两个DB连接,test和test1,分别连接两个不同的数据库
2.拖拽专表输入,字段转换,属表输出图标到界面,并住shift键连接它们
3.表输入:用于查询出一个数据表中需要搬运的数据。
双击表输入——>选择需要搬运的数据库(test)——>获取 SQL查询语句——>确定
3. 通过取出kettle日志里过滤数据的条数来记录,java有这样的包吗
这个我没遇到过。不过可以这样:你在kettle里做个过滤,吧过滤出的数据单独写到 txt或者数据表里,然后 java调 ktr ,然后开个线程 扫描过滤的数据。
4. kettle 处理来自两个数据流的数据
使用Merge Join,按照你说的“同时在两个filed里面的数据被筛选出来”,应该使用内连接【INNER】方式,然后再在后续步骤中将自己需要的字段输出。
5. 过滤记录这个步骤在kettle集群里应该怎么做
首先:使用Sort rows控件,根据需要分组的字段AA排序下;其次:使用Group by控件,分组字段为:AA,Aggredates部分Name为新字段名,Subjest为BB,Type选择Concatenate strings separated by ,
6. kettle怎么过滤掉某个字段空字符串数据
利用Kettle的“过滤记录”
字符串替换”,“字符串操作”组件,实现记录的过滤,字符串替换及字符串的去空格功能。
7. 怎样利用kettle去一次性读取表中所有的数据
拖动表输入控件,绑定数据源连接你要查询的数据库
SQL语句
select * frm table
此时你已经可以获取表中所有数据,根据你后续的需要,再去执行后续相关的操作。
例如过滤就用过滤控件,同步就用表输出控件插入另一张表(甚至可以不同数据源)
8. kettle随机数的过滤有什么用
通过正则表达式,可以过滤符合要求的随机数,比如生成的随机数不包含“4”等等
9. 为什么kettle可以接入多种数据源
kettle可以接入多种数据源原因:由于kettle是纯java编辑,所以kettle连接mysql库的时候需要mysql的java连接包,网络下载一个mysql的java连接驱动。
kettle使用文件资源库不需要用户名和密码,如果没有资源库可以点击右上角的"+"新建资源库。为建立数据库的资源库,本例选择使用文件资源库,选择确定后会要求选择文件资源库的路径,并给文件资源库设置一个ID和名称。
kettle无代码拖拽式构建数据管道:
kettle可Pentaho采用拖拽组件、连线、配置的方式来构建数据管道,透过超过200个不同的组件,用户可以在不编写一句代码就能轻松完成对数据源读取。
对数据进行关联、过滤、格式转换、计算、统计、建模、挖掘、输出到不同的数据目标。极大程度地降低开发技术门槛和有效减低开发和维护成本。