kettle 表输入 mysql如何实现分页读取数据?

发布于 2021-12-01 20:48:33 字数 85 浏览 919 评论 6

在两个mysql库,同名表之间传输数据,表大小大约9G,如何配置kettle的表输入可以分页呢?

不配置分页报内存溢出,该怎么处理?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

坏尐絯 2021-12-06 13:36:54

楼上说的应该都是直接表输入表输出吧,没有试过带有排序、对比等中间步骤的吧,等你试过了就知道楼主问的这个问题必然是要解决的。我的解决方法是作了几个转换,然后做一个JOB,其中一个转换就是写的sql将数据按批次来进行读取,然后由这个JOB统一进行控制,进行传参

贱贱哒 2021-12-06 13:04:27

回复
没有那么大的数据,是因为表里面有大字段了

千笙结 2021-12-06 07:33:35

9g的表应该是10亿级的数据量了 不过不管你是10亿还是10条 都不用手工做分页处理 kettle会自动分批的 拿个万把条记录的表试试 发现它是1000条1000条的(取决于你的表输出设置批量提交设置了1000) 不过这么大的数据量要注意很多问题会影响内存 例如日志一定要设置为basic以下

疑心病 2021-12-06 07:19:15

你说的分页不知道有没有,好久没用了。以前处理这类问题的时候都是 增量法或者分批次处理的,不要一次加载完,做一个任务,每次抽取一定的量,分批次抽取

檐上三寸雪 2021-12-06 06:34:01

引用来自“fellow99”的评论

kettle本身就是分批次处理数据的 几百万条记录不会一次过加载到内存(除非你加了阻塞)

贱贱哒 2021-12-06 00:44:38

kettle本身就是分批次处理数据的 几百万条记录不会一次过加载到内存(除非你加了阻塞)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文