kettle庖丁解牛第21篇之SQL文件输出

青春须早为,岂能长少年。这篇文章主要讲述kettle庖丁解牛第21篇之SQL文件输出相关的知识,希望能为你提供帮助。
引言在上一篇文章中,我们主要讲解的是:JSON输出组件(JSON output)。
在本篇文章中,我们主要讲解的是:SQL文件输出组件
其实还有很多种方式,能完成和kettle中SQL文件输出组件一样的功能,我也会扩展的给大家说一说。
转换转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。
创建转换
我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。


保存转换

给你新建的转换,起个名字,并保存


SQL文件输出SQL文件输出组件,可以根据选中的数据库类型,生成相应的SQL脚本(DDL数据定义语言、DML数据操作语言)。


一般

1、连接选项说明

选项
描述
数据库连接
通过哪个 DB连接,连接到数据库


目标模式
简单来说:在oracle库中,理解成user。在mysql库中,理解成database。
目标表
选择你要操作的表
2、输出文件选项说明
选项
描述
增加创建表语句
在最终生成的sql脚本文件中,包含了create table  语句
增加清空表语句
在最终生成的sql脚本文件中,包含了truncate table  语句
每个语句另起一行
在最终生成的sql脚本文件中,每1条ddl语句\\dml语句,都会独占1行。
文件名
最终生成的sql脚本文件的名字
创建父目录
创建父文件夹
启动时不创建文件
转换启动时不创建sql文件
扩展名
数据最终保存的sql脚本文件的扩展名,默认是sql
文件名中包含步骤号
当输出步骤设置为多线程执行时,则自动生成从“0”开始计数的步骤号
文件名中包含日期
选择在扩展名之前输出日期,例如:??_20190816??
文件名中包含时间
选择在扩展名之前输出时间,例如:??_235959??
追加方式
追加方式保存数据
每...行拆分
如果生成的sql脚本中有多行记录,如果设置此参数非0,结果文件会拆分成多个sql文件。
显示文件名
最终你的数据保存到目标文件名
将文件加入到结果文件中
选择将文件名添加到内部文件名结果集。此内部结果集稍后可用于处理所有已创建的文件
内容
选项说明
选项
描述
日期格式
指定日期数据的展示格式


编码
指定数据保存在sql文件中的编码
实战演示我们要演示从mysql库中读取表中的数据,然后通过sql文件输出组件,把表和数据最终保存在sql文件中。
a、创建测试数据环境
操作语句
创建bigdata库
mysql> create database bigdata;
指定使用bigdata库
mysql> use bigdata;
创建test表
mysql> create table test(id int,name char(50));
往test表中插入数据
mysql> insert into test values(1,dafeige);
mysql> insert into test values(2,kettle);
查询test表中的数据
mysql> select * from test;
操作截图

b、创建转换

c、创建DB连接


d、表输入设置



e、SQL文件输出组件

使用鼠标左键点击  表输入组件,按住shift键,从表输入组件拖拽到SQL文件输出组件,拖拽后的效果如下图:

f、SQL文件输出设置

g、运行转换




h、验证结果文件

实战扩展之DBeaver导出dbeaver是免费和开源(GPL)为开发人员和数据库管理员通用数据库工具。易用性是该项目的主要目标,是经过精心设计和开发的数据库管理工具。免费、跨平台、基于开源框架和允许各种扩展写作(插件)。
a、连接mysql数据库
双击工具

等待界面

新建数据库连接

【kettle庖丁解牛第21篇之SQL文件输出】或者如下方式,也可以新建数据库连接

选择要连接的类型:mysql5

编辑驱动(?敲黑板了重点?)

删除DBeaver默认带的联机驱动配置


添加 本地的JDBC驱动包


填写mysql连接的相关信息,并进行连接测试

测试结果:成功

完成连接

b、导出数据
左键点击要操作的数据库,然后右键选择工具,最后选择 转储数据库,如下图:

随即弹出了导出数据的向导,选择要导出的对象(也就是要对哪些库中的哪些表备份)

导出配置(备份后生成的sql文件设置、sql文件保存的位置、是否只要表结构等等)

随后会自动下载mysqldump工具(如果本机没有单独安装mysql,就会自动下载)

导出进度

导出完成

关闭导出窗口

c、查看结果文件
备份操作生成的sql文件,它的命名规则:dump-库名-操作的时间戳.sql

实战扩展之使用命令导出此种方式,主要使用的是mysqldump工具,它是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令行等。
a、语法
mysqldump -u 用户 -p密码 库名> 结果文件.sql
b、实战操作

c、查看结果文件

结束语本篇文章主要讲解了:SQL文件输出组件的各种详细设置,最后实战演示了,从mysql库的表中读取数据,然后通过SQL文件输出组件,把数据最终保存在sql文件中。
兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。
啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!

    推荐阅读