Kettle的转换与作业

一、转换

        转换是ETL解决方案中的主要组成部分之一,主要用于数据的抽取、转换以及加载等操作,其本质是一组图形化的是数据转换配置的逻辑结构。

        下面是实现转换的步骤:

1、数据准备

        创建一个数据库personal,再建表personal_a和personal_b,其中a表是有数据的,b表是只有表头的空表。

2、创建转换

        Kettle是绿色无需安装的软件,首先双击Kettle目录下的Spoon.bat脚本,启动工具。打开后,在工具栏“文件”处新建一个转换,保存并修改名字。然后,从核心对象中将“表输入”控件、“JavaScript代码”控件、“插入/更新控件”控件拖拽到kettle工作区,用左键分别圈住相邻两个控件右键连接,效果如图1-1所示。

图1-1 创建转换

3、配置控件

        双击进入“表输入”控件,进入界面(图1-2)点击新建,按照图1-3配置数据库,配置完测试一下看看是否成功连接,若成功,按“确定”。

图1-2 “表输入”界面

图1-3 MySQL数据库连接配置

        之后点击“获取SQL查询语句...”,在“表”菜单下选择personal_a,点“确定”再点“是”,最终“表输入”界面配置如图1-4。

图1-4 “表输入”界面配置最终结果

         同样的方法,双击“JavaScript”控件打开界面,在代码窗口编写JavaScript脚本代码,然后单击“获取变量”按钮,在字段窗口的“改名为”字段处添加新的字段名称username,具体如图1-5所示。

图1-5 配置“JavaScript代码”控件

         让我们对“插入/更新”控件来一次熟悉的双击,同样进入页面点新建,如图1-6配置对照配置,然后点击浏览,选择菜单“personal_b”。

        图1-6 MySQL数据库连接配置

        一顿确定,我们回到了“插入/更新”界面,目标表是personal_b(自查一下),然后点击获取字段如图1-7修改。

        

图1-7  “插入/更新”界面

        改完后,再左下角点击“编辑映射”,如图1-8选择并确定。

图1-8 映射匹配界面

         配置完成图如图1-9,点击确定。

图1-9 “插入/更新”界面

  4、运行转换并查看数据 

        最后单击工作区的三角标志,运行转换,运行成功如1-10所示,然后进入mysql的工作台查看personal_b的表,此时,表格personal_a的内容以及转换到表格personal_b,如图1-11所示。

图1-10 运行转换field_stitching

 

图1-11 表格personal_b

 二、作业

        在kettle工具中,作业管理主要包括通用、邮件、文件管理、条件、脚本、批量加载等功能。本次实例是使用kettle发送邮件。

1、创建作业

        创建一个作业send_email,并添加Start控件、“发送邮件”控件、“成功”控件然后连接起来,如图2-1。

图2-1 创建作业send_email

2、配置控件

        首先,双击进入Start控件,进入“作业定时调度”界面,配置如图2-2,然后点击确定。

图2-2 “作业定时调度”界面

         之后双击“发送邮件”控件,进入界面。“地址”下填写收件人和发件人地址、发件人回复名称(填写地址时一定要注意,不要不小心填写时多一个空格,会发送失败)。然后点击“服务器”,邮件服务器与发件人账号一一对应,若发件人邮箱是qq邮箱,其SMTP服务器和端口号为smtp.qq.com和465或587;若发件人邮箱是163邮箱,其SMTP服务器和端口号为smtp.163.com和25,其它邮箱本人没有试过,请自行查阅。

        用户名填写发件人邮箱,密码是smtp的授权码,这里有说一下,使用kettle发送邮件前需要开启IMAP/SMTP服务并获得,qq邮箱在设置-账户里找,163在左侧列表直接找。

        本人建议发件人不要用163邮箱,因为本人使用163发送邮件,kettle显示发送成功,但对方并未收到,测试两次结果都是如此,友人使用163邮箱发送邮件,碰到了同样的问题。具体原因参考我在网上搜到的一篇博客:邮件发送成功而对方却收不到的几种可能 - 邶风依旧 - 博客园

        点击“邮件设置”,勾选“信息里带日期?”和“使用HTML邮件格式?”复选框。在消息栏添加邮件主题和注释,这里填写内容你自己随意,如图2-3所示。

图2-3 “邮件信息”界面

         然后点击确定。

3、运行send_email作业     

         单击三角按钮运行作业如2-4所示,若有问题,查看错误提示并改正;无问题,找收件人查看是否收到邮件。

图2-4 运行send_email作业 

 4、查看邮件收件箱

         这次本人使用的是qq邮箱,没什么问题,对方收到邮件如图2-5所示。

图2-5 收件箱信件

实验参考:《数据清洗》黑马程序员/编著

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值