最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

kettle转换之多线程

来源:动视网 责编:小采 时间:2020-11-09 14:43:46
文档

kettle转换之多线程

kettle转换之多线程:kettle转换之多线程 ETL项目中性能方面的考虑通常是最重要的,特别是所讨论的任务频繁执行,或一些列的任务必须在固定的时间内执行。本文重点介绍利用kettle转换的多线程特性,以优化其性能。 假设转换中的每个步骤已经设置成最快的执行速度并且调节性能至最
推荐度:
导读kettle转换之多线程:kettle转换之多线程 ETL项目中性能方面的考虑通常是最重要的,特别是所讨论的任务频繁执行,或一些列的任务必须在固定的时间内执行。本文重点介绍利用kettle转换的多线程特性,以优化其性能。 假设转换中的每个步骤已经设置成最快的执行速度并且调节性能至最


kettle转换之多线程 ETL项目中性能方面的考虑通常是最重要的,特别是所讨论的任务频繁执行,或一些列的任务必须在固定的时间内执行。本文重点介绍利用kettle转换的多线程特性,以优化其性能。 假设转换中的每个步骤已经设置成最快的执行速度并且调节性能至最

kettle转换之多线程

ETL项目中性能方面的考虑通常是最重要的,特别是所讨论的任务频繁执行,或一些列的任务必须在固定的时间内执行。本文重点介绍利用kettle转换的多线程特性,以优化其性能。

假设转换中的每个步骤已经设置成最快的执行速度并且调节性能至最佳,且再没有更多的性能提升空间。但是利用kettle的多线程特性仍然可能提升转换的整体性能。

调整队列大小

当尝试优化性能时,你可以调整输入、输出队列的大小。特别是如果你有足够多的内存(RAM)可用。在kettle转换中配置队列大小是转换配置中的“Nr of rows in rows”选项的大小,其配置对转换中所有的步骤都有效。增加可使转换更快执行完活动的步骤,从而释放CPU时间给后续步骤。针对特定转换调节合适大小最佳实践。

设置步骤执行拷贝数

kettle转换在运行时,每个步骤可被看成一个带着输入、输出行队列的工作线程,每个线程是并行运行的,当数据化是有效时即处理。kettle允许针对每个独立步骤手工定义其线程数。如果转换有一个瓶颈步骤,该步骤有多个实例同时运行可以加快处理速度。可以通过检查每个步骤的输入、输出队列及行/秒的处理性能找到候选的瓶颈步骤。如果某步骤有满输入队列,空输出队列,并每秒处理行数低,这些因素往往决定了整个转换的性能,从而找到瓶颈步骤。这些因素的数据在kettle执行“Step Metrics”视图中可以看到。

右击问题步骤,选择“change number ofcopies to start..”并输入合适的线程数,这时当你运行转换时,你将注意到多个运行的实例,每个实例在视图中有自己的输入、输出队列。

转换的整体性能提升取决于每个步骤的性能及操作系统和硬件性能。如:如果cpu性能强,“计算”步骤性能就佳;数据库查询步骤可以通过多线程提升性能;其他步骤如”update“步骤不太可能提升性能,但是和RDBMS有很多关系。

需要注意的是步骤启用多线程也有它的局限性。更具体地,如果问题的步骤中或之后,依赖所有数据行的排列顺序时,该转换将不能正确的运行。每个步骤的多个线程都独立地接收并处理他们的数据行,因此不能保证所有数据行驶按顺序处理。另外需要提醒的是,每个线程保持自己的独立内部状态,并不能看到其他线程正处理的行。因此,如果某个步骤必须看到所有的行,才能正常工作,那一定不能使用多线程。”Sort rows”, “Unique rows” 和 “Rowdenormalizer”就是最好的例子。这这些步骤使用多线程是没有意义的,因为每个线程处理行仅仅是所有行的一个子集。

结论

kettle允许转换中的每个单独定义多个线程执行,同时可以也设置输入、输出队列大小,两个特性对提升执行速度非常有用。针对单个步骤启动多线程,两点事实需要考虑的是,每个线程不能看到整个数据行,且每个线程处理行顺序不确定。

文档

kettle转换之多线程

kettle转换之多线程:kettle转换之多线程 ETL项目中性能方面的考虑通常是最重要的,特别是所讨论的任务频繁执行,或一些列的任务必须在固定的时间内执行。本文重点介绍利用kettle转换的多线程特性,以优化其性能。 假设转换中的每个步骤已经设置成最快的执行速度并且调节性能至最
推荐度:
标签: 转换 线 线程
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top