ETL数据清洗Kettle工具

   日期:2024-12-27    作者:yzcsjtltz 移动:http://mip.riyuangf.com/mobile/quote/61726.html

Kettle是一项进行数据清洗的工具。
概念

  1. 资源库
    • 官方提供的一个需要部署的在线资源库
    • 数据库资源库
    • 文件资源库(最常用
  2. 数据库连接:生成文件
  3. 转换:为了完成数据加载、处理。生成的文件为。kettle的转换都是从输入开始到输出结束。
  4. 作业JOB:用来调度,生成的文件是。

输入 --> 输出
输入:表输入、Excel输入、CVS输入
输出:表输出、Excel输出、CVS输出、删除(delete)、插入/更新(merge)、更新(update
其中的删除、插入、更新与数据库中的操作没有太大区别。不过Kettle更加强大可以读取文件,与不同的数据源。

2.3 保存

2.4 启动与执行结果

1. 去重(去重前需要 排序

表输入 -> 排序记录 -> 去除重复记录 -> 表输出

6. 字段选择

选择、改名、改类型

7. 字符串操作

out stream filed改名、trim type去除空格、lower/upper大小写转换、padding填充、pad char填充字符、pad length填充到长度、initCap首字母大写、escape忽略大小写、remove special character 移除或替换
其中的pad相当于占位符

8. 字符串替换

相当于replace(‘#’,‘’);其中的搜索利用正则表达式。

9. 计算器

可以对日期、数字类型按照公式进行计算

10. 值映射

源值 -> 目标值
类比SQL:case when

11. 行/列转换

11.1 列转行(在数据库中叫做行专列
行转列类比SQL
 
 
11.2 行转列(在数据库中叫做列转行
类比列转行SQL
 

// TODO 24-51

写日志、发邮件、运行SSH,空值替换

4.1 写日志

5.1 switch/case

Java脚本、Sql脚本、公式

调用存储过程

使用连接之前需要进行排序,对于可以使用SQL解决的排序,应尽量使用SQL解决,效率相较于Kettle工具要高

  • 记录集连接:俩个记录集连接
  • 合并记录集:将多个记录集合合并为一个,如果重复会过滤。switch/case是分支拆分。
  • 笛卡尔集连接
  • Multiway merge join:多记录连接

kettle连接插件的缺陷:仅支持等值连接

分组:group by

  1. spoon:图形化界面开发
  2. kitchen:执行作业的命令
    • /rep 配置资源库
    • /user 配置资源库用户名
    • /pass 配置资源库密码
    • /job 配置作业的名字
    • /logfile 日志文件路径
    • /level 日志级别
  3. pan:执行转换的命令
    • /rep 配置资源库
    • /user 配置资源库用户名
    • /pass 配置资源库密码
    • /trans 转换的名称
    • /logfile 日志文件路径
    • /level 日志级别

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号