kettle庖丁解牛第21篇之SQL文件输出
Posted 飞哥大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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”开始计数的步骤号 |
文件名中包含日期 | 选择在扩展名之前输出日期,例如: |
文件名中包含时间 | 选择在扩展名之前输出时间,例如: |
追加方式 | 追加方式保存数据 |
每...行拆分 | 如果生成的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数据库
双击工具
等待界面
新建数据库连接
或者如下方式,也可以新建数据库连接
选择要连接的类型: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文件中。
兄弟们,其实想和作是有一段距离的,你想着想着就没有了,可是你做着做着,它就落地了。
啥都别说了,兄弟们后面跟着我干就完了,我们依然掰开揉碎的方式去说。后续的内容更精彩,敬请期待,感谢兄弟们的关注!!!
以上是关于kettle庖丁解牛第21篇之SQL文件输出的主要内容,如果未能解决你的问题,请参考以下文章