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的运行原理。
 

数据层交换和高性能并发处理(开源ETL大数据治理工具--KETTLE使用及二次开发 )的更多相关文章

  1. Facebook 正式开源其大数据查询引擎 Presto

    Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Faceboo ...

  2. H2O是开源基于大数据的机器学习库包

    H2O是开源基于大数据的机器学习库包 H2O能够让Hadoop做数学,H2O是基于大数据的 统计分析 机器学习和数学库包,让用户基于核心的数学积木搭建应用块代码,采取类似R语言 Excel或JSON等 ...

  3. Druid:一个用于大数据实时处理的开源分布式系统——大数据实时查询和分析的高容错、高性能开源分布式系统

    转自:http://www.36dsj.com/archives/28590 Druid 是一个用于大数据实时查询和分析的高容错.高性能开源分布式系统,旨在快速处理大规模的数据,并能够实现快速查询和分 ...

  4. Elastic Stack 开源的大数据解决方案

    目的 本文主要介绍的内容有以下三点: 一. Elastic Stack是什么以及组成部分 二. Elastic Stack前景以及业务应用 三. Elasticsearch原理(索引方向) 四. El ...

  5. CYQ.Data 轻量数据层之路 使用篇-MProc 存储过程与SQL 视频[最后一集] H (二十八)

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 本次录制主要为使用篇:CYQ.Data 轻量数据层之路 使用篇五曲 MProc 存储过程与SQL(十六)   的附加视 ...

  6. 奇点云数据中台技术汇(一) | DataSimba——企业级一站式大数据智能服务平台

    在这个“数据即资产”的时代,大数据技术和体量都有了前所未有的进步,若企业能有效使用数据,让数据赚钱,这必将成为企业数字化转型升级的有力武器. 奇点云自研的一站式大数据智能服务平台——DataSimba ...

  7. IT大数据服务管理高级课程(IT服务,大数据,云计算,智能城市)

    个人简历 金石先生是马克思主义中国化的研究学者,上海财经大学经济学和管理学硕士,中国民主建国会成员,中国特色社会主义人文科技管理哲学的理论奠基人之一.金石先生博学多才,对问题有独到见解.专于工作且乐于 ...

  8. 1.docker 数据卷的备份和恢复(非大数据量)

    在生产环境中使用 Docker,很多时候需要对数据进行持久化,或者进行容器间的数据共享. 容器中的管理数据主要有两种方式: 数据卷 (Data Volumes): 容器内数据直接映射到本地主机环境: ...

  9. 齐博软件 著名的老牌CMS开源系统 X1.0基于thinkphp开发的高性能免费开源PHP开放平台齐博x1.0基于thinkphp框架开发的高性能免费开源系统 主推圈子 论坛 预定拼团分销商城模块

    齐博X1--标签变量大全 1.网站名称: {$webdb.webname} 2.网址: {$webdb[www_url]} {:get_url('home')} 3.网站SEO关键词: 首页:{$we ...

随机推荐

  1. 【OpenMesh】使用网格的属性和特征

    例子主要展示如何改变位置,法向量,颜色和纹理的数据类型. 在之前的指南中我们学习使用标准属性,通过调用适合的请求方法.不像自定义属性,用户通过传递数据类型到句柄来指定数据类型(比如,MyMesh::F ...

  2. AJAX同步与异步

    今天来大概说说AJAX中的同步与异步.其实,就我的理解,同步与异步的区别就是程序执行过程中是否有等待. 同步:意思就是js代码加载到当前的 AJAX时候,会等待AJAX代码执行完毕后再开始加载其他代码 ...

  3. Linux怎么设置PostgreSQL远程访问

    原文链接: Linux怎么设置PostgreSQL远程访问 安装PostgreSQL数据库之后,默认是只接受本地访问连接.如果想在其他主机上访问PostgreSQL数据库服务器,就需要进行相应的配置. ...

  4. POJ 1379 Run Away 【基础模拟退火】

    题意:找出一点,距离所有所有点的最短距离最大 二维平面内模拟退火即可,同样这题用最小圆覆盖也是可以的. Source Code: //#pragma comment(linker, "/ST ...

  5. [置顶] 使用红孩儿工具箱完成基于Cocos2d-x的简单游戏动画界面

    [Cocos2d-x相关教程来源于红孩儿的游戏编程之路CSDN博客地址:http://blog.csdn.net/honghaier 红孩儿Cocos2d-X学习园地QQ3群:205100149,47 ...

  6. 开源的Android视频播放器

    之前尝试自己解码视频,然后播放显示,虽然音视频都可以播放,但是实现不了音视频的同步,所以使用第三方的视频库Vitamio来实现视频播放器功能,这样自己只需要实现播放解码的制作不不要关心底层解码和显示问 ...

  7. handler.postDelayed()和timerTask

    public static void scrollToListviewTop(final XListView listView) { listView.smoothScrollToPosition(0 ...

  8. intent.getAction()

    这个是发送端注册上的IntentFilter filter = new IntentFilter( Intent.ACTION_MEDIA_SCANNER_STARTED); filter.addAc ...

  9. Robot Framework与Web界面自动化测试学习笔记:定位到新窗口

    在页面操作中,有时会需要打开新的窗口(新的网页不在当前窗口显示,而是在新的tab页显示), 比如利用  window.open("newurl") 或者  <a href=& ...

  10. uoj Goodbye Jiawu

    这次比赛真是太伤我心了. 比(惨)赛(不)结(忍)果(睹) 完挂感言 uoj round 5已经挂了一次了,没想到还要再挂第二次. 这次比赛的期望得分是\(100+100+100+70+10\)的.没 ...