资讯专栏INFORMATION COLUMN

ETL工具Kettle发送邮件

IT那活儿 / 3674人阅读
ETL工具Kettle发送邮件

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!

kettle介绍


ETL 是Extract-Transform-Load三个单词的简称,即抽取、转换、加载。使用ETL工具可以完成从目标数据源进行数据抽取,经过一系列的数据转换,最终形成需要的数据模型并加载到数据库中。
Kettle是开源ETL工具,提供一系列的组件用于完成各种抽取、转换、加载的工作。Kettle中两个核心是转换(transformation)与作业(job)。转换即完成数据ETL工作,作业即定义一个完成整个工作流的控制。


kettle发送邮件


Kettle发送邮件,是指将数据库里面的数据通过kettle组件进行抽取出来,按照所需要的格式以及排版转换成文件形式,例如EXCEL文件、文本文件、配置文件等,最终通过发送邮件附件的形式,发送给一个或多个收件人。
图1: Kettle发送邮件流程图


kettle发送邮件步骤详解


1. Start:开始执行作业。
2. 设置昨日日期变量-转换:获取时间日期,按照需要的格式进行加工并设置为变量,供其他组件使用。
图2: 昨日日期变量
1)获取系统信息:可以获取当前系统时间、昨日时间、明天时间、本月/上月/下个月月初/末等时间。
2)字段选择:可以对获取到的系统时间按照业务需求设置格式,例如:yyyyMMdd、MM-dd-yyyy HH:mm:ss。
3)设置变量:将获取到的系统时间设置为变量,供后面的组件使用,例如:获取昨天时间,设置的变量名为:ZTDATE,使用该变量时的格式为:${ ZTDATE }。
3. 计算表中的记录数:该步骤主要是判断需要发送的邮件数据是否有数据。
图3: 计算表中的记录数
1)数据库连接:获取提前配置好的数据库,并选择所使用的数据表来源库。
2)编辑: 编辑选中的数据库连接信息。
3)新建: 创建数据库连接。
4)成功条件:满足成功条件的行数:大于  数值:0  用来判断SQL脚本中执行的SQL语句的行数。行数大于0继续执行下一步“数据转换”;否则执行“昨日无数据”,作业结束。
5)获取SQL查询语句: 通过选择数据库中的数据表生成默认的SQL语句。
6)输入框: 根据业务需求自定义SQL语句。
4. 数据转换:从目标数据源进行数据抽取,经过一系列的数据转换,最终形成需要的数据模型。例如:将数据库中的数据转换成文件形式、将文件形式的数据转换加载到数据库、将数据库中的数据转换设置为变量来使用等。
图4:数据转换
1)表输入:用来查询数据库数据的组件。选择数据表来源数据库,可以获取SQL查询语句或根据业务需求自定义SQL语句。其中,编辑完SQL语句->点击“预览”->选择“预览”行数->即可预览查询出来的数据。
图5:表输入
2)Microsoft Excel 输出:将输入流中的数据转换为Excel文件输出到指定路径中。该步骤有“文件&工作表”、“内容”两个标签页。标签页配置信息如图6、图7所示。
图6: 文件&工作表
图7: 内容
  • 文件名:指定Excel文件生成的路径。
  • 扩展名:为生成文件选择一个扩展名,可以选择xls [Excel 97 and above]或xlsx [Excel 2007 and above]。
  • 分割每...数据行:根据填入的数字分行生成文件。例如输入1,则每一行数据生成一个文件。
  • 如果文件已存在:如果文件已存在,下拉框选择文件的输出方式:覆盖原文件、使用现有文件输出。
  • 结果中添加文件名:勾选此项,可把转换的结果文件名存进流中,使其可以在后续步骤中被获取。如图1所示,作业的发送邮件入口可获取上一入口Microsoft Excel输出中的文件作为附件发送邮件。
  • 工作表名:设置Excel的工作表名称。
  • 设为活动工作表:勾选此项,输出工作表将是活动工作表(即打开文档时看到的第一个工作表)。
  • 如果输出文件中已存在工作表:如果输出文件中存在该工作表,则下拉框选择该工作表的输出方式:覆盖原工作表、输出至已存在的工作表中。
  • 内容标签中,如图7所示,其中可以通过最下方的“获取字段”获取需要输出的字段。
5. 添加文件到结果文件中:将添加的结果文件名存进作业流中,使其可以在后续步骤中被获取使用,例如发送邮件时可以将该文件作为附件进行发送。
图8:添加结果文件列表
其中:多个文件/多个目录:选择需要发送邮件的EXCEL数据所在路径,可以选择多个数据文件。
6. 发送邮件:步骤有“地址”、“服务器”、“邮件消息”、“附件”四个标签页。标签页配置信息如图9至图12所示。
1)地址
图9:地址
  • 收件人:可输入收件人地址、抄送人地址、暗送人地址。
  • 发件人:可输入发件人地址、回复地址、联系人、联系电话等相应的信息。
2)服务器
图10:服务器
  • 邮件服务器:配置SMTP服务器、端口号信息。
  • 验证:输入发送人用户名和密码,每次发送邮件时,验证发送人的邮箱和密码。
3)邮件信息:可以自定义发送邮件的主题和邮件正文。
图11:邮件信息
4)附件
图12:邮件信息
  • 带附件:勾选此项,即可将“添加文件到结果文件中”的文件以附件形式发送。
  • 文件类型:可选择一般、日志、错误行、错误、警告。
7. 成功:查看执行结果日志,每一步均为result=[true],则作业执行成功,任务结束,否则执行失败。





本文作者:杨华倩

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129587.html

相关文章

  • kettle 开源etl数据抽取工具

    摘要:相比其他开源的工具和其他商业的工具,对比下来还是比较强大和好用。 1.为什么要使用数据抽取 (1)为了不妨碍业务数据的读取和写入,需要进行数据的抽取,抽取到另外数据库表进行读取(2)对某些总计数据可以进行预先计算, 抽取到另外数据库表(3)随访业务数据库为mongodb , 统计程序编程效率低,需要转成sql 类数据库提高效率 2.工具 使用 kettle 开源etl工具网址:http...

    nevermind 评论0 收藏0
  • kettle下转移mongo中数据到mysql中

    摘要:是一款国外开源的工具,纯编写,可以在上运行,数据抽取高效稳定。 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。作为一个数据抽取工具,在建立数据仓库的过程中,免不了需要从不同的数据源中抽取到集中的数据仓库中,下面就拿mongodb抽取到mysql为例,简述抽取数据的步骤: 新建转换:test 在test中新建M...

    Riddler 评论0 收藏0
  • kettle下转移mongo中数据到mysql中

    摘要:是一款国外开源的工具,纯编写,可以在上运行,数据抽取高效稳定。 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。作为一个数据抽取工具,在建立数据仓库的过程中,免不了需要从不同的数据源中抽取到集中的数据仓库中,下面就拿mongodb抽取到mysql为例,简述抽取数据的步骤: 新建转换:test 在test中新建M...

    beanlam 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<