kettle是一款开源免费的ETL工具,对于数据抽取,转换,清洗,非常有效,常用于数据迁移、数据统计、数据仓库等。下面我们列出常用的一些组件,后面我会对所有的组件一一介绍使用场景及实战案例。
使用工具之前,需要先下载 kettle工具及JDK1.8。
Java环境变量配置
Kettle 内存设置1GB,启动和运行速度会快一点,参数: PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
工具采用的初始内存1024m,最大内存2048m
if "%PENTAHO_DI_JAVA_OPTIONS%"=="" set PENTAHO_DI_JAVA_OPTIONS="-Xms1024m" "-Xmx2048m" "-XX:MaxPermSize=256m"
set OPT=%OPT% %PENTAHO_DI_JAVA_OPTIONS% "-Dhttps.protocols=TLSv1,TLSv1.1,TLSv1.2" "-Djava.library.path=%LIBSPATH%" "-DKETTLE_HOME=%KETTLE_HOME%" "-DKETTLE_REPOSITORY=%KETTLE_REPOSITORY%" "-DKETTLE_USER=%KETTLE_USER%" "-DKETTLE_PASSWORD=%KETTLE_PASSWORD%" "-DKETTLE_PLUGIN_PACKAGES=%KETTLE_PLUGIN_PACKAGES%" "-DKETTLE_LOG_SIZE_LIMIT=%KETTLE_LOG_SIZE_LIMIT%" "-DKETTLE_JNDI_ROOT=%KETTLE_JNDI_ROOT%"
输入组件:
- CSV输入 CSV是一种常见的格式,采用逗号分割,结构简单。
- Excel输入 目前主流的文件格式就是Excel
- 生成记录
- 自定义常量数据
- 获取系统信息
- 表输入
输出组件
- Excel输出
- Microsoft Excel 输出
- SQL文件输出
- 删除
- 插入/更新
- 数据同步
- 文本文件输出
- 表输出
转换组件
- Concat fields (拼接字符串)
- 值映射
- 列拆分为多行
- 列转行
- 去除重复记录
- 增加常量
- 字段选择
- 字符串操作
- 字符串替换
- 将字段值设置为常量
- 拆分字段
- 排序记录
- 根据字段值来改变序列
- 行扁平化
- 行转列
- 计算器