前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用kettle按天抽取数据

使用kettle按天抽取数据

作者头像
保持热爱奔赴山海
发布2022-09-23 10:21:23
1.6K0
发布2022-09-23 10:21:23
举报
文章被收录于专栏:DevOps数据库相关

需求背景:

   因xx需求要导出数据,研发给到一个A JOIN B JOIN C + dependent query 的复杂查询。直接查询的话,特别慢(可能小时级别都出不来结果)。分析了下这个查询中,如果在where条件中拼上个驱动表的索引列(例如主键列或者create_time列之类), 可以将join的数据集控制在一个很小的范围内。

这个方法有了后,我们可以用程序去跑,也可以用kettle去跑。

下面是用kettle 按天去跑的案例, 为了演示做了很多精简。

1、生成一个按天的序列(可以参考这个方法 http://blog.csdn.net/neweastsun/article/details/43866599)

2、将day传到查询sql中,得到某一个的数据集

3、将step2的数据集写到一个临时的表里面

4、重复执行step2、step3

5、最后将临时表的数据导出

job如下图:

使用kettle按天抽取数据_数据导出
使用kettle按天抽取数据_数据导出
使用kettle按天抽取数据_kettle_02
使用kettle按天抽取数据_kettle_02
使用kettle按天抽取数据_kettle_03
使用kettle按天抽取数据_kettle_03

注意的是,中文乱码的问题解决方法:

1、修改数据源的选项,加上字符集设置

使用kettle按天抽取数据_数据导出_04
使用kettle按天抽取数据_数据导出_04

2、修改kettle启动文件,以win环境下为例,修改 Spoon.bat ,增加如下:

使用kettle按天抽取数据_数据导出_05
使用kettle按天抽取数据_数据导出_05
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-08-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档