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

Posted 飞哥大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了kettle庖丁解牛第21篇之SQL文件输出相关的知识,希望对你有一定的参考价值。

引言

在上一篇文章中,我们主要讲解的是:JSON输出组件(JSON output)。

在本篇文章中,我们主要讲解的是:SQL文件输出组件

其实还有很多种方式,能完成和kettle中SQL文件输出组件一样的功能,我也会扩展的给大家说一说。

转换

转换(transaformation)是ETL解决方案中最主要的部分,它处理抽取、转换、加载各种对数据行的操作。

创建转换

我们要做的ETL操作,全是在转换中设计的,所以我们要先创建一个转换。

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

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

保存转换

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

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

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

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

SQL文件输出

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

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

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

一般

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

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;

操作截图

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

b、创建转换

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

c、创建DB连接

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

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

d、表输入设置

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

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

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

e、SQL文件输出组件

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

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

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

f、SQL文件输出设置

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

g、运行转换

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

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

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

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

h、验证结果文件

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

实战扩展之DBeaver导出

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

a、连接mysql数据库

双击工具

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

等待界面

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

新建数据库连接

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

或者如下方式,也可以新建数据库连接

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

选择要连接的类型:mysql5

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

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

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

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

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

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

添加 本地的JDBC驱动包

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

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

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

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

测试结果:成功

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

完成连接

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

b、导出数据

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

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

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

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

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

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

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

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

导出进度

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

导出完成

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

关闭导出窗口

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

c、查看结果文件

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

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

实战扩展之使用命令导出

此种方式,主要使用的是mysqldump工具,它是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令行等。

a、语法

mysqldump -u 用户 -p密码 库名>结果文件.sql

b、实战操作

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

c、查看结果文件

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

结束语

本篇文章主要讲解了:SQL文件输出组件的各种详细设置,最后实战演示了,从mysql库的表中读取数据,然后通过SQL文件输出组件,把数据最终保存在sql文件中。

兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。

啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!

以上是关于kettle庖丁解牛第21篇之SQL文件输出的主要内容,如果未能解决你的问题,请参考以下文章

kettle庖丁解牛第20篇之JSON输出

kettle庖丁解牛第28篇之oracle数据迁移到mysql库

kettle庖丁解牛第5篇之文本文件输入

kettle庖丁解牛第13篇之XML文件输入

kettle庖丁解牛第14篇之JSON输入

kettle庖丁解牛第26篇之删除