zoukankan      html  css  js  c++  java
  • 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-integrationlib文件下(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:

     

    连接成功:

     

    操作:(本案例演示csv文件拆分字段转存sqlserver数据库

    (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

     

    执行结果出错(如下图),后来我把sql语句删了,动手在数据库里建的表。

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

    (这里,观察左菜单栏就会发现它的数据清洗功能)

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

    ②之后进行csv文件输入:

    我的csv样式:

     ③拆分字段:

     ④表输出

    ⑤点击文件,保存

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

     (4)保存,执行

     体验:确实很快,我使用一兆多大的csv文档测试,零点几秒完事

  • 相关阅读:
    Linux systemctl 命令完全指南
    分享一些 Kafka 消费数据的小经验
    大数据日志采集系统
    使用Spring Boot Actuator将指标导出到InfluxDB和Prometheus
    这可能是最为详细的Docker入门吐血总结
    用不用lambda,这是一个问题
    es上的的Watcher示例
    Elasticsearch6.5.2 X-pack破解及安装教程
    oauth2.0通过JdbcClientDetailsService从数据库读取相应的配置
    Apache Beam实战指南 | 手把手教你玩转大数据存储HdfsIO
  • 原文地址:https://www.cnblogs.com/sengzhao666/p/12387373.html
Copyright © 2011-2022 走看看