[背景]
产品需要按照特定条件跑一批数据,然后导出成excel,进行相关调研,所以只是跑了一批数据到测试库,然后按条件查询后导出excel。
数据量大概72w,最初使用navicat导出,发现了两个问题:
1、navicat非全表导出,需要先执行sql查询,然后对结果导出。由于数据量有72w,相当于要先无分页的查询72w数据
2、导出excel非常慢,大概运行了20分钟只导出了10w条
因此决定使用kettle进行excel导出,最终用时35.9s导出完毕。
【正文】
kettle版本:7.1
操作步骤:
1、打开kettle
2、文件->新建->转换
3、左侧菜单栏->主对象树->DB连接,填写你要连接的数据库
4、左侧菜单栏->核心对象->输入->表输入 ,拖拽到右侧
5、双击表输入,选择数据库连接,填写自己要查询的sql
6、左侧菜单栏->核心对象->输出->Microsoft Excel 输出,拖拽到右侧
7、点击Microsoft Excel 输出组件,将输入组件连接为表输入组件
8、双击Microsoft Excel 输出组件,勾选Stream XSLX data;然后在内容tab下点击获取字段
9、最终效果如图:
然后点击运行即可,运行结果如下: