码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-03-02 00:35:39      阅读:798      评论:0      收藏:0      [点我收藏+]

标签:建立   not   base   解决方法   creat   dex   无法   char   ttl   

参考德拓视频学习: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)执行

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

标签:建立   not   base   解决方法   creat   dex   无法   char   ttl   

原文地址:https://www.cnblogs.com/sengzhao666/p/12387373.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!