摘要: 一般需要将列转成行来使用,一定是原有的Schema设计没有考虑周全。但是没有办法,为了保护现有的投资,不得不在糟糕的设计上周旋,用最小的代价去实现新需求。毕竟认识都是由浅入深,为不健全的Schema设计付出代价,就像交税一样,无可避免。举例:课程表: 每门课程由5位老师教,要求包含老师的信息,以及一些课程的信息createtablecource(idint,namevarchar(100),teacher1int,teacher2int,teacher3int,teacher4int,teacher5int);insertintocourcevalues(1,concat('Cours 阅读全文
posted @ 2011-03-31 11:02 番茄侠 阅读(415) 评论(1) 推荐(0) 编辑
摘要: 我很喜欢redhat的那个图标,在众多的linux产品中,对redhat系多一份偏爱。这几天听说6.1 beta出来了,我去找了一下没找着下载的地方,只有6.0的。想体验一下的可以去这里下载。 阅读全文
posted @ 2011-03-24 10:25 番茄侠 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 这可能还是跟jdbc有关,我抽取的表中有某个字段是tinyint,一般这种类型是用来进行表示布尔值的。在抽取过程中,kettle直接把表中的"1"值用"Y"来代表了,这时它会报如下错误:...Incorrect integer value: 'Y' for column 'XXX' at row 1...在数据转换的时候需要注意这点 阅读全文
posted @ 2011-03-16 15:20 番茄侠 阅读(1507) 评论(0) 推荐(0) 编辑
摘要: 非常易用的一个小插件,为每行记录计算一个校验和。基本上通过这个校验和值可以确定行唯一(如果表里无重复数据的话)。 阅读全文
posted @ 2011-03-10 10:53 番茄侠 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 今天想使用kettle抽取一张30W记录的表,我想简单的看一下kettle抽取的效率,不想在抽取至7999行时报错。查看日志:"...Couldn't get row from result set......Value '0000-00-00' can not be represented as java.sql.Timestamp..."一开始没有注意下面的时间方面的问题,把注意力放在了“Couldn't get row from result set”,查询了一些网上的资料,加大了mysql的net_write_out并取消了kettl 阅读全文
posted @ 2011-03-09 16:57 番茄侠 阅读(1721) 评论(0) 推荐(0) 编辑
摘要: 此插件跟“数据库查询”是类似的,也是类似于join操作,并不仅仅是手册上所说的“select * from CET_STUINFO where bjdm in (select BJDM from 数据流)”,它这里的*所取的记录将会是CET_STUINFO.*与数据流的合集。 阅读全文
posted @ 2011-03-08 17:16 番茄侠 阅读(404) 评论(0) 推荐(0) 编辑
摘要: 在使用这个插件时,要特别注意底部的“查询表返回的值”中的类型项,最好是使用“获取查询字段”来选择要返回的字段值,否则要是漏填了该项,会导致导出的该字段无值。 阅读全文
posted @ 2011-03-08 16:21 番茄侠 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 这个插件挺有用的,在我测试过程的开始阶段一直没能成功使用它,原因是因为我只定义了“用来查询的关键字”,没有定义“更新字段”。显然“更新字段”并不是我理解的可选项,它是必需的。参考:http://forums.pentaho.com/archive/index.php/t-48648.html 阅读全文
posted @ 2011-03-08 11:02 番茄侠 阅读(1720) 评论(0) 推荐(0) 编辑
摘要: 从生产环境抽取数据至仓库时,发现目标库中的汉字是乱码。我的环境是从mysql至mysql,暂时没有异构数据库,架构比较简单。解决这个问题方法是调整mysql服务器的字符集,确保如下:mysql>showvariableslike'char%';+--------------------------+--------------------------------------------------------+|Variable_name|Value|+--------------------------+--------------------------------- 阅读全文
posted @ 2011-03-03 14:52 番茄侠 阅读(2567) 评论(0) 推荐(0) 编辑
摘要: 1.安装并启动vnc server:#apt-get install vnc4server#vnc4server启动完vnc4server后会在主目录下将会产生一个.vnc的目录2.停止某个vnc session:vnc4server -kill :13.编辑 .vnc/xstartup,将其修改成如下内容:#!/bin/sh#Uncommentthefollowingtwolinesfornormaldesktop:unsetSESSION_MANAGERexec/etc/X11/xinit/xinitrc[-x/etc/vnc/xstartup]&&exec/etc/vnc 阅读全文
posted @ 2011-03-01 18:26 番茄侠 阅读(1465) 评论(0) 推荐(0) 编辑