大数据ETL开发之图解Kettle工具(入门到精通)(1)

  • 3.2.3 SQL文件输出

  • 3.2.4 表输出

  • 3.2.5 更新&插入/更新

  • 3.2.6 删除

  • 3.3 Kettle转换控件

    • 3.3.1 Concat fields
  • 3.3.2 值映射

  • 3.3.3 增加常量&增加序列

  • 3.3.4 字段选择

  • 3.3.5 计算器

  • 3.3.6 字符串剪切&替换&操作

  • 3.3.7 排序记录&去除重复记录

  • 3.3.8 唯一行(哈希值)

  • 3.3.9 拆分字段

  • 3.3.10 列拆分为多行

  • 3.3.11 行扁平化

  • 3.3.12 列转行

  • 3.3.13 行转列

  • 3.4 Kettle应用控件

    • 3.4.1 替换NULL值
  • 3.4.2 写日志

  • 3.5 Kettle流程控件

    • 3.5.1 Switch/case
  • 3 .5.2 过滤记录

  • 3.5.3 空操作

  • 3.5.3 中止

  • 3.6 Kettle查询控件

    • 3.6.1 数据库查询
  • 3.6.2 流查询

  • 3.7 Kettle连接控件

    • 3.7.1 合并记录
  • 3.7.2 记录集连接

  • 3.8Kettle统计控件

    • 3.8.1 分组
  • 3.9 Kettle映射控件

  • 3.9.1 映射

  • 3.10 Kettle脚本控件

    • 3.10.1执行SQL脚本
  • 第4章 Kettle作业

    • 4.1 作业简介
    • 4.1.1作业项
  • 4.1.2 作业跳

  • 4.2 作业初体验

  • 第5章 Kettle使用案例

    • 5.1 转换案例
  • 5.2 作业案例

  • 第6章 Kettle资源库

    • 6.1 数据库资源库
  • 第7章 Kettle调优

  • 第八章 案例数据和ETL开发岗位资料下载

第0章 ETL简介

===========================================================================

ETL (Extract-Transform-Load 的缩写,即数据抽取、转换、装载的过程),对于企业或行业应用来说,我们经常会遇到各种数据的处理,转换,迁移,所以了解并掌握一种ETL工具的使用,必不可少。

市面上常用的ETL工具有很多,比如Sqoop,DataX, Kettle, Talend 等,作为一个大数据工程师,我们最好要掌握其中的两到三种,这里我们要学习的ETL工具是Kettle!

第1章 Kettle简介

==============================================================================

1.1 Kettle是什么


Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、 Unix.上运行,绿色无需安装,数据抽取高效稳定。

Kettle中文名称叫水壶,该项目的主程序员MATT希望把各种数据放到一个壶里,然后以一种指定的格式流出。

Kettle这个ETL工具集,它允许你管理来自不同数据库的数据,通过提供一个图形化的用户环境来描述你想做什么,而不是你想怎么做。

Kettle中有两种脚本文件,transformationjob,transformation 完成针对数据的基础转换,job则完成整个工作流的控制。

Kettle(现在已经更名为PDI, Pentaho Data Integration Pentaho数据集成)

1.2 Kettle的两种设计


简述

  • Transformation (转换) :完成针对数据的基础转换。

  • Job (作业) :完成整个工作流的控制。

区别

  • (1) 作业是步骤流,转换是数据流。这是作业和转换最大的区别。

  • (2)作业的每一个步骤,必须等到前面的步骤都跑完了,后面的步骤才会执行;而转换会一次性把所有控件全部先启动(一个控件对应启动一个线程),然后数据流会从第一个控件开始,一条记录、一条记录地流向最后的控件;

在这里插入图片描述

1.3 Kettle的核心组件


  • Spoon.bat / spoon.sh(重点):是一个图形化界面,可以让我们用图形化的方式开发转换和作业(Windows选择Spoon.bat;Linux选择Spoon.sh)

  • Pan.bat / pan.sh:利用Pan可以用命令行的形式执行由Spoon编辑的转换和作业

  • Kitchen.bat / kitchen.sh:利用Kitchen可以使用命令调用由Spoon编辑好的Job

  • Carte.bat / Carte.sh:Carte是一个轻量级的Web容器,用于建立专用、远程的ETL Server

在这里插入图片描述

1.4 Kettle的特点


在这里插入图片描述

第2章 Kettle安装部署

================================================================================

2.1 Kettle 下载


2.1.1 下载地址

官网:官网地址

下载地址:各版本下载链接

百度网盘:百度网盘地址 ,提取码:beeo

2.1.2 Kettle目录说明

在这里插入图片描述

2.1.2 Kettle 文件说明

在这里插入图片描述

2.2 Kettle 安装部署


2.2.1 概述

在实际企业开发中,都是在本地Windows环境下进行 kettle 的 job 和 Transformation 开发的,可以在本地运行,也可以连接远程机器运行

2.2.2 安装

1)安装 jdk,版本建议1.8及以上

2)下载kettle压缩包,因kettle为绿色软件,解压缩到任意本地路径即可

3)双击Spoon.bat,启动图形化界面工具,就可以直接使用了

2.3 Kettle 界面介绍


2.3.1 主界面

在这里插入图片描述

2.3.2 转换

在这里插入图片描述

2.3.3 作业

在这里插入图片描述

2.4 Kettle转换初次体验


体验案例:将 csv 文件用 Kettle 转换成 excel 文件

在这里插入图片描述

1)在 Kettle 中新建一个转换,然后选择转换下面的 “csv文件输入” 和 “excel文件输出” 拖至工作区

在这里插入图片描述

2)双击CSV文件输入文件控件,在弹出的设置框里找到对应的csv文件(test.csv).然后点击下面的获取字段按钮,将我需要的字段加载到kettle中

在这里插入图片描述

3)按住键盘 shift 键,并且点击鼠标左键将两个控件链接起来,链接时选择 “主输出步骤”

在这里插入图片描述

4)双击Excel输出控件,在弹出的设置框里设置文件输出路径和文件名称,然后点击上的字段框,依次点击下面的获取字段和最小宽度,获取到输出字段

在这里插入图片描述

5)点击运行,启动,查看转换好的文件

在这里插入图片描述

在这里插入图片描述

转换成功:

在这里插入图片描述

2.5 Kettle 核心概念


2.5.1 可视化编程

Kettle可以被归类为可视化编程语言,因为Kettle可以使用图形化的方式定义复杂的ETL程序和工作流

可视化编程一直是Kettle里的核心概念,它可以让你快速构建复杂的ETL作业减低维护工作量。它通过隐藏很多技术细节,使IT领域更贴近于商务领域。

Kettle里的代码就是转换作业

2.5.2 转换

转换(transaformation)负责数据的输入、转换、校验和输出等工作。Kettle 中使用转换完成数据 ETL 全部工作。转换由多个步骤(Step)组成,如文本文件输入,过滤输出行,执行SQL脚本等。各个步骤使用跳(Hop)(连接箭头) 来链接。跳定义了一个数据流通道,即数据由一个步骤流(跳)向下一个步骤。在 Kettle中数据的最小单位是数据行(row),数据流中流动其实是缓存的行集(RowSet)

在这里插入图片描述

2.5.3 步骤

步骤(控件)是转换里的基本的组成部分,快速入「]的案例中

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据ETL开发是指将大量数据从原始数据源换成可用的数据。在ETL开发中,ETL代表提取(Extract)、换(Transform)和装载(Load)数据。ETL开发面试题通常会针对这三个方面进行提问。以下是一些可能出现在大数据ETL开发面试中的问题: 1.简要介绍一下你的ETL经验是什么? 这个问题主要是了解应聘者是否有相关的工作经验。应聘者可以提及过往项目中的ETL流程设计、数据清洗、数据换等经验。 2.你能够说明ETL流程的步骤吗? ETL流程包括数据来源、数据提取、数据处理和数据装载。通过简单介绍每个步骤,让面试官了解你的ETL知识水平。 3.你如何处理数据源中的异常数据? 出现非法数据是大数据ETL开发过程中经常会遇到的问题,应聘者需要说明如何进行数据清洗、处理以及如何测试异常数据。 4.你如何保证ETL作业的正确性和完整性? 应聘者可以讲述ETL作业执行的日志和监控机制,以及如何通过自动化测试工具确保作业的正确性。 5.你如何在ETL作业的生产环节中解决故障? 这个问题涉及到实际工作中产生的问题,应聘者可以讲述如何通过查找日志、监控作业、采取手动干预等方式解决故障。 总之,大数据ETL开发的面试题目涉及很多方面,包括工作经验、技术知识和解决问题的方法。准备面试时,应聘者需要关注技术趋势,了解最新的ETL工具及技术,并进行适当的技术准备。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值