• 数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )


    ETL是什么?为什么要使用ETL?KETTLE是什么?为什么要学KETTLE?

           ETL是数据的抽取清洗转换加载的过程,是数据进入数据仓库进行大数据分析的载入过程,目前流行的数据进入仓库的过程有两种形式,一种是进入数据库后再进行清洗和转换,另外一条路线是首先进行清洗转换再进入数据库,我们的ETL属于后者。
    大数据的利器大家可能普遍说是hadoop,但是大家要知道如果我们不做预先的清洗和转换处理,我们进入hadoop后仅通过mapreduce进行数据清洗转换再进行分析,垃圾数据会导致我们的磁盘占用量会相当大,这样无形中提升了我们的硬件成本(硬盘大,内存小处理速度会很慢,内存大cpu性能低速度也会受影响),因此虽然hadoop理论上解决了烂机器拼起来解决大问题的问题,但是事实上如果我们有更好的节点速度必然是会普遍提升的,因此ETL在大数据环境下仍然是必不可少的数据交换工具。
    市场上流行的ETL很多,比如informatica等,但是开源的比较完善的却不是很多,而其中比较有名的要说是pentaho开源的kettle了,该工具被广泛用,并且开源的产品我们从中不仅可以学到ETL的简单应用,并且可以学习到ETL的原理以及通过源码学到更多的东西。
     
     
    亮点一:KETTLE应用广泛,仅仅学会使用就可以找到一份不错的工作。
     
    亮点二:本课程不仅讲解简单实用,同时讲解二次开发并且配有开发模板,提升工作质量。
     
    亮点三:渗透了大数据的一些处理方法,与目前流行的hadoop配合使用。
     
    亮点四:分析KETTLE源码,即使对ETL兴趣不大,至少可以了解国外开源项目的一些源码,并且KETTLE本身也使用了很多开源项目,因此可以从该工具上学到更多东西。
     
     
     
    通过课程可以学到什么:
     
     
    1.ETL过程原理
     
    2.数据流引擎的原理
     
    3.元数据和数据进行动态数据交换的设计
     
    4.并发运算的原理
     
     
    课时安排:(15课时)
     
     
    1.ETL简介—开源KETTLE(1课时)
     
    >介绍KETTLE在大数据应用的位置和作用。
    >主要讲解ETL是什么,KETTLE进行简单介绍,并且使用例子进行KETTLE的使用介绍。
    >介绍KETTLE流程的部署。
     
     
    2.KETTLE使用(1课时)
     
    >详细介绍KETTLE的spoon使用
    >KETTLE的trans和job入门
    >KETTLE的日志和调试工具使用
     
     
    3. KETTLE之Step流程设计(3课时)
     
    >编写例子介绍KETTLE常用的转换、清洗组件
    >主要完成以下插件:
    输入插件:
    文本文件输入、生成记录、表输入、Fixed file input、Get data from XML
    输出插件:
    XML输出、删除、插入/更新、文本文件输出、更新、表输出
    转换插件:
    Add a checksum、Replace in string、Set field value、Unique rows(HashSet)、增加常量、增加序列、字段选择、拆分字段
    Flow插件:
    Abort、Switch/case、空操作、过滤记录
    脚本插件:
    Modified Java Script Value、执行SQL脚本
    查询插件:
    File exists、Table exists、调用DB存储过程
     
     
    4. KETTLE之Job流程设计(2课时)
     
    >编写例子介绍KETTLE常用的作业组件
    >主要完成以下插件:
    通用插件:
    START、DUMMY、Transformation、Success
    文件管理插件:
    Copy Files、Compare folders、Create a folder、Create file、Delete files、Delete folders、File Compare、Move Files、Wait for file、Zip file、Unzip file
    条件插件:
    Check Db connections、Check files locked、Check if a folder is empty、Check if files exist、File Exists、Table exists、Wait for
    脚本插件:
    Shell、SQL
    Utility插件:
    Ping a host、Truncate tables
    文件传输插件:
    Upload files to FTPS、Get a file with FTPS、FTP Delete
    >Kettle与Hadoop的联合使用
     
     
    5. KETTLE之流程性能调优与监控(1课时)
     
    >介绍KETTLE的流程监控功能
    >介绍KETTLE的性能优化方法
     
     
    6. KETTLE之嵌入开发(1课时)
     
    >编写程序介绍KETTLE的流程如何嵌入到我们的java应用中
    主要包括java嵌入trans以及job流程
     
     
    7. KETTLE之自定义Step、Job插件制作(3课时)
     
    >编写Step和Job模板,并给大家作为二次开发的基础工程使用,提高大家的开发效率。
    >编写程序说明Step和Job插件的开发方法。
     
     
    8. KETTLE之数据同步方案(1课时)
     
    >介绍5种数据同步方案,并且这5种方案都是支持异构数据同步的。
    包括全量快速同步方案和增量同步方案
     
     
    9. KETTLE之分区、集群以及原理(1课时)
     
    >介绍KETTLE的分区原理,并且讲解配置使用。
    >介绍KETTLE的集群原理,并且讲解配置使用,以及监控方法。
     
     
    10. KETTLE之源码分析与二次开发(1课时)
     
    >介绍KETTLE的SRC导入ECLIPSE方法,以及打包和运行方法。
    >分析KETTLE的包结构以及运行流程,讲解KETTLE的运行原理。
     
  • 相关阅读:
    git常用指令 github版本回退 reset
    三门问题 概率论
    如何高效的学习高等数学
    数据库6 关系代数(relational algebra) 函数依赖(functional dependency)
    数据库5 索引 动态哈希(Dynamic Hashing)
    数据库4 3层结构(Three Level Architecture) DBA DML DDL DCL DQL
    梦想开始的地方
    java String字符串转对象实体类
    java 生成图片验证码
    java 对象之间相同属性进行赋值
  • 原文地址:https://www.cnblogs.com/timssd/p/5380921.html
Copyright © 2020-2023  润新知