Kettle的使用——大数据清洗技术

参考德拓视频学习:http://113.31.104.47/portal/#/course/courseDetail/b34d160db64624732ef152a1118af11a?courseId=1b7e84f4eb8552536e2267093dbd7972

kettle安装:下载包直接解压打开就能用,不在阐述;

遇到的问题:

1.连接MySQL报错:

①报错:

Driver class 'org.gjt.mm.mysql.Driver' could not be found, make sure the 'MySQL' driver (jar file) is installed.
org.gjt.mm.mysql.Driver

原因:没有识别到连接数据库的驱动jar包

解决方法:

将驱动jar包复制粘贴到data-integration\lib文件下(data-integration为kettle安装目录);重启spoon

操作完成之后反复尝试还是报相同的错,识别不到,则说明你的kettle版本与你的驱动版本不容,无法识别。(例如我的kettle7.0无法识别mysql-connector-java-8.0.19.jar)。那么只有换版本或者换连接的数据库(这里我放弃连接MySQL,转为连接sqlserver)

②报错:

Error connecting to database: (using class org.gjt.mm.mysql.Driver)
Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.

原因:你导入的jar包被kettle识别,但是它与你本地MySQL版本不容

解决方法:换连接驱动的jar包(因为驱动版本是跟数据库版本一致的,间接说明你的kettle与MySQL版本不容)

连接SQL server:

 

连接成功:

 

操作:

(1)建立作业,连接数据库

(2)执行sql脚本

 下面的sql脚本在sqlserver运行不出错,但在kettle就会报错(不知道为什么,所以现在我sql脚本没有写,不过想想确实还不如直接去数据库客户端里建表方便)

IF NOT EXISTS (select * from dbo.sysobjects where xtype='U' and Name = 'kettle_test')
BEGIN
  CREATE TABLE kettle_test
    (
    kind varchar(255),
    time varchar(255),
    processingDepartment varchar(255),
    content varchar(255)
    );
END

 

 (3)在转换1中新建一个转换;完成输入csv文件,字段切分,输出到表的操作

①需要给每个转换建立数据库连接;

②之后进行csv文件输入:

我的csv样式:

 ③拆分字段:

 ④表输出

⑤点击文件,保存

⑥返回作业,为转换1设置:

 (4)执行

猜你喜欢

转载自www.cnblogs.com/sengzhao666/p/12387373.html