ETL (Extract,Transformation,Load)工具是构建数据仓库、进行数据整合工作所必须使用的工具。目前市面有多种商业 ETL 工具,如Informatica,Datastage等。目前市场上开源且实用的 ETL 工具比较少,Kettle 就是这不多的开源 ETL 工具之一。 本课程将主要讲解开源 ETL 工具 Kettle 的基本使用和二次开发方法,并结合实际项目案例,讲解 Kettle 如何在实际中应用,以及应用中可能会出现的问题。针对目前大数据的应用情况,本课程也将结合大数据,讲述 Kettle 如何支持 Hadoop、HBase、MongoDB、MapReduce 等大数据技术。除了Kettle 的使用,在本课程的后几个课时,将讲述 Kettle 的二次开发: 包括 Kettle 代码阅读指导, Kettle API 的说明以及使用方法, Kettle 插件的开发方法。
课程内容
第一周:ETL 的概念,Kettle 的概念、功能、操作
第二周:Kettle 资源库、日志、运行方式
第三周:输入步骤(表输入、文本文件输入、XML 文件输入...)
第四周:输出步骤(表输出、更新、删除、文本文件输出、XML文件输出...)
第五周:转换步骤(过滤、字符串处理、拆分字段、计算器...)
第六周:转换步骤(字段选择、排序、增加校验列、去除重复记录...)
第七周:应用步骤、流程步骤(处理文件、执行程序、发送邮件、空操作、阻塞步骤、中止等...)
第八周:查询步骤、连接步骤(数据库查询、流查询、合并记录、记录集连接、笛卡尔...)
第九周:脚本步骤(Javascript,Java Class、正则表达式...)
第十周:作业项(拷贝、移动、ftp、sftp…)
第十一周:Kettle 的参数和变量、Kettle 集群
第十二周:Kettle 代码编译、代码结构、应用集成、各种配置文件
第十三周:插件开发 - 步骤、作业项
第十四周:作业设计技巧、错误处理、调试转换、循环和分支
第十五周:大数据插件(Hadoop 文件输入/输出,HBase输入/输出,MapReduce输入/输出,MongoDB输入/输出)