资讯专栏INFORMATION COLUMN

ETL工具Kettle自动生成报表邮件

IT那活儿 / 2180人阅读
ETL工具Kettle自动生成报表邮件

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





kettle介绍



ETL Extract-Transform-Load三个单词的简称,即抽取、转换、加载。使用ETL工具可以完成从目标数据源进行数据抽取,经过一系列的数据转换,最终形成需要的数据模型并加载到数据库中。

Kettle是开源ETL工具,提供一系列的组件用于完成各种抽取、转换、加载的工作。

Kettle中两个核心是转换(transformation)与作业(job):

  • 转换即完成数据ETL工作;

  • 作业即定义一个完成整个工作流的控制。

注:Kettle如何发送邮可查看之前发布的《ETL工具Kettle发送邮件》文章。





项目背景



业务人员日常需要通过手工统计加工的方式进行数据统计和分析,通过Kettle进行自动化的定期对数据数据抽取、加工和汇总,需要用到关键的技术是通过传参将处理数据每次更新到每一期的邮件,实现采集、加工和统计汇总的自动化。





自动生成报表



1. kettle发送邮件正文处添加表格

Kettle发送邮件正文处添加表格,是指将数据库里面的数据通过kettle组件进行抽取出来,按照所需要的格式以及排版转换成表格形式,在发送邮件时展示到邮件正文处,方便收件人更加直观的看到所需数据。

图1: Kettle发送邮件正文处添加表格流程图


2. kettle发送邮件正文处添加表格步骤详解

1)Start:开始执行作业

2)设置昨日日期变量-转换:获取时间日期,按照需要的格式进行加工并设置为变量,供其他组件使用。

图2: 昨日日期变量

  • 获取系统信息:可以获取当前系统时间、昨日时间、明天时间、本月/上月/下个月月初/末等时间。

  • 字段选择:可以对获取到的系统时间按照业务需求设置格式,例如:yyyyMMdd、MM-dd-yyyy HH:mm:ss。

  • 设置变量:将获取到的系统时间设置为变量,供后面的组件使用,例如:获取昨天时间,设置的变量名为:ZTDATE,使用该变量时的格式为:${ ZTDATE }。

3)数据转换:从目标数据源进行数据抽取,经过一系列的数据转换,最终形成需要的数据模型。例如:将数据库中的数据转换成文件形式、将文件形式的数据转换加载到数据库、将数据库中的数据转换设置为变量来使用等。本文是将数据库中的数据以HTML格式输出,并设置成变量展示到邮件正文处。

图3:数据转换

  • 表输入:用来查询数据库数据的组件。选择数据表来源数据库,可以获取SQL查询语句或根据业务需求自定义SQL语句。

    本文中是用拼接的形式将HTML中所用的标签进行拼接,最终用聚合函数string_agg(expression,delimiter)将多行数据合并成一行。

    其中,expression是指需要合并的字段名,delimiter是指合并时用什么分隔符进行分割,例如可为空格、逗号、分号等自定义字符。

图4:表输入

  • 设置变量:将输出的结果设置成变量,供后面的组件使用。

    例如本文是将输出HTML形式的数据设置为变量,且变量名命名为content,当使用该变量时的写法为${content}。

图5: 设置变量

4)送邮件:步骤有“地址”、“服务器”、“邮件消息”、“附件”四个标签页。标签页配置信息如图6至图9所示。

  • 地址

图6:地址

a. 收件人:可输入收件人地址、抄送人地址、暗送人地址。
b. 发件人:可输入发件人地址、回复地址、联系人、联系电话等相应的信息。
  • 服务器

图7:服务器

a. 邮件服务器:配置SMTP服务器、端口号信息。
b. 验证:输入发送人用户名和密码,每次发送邮件时,验证发送人的邮箱和密码。
  • 邮件信息:可以自定义发送邮件的主题和邮件正文。

图8:邮件信息

a. 使用HTML邮件格式:表示注释内容支持HTML标签。
b. 注释:邮件正文展示内容。其中表示设置字体大小为4px,
表示换行标签, 表示空格标签,

表示段落标签,${ZTDATE}表示引用的昨日日期变量,${content}表示引用输出HTML形式的数据。
  • 附件

图9:邮件信息

a. 带附件:勾选此项,即可将“添加文件到结果文件中”的文件以附件形式发送。
b. 文件类型:可选择一般、日志、错误行、错误、警告。

5)成功:查看执行结果日志,每一步均为result=[true],则作业执行成功,任务结束,否则执行失败。

6)邮件显示情况如下:

注:Kettle如何发送邮查看之前发布的《ETL工Kettle发送邮》文章。



本文作者:杨华倩

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

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

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

相关文章

  • 常用的6款Java开源报表制作工具

    摘要:本文为大家推荐款常用的开源报表制作工具,供开发者学习参考。一个基于的开源报表工具,它可以在环境下像其他报表工具一样来制作报表,支持和文件输出格式,是当前开发者最常用的报表工具。使用开发的,并使用作为报表生成引擎。 本文为大家推荐6款常用的Java开源报表制作工具,供开发者学习、参考。 1.Aspose.Cells for JasperReports一个基于Java的开源报表工具,它可以...

    QLQ 评论0 收藏0
  • kettle 开源etl数据抽取工具

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

    nevermind 评论0 收藏0
  • 数据仓库的直白概述

    摘要:如销售数据跟部门表,客户表之间的关系。而查询,又是这三者之间的粘合剂,它表达了用户的需求,经过引擎的解析,根据数据模型的描述,从数据仓库找到所需要的数据。 本文来自网易云社区 作者:王攀 我们知道,大部分公司都拥有了自己的财务,OA,CRM 等系统。这些系统都有自己的独立数据库,记录着企业运行情况某个方面的数据。但是单独看这些系统的报表,并不一定能对企业运行情况有全面客观的了解。就像只...

    sorra 评论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元查看
<