青春须早为,岂能长少年。这篇文章主要讲述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文件中。
兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。
啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!
推荐阅读