如何提高pentaho变换输入/输出速度

问题描述 投票:0回答:2

我正在使用 Pentaho 数据集成 (PDI)-spoon 来创建 ETL,并且我非常注重性能。 我开发了一个 ETL 来处理从 MySQL 8 到 Clickhouse 数据库的 2,500,000 行(每行有 104 列)的副本,需要 30 分钟。 目标表没有任何索引和约束,它是一个列式数据库。

我正在使用linux ubuntu 22.04并通过spoon.sh在pentaho服务器上运行转换

如何提高转换输入/输出速度?

我只使用了 4 个步骤:- 使用 EXECUTE SQL SCRIPT 截断表 --> 使用 TABLE INPUT 获取数据 --> 使用 SELECT VALUES 更改日期格式 --> 使用 TABLE OUTPUT 将数据插入目标表。

我想提高PDI-Spoon转换的I/O速度

etl pentaho kettle pentaho-spoon pdi
2个回答
1
投票

如果是时间点迁移,你可以尝试使用ClickHouse中的MySQL Table引擎结合

INSERT FROM SELECT
语法直接从ClickHouse实例迁移数据,应该会更快。

https://clickhouse.cloud/integrations/mysql https://clickhouse.com/docs/en/engines/table-engines/integrations/mysql


0
投票

PDI 中有几个选项可以改善 I/O:

  1. 使用Carte Cluster。

您可以利用多个点菜服务器并执行作业以在集群中并行运行。创建carte集群并执行它们的方法写在这个博客

  1. 使用批量加载器步骤

您可以使用 PDI 中的从 MYSQL 批量加载到文件步骤将数据批量加载到文件中。此步骤将改善您的 I/O。您稍后可以使用本机 clickhouse 数据库 API 将数据从文件加载到表。

或者,您也可以使用文本文件输出将数据写入文件并将数据上传到 clickhouse 数据库。

© www.soinside.com 2019 - 2024. All rights reserved.