软件下载链接:
http://www.knime.org/node/81
开源社区:http://www.oschina.net/p/knime
http://www.oschina.net/question/12_14026
学习:
http://blog.csdn.net/kobayasi/article/details/5388235
最近学习了下KNIME,感觉还真不错。虽然知道这个软件很久了,但直到现在才发现他的能耐,惭愧啊。鉴于网上关于这个软件的学习资源相当的少,我把自己学习使用的心得整理一下,放在这里给大家参考,也算是推动下KNIME这个优秀开源软件在中国的传播吧。
手头并没有笔记资料,只是把自己想到的回忆到的有空就加进来而已。。。也没时间专门写,一点一点慢慢来吧。
工作中同事经常有一些数据需要分析,比如两个月数据对比,找出新增项目等。我之前都是用Access数据库来做,但我发现每次都是在重复一样的操作,而且更要命的是我必须自己做,或则教会同事使用Access(不是搞计算机行业的,这个比较有难度)。于是我想找一些简单的方法。开始我想通过编程的手段来实现,这确实是一条可行之路,但很快我发现,如果一种分析方式就编一个小程序,那也是相当消耗时间的事情。。。
我无法预知同事们的需求,如果他们提出一个要求,我告诉他们请等我花几天时间写好程序(本人非专业人士,编程水平有限),那未免有些太夸张了。就是在这样的背景下,KNIME满足了我的需求。
通过KNIME,可以简单的设置数据源,用名为NODE的节点来对数据进行处理,直到最后获取你所需要的结果。举个简单的例子:
数据源(Access数据库文件)-过滤掉不使用的列-过滤掉不符合条件的行-修改列名-按照指定列排序-导出结果到CVS文件。
这个过程完全是图形化的,你要做的是把用到的节点一个一个拖到合适的位置,然后用鼠标把他们连接起来,最后从头到尾逐个设置好,然后便可以点击执行了,执行过程就像红绿灯,红灯表示节点有问题,你需要查看Log窗口了解问题,黄灯表示等待执行状态,绿灯表示执行正常,偶尔有个叹号则表示有需要提醒你注意的地方,比如说按照现有设置会覆盖原有文件等等。
Database Reader
Database Reader 用于从数据库读取数据,是工作流的源头,该节点后面可以连接各种数据处理节点。
默认使用JDBC-ODBC桥来读取数据库文件,你也可以自己加载其它的JDBC驱动。
使用方法和一般JAVA使用JDBC差不多。以ACCESS为例:
Database Driver: 默认值
Database URL:jdbc:odbc:Driver={MicroSoft Access Driver (*.mdb)};DBQ=C:/TEST.mdb
username:空
password:空
SQL Statement:SELECT * FROM test
我的数据库文件是TEST.mdb,表是test
输完后点击OK,如果设置正确图标会亮黄灯,然后就可以右键Execute,执行完再右键Data from Database查看结果。
如果访问Excel,那么需要修改的设置为:
Database URL:jdbc:odbc:Driver={Driver do Microsoft Excel (*.xls)};DBQ=C:/TEST.xls
SQL Statement:SELECT * FROM [sheet1$]
注意,[ ] 是必须的。我的数据库文件是TEST.xls,表是Sheet1
KNIME Node 用途
IO
Database
Data Manipulation
Column
One2Many 把选定列的所有可能值转换成以值命名的新列。如原来“年龄列”有10岁,11岁,那么转换后就增加了“10岁”列和“11岁”列。
姓名 年龄
A 10
B 11
姓名 年龄 10 11
A 10 1 0
B 11 0 1