点击上方“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:地址
服务器
图7:服务器
邮件信息:可以自定义发送邮件的主题和邮件正文。
图8:邮件信息
附件
图9:邮件信息
5)成功:查看执行结果日志,每一步均为result=[true],则作业执行成功,任务结束,否则执行失败。
6)邮件显示情况如下:
注:Kettle如何发送邮件可查看之前发布的《ETL工具Kettle发送邮件》文章。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/129569.html
摘要:本文为大家推荐款常用的开源报表制作工具,供开发者学习参考。一个基于的开源报表工具,它可以在环境下像其他报表工具一样来制作报表,支持和文件输出格式,是当前开发者最常用的报表工具。使用开发的,并使用作为报表生成引擎。 本文为大家推荐6款常用的Java开源报表制作工具,供开发者学习、参考。 1.Aspose.Cells for JasperReports一个基于Java的开源报表工具,它可以...
摘要:相比其他开源的工具和其他商业的工具,对比下来还是比较强大和好用。 1.为什么要使用数据抽取 (1)为了不妨碍业务数据的读取和写入,需要进行数据的抽取,抽取到另外数据库表进行读取(2)对某些总计数据可以进行预先计算, 抽取到另外数据库表(3)随访业务数据库为mongodb , 统计程序编程效率低,需要转成sql 类数据库提高效率 2.工具 使用 kettle 开源etl工具网址:http...
摘要:是一款国外开源的工具,纯编写,可以在上运行,数据抽取高效稳定。 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。作为一个数据抽取工具,在建立数据仓库的过程中,免不了需要从不同的数据源中抽取到集中的数据仓库中,下面就拿mongodb抽取到mysql为例,简述抽取数据的步骤: 新建转换:test 在test中新建M...
摘要:是一款国外开源的工具,纯编写,可以在上运行,数据抽取高效稳定。 Kettle是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,数据抽取高效稳定。作为一个数据抽取工具,在建立数据仓库的过程中,免不了需要从不同的数据源中抽取到集中的数据仓库中,下面就拿mongodb抽取到mysql为例,简述抽取数据的步骤: 新建转换:test 在test中新建M...
阅读 1235·2023-01-11 13:20
阅读 1543·2023-01-11 13:20
阅读 996·2023-01-11 13:20
阅读 1651·2023-01-11 13:20
阅读 3958·2023-01-11 13:20
阅读 2456·2023-01-11 13:20
阅读 1290·2023-01-11 13:20
阅读 3454·2023-01-11 13:20