使用 PDI Kettle 从 .csv 文件创建 table

Creating a table from .csv file using PDI Kettle

我是 PDI 的新手,我正在使用 PDI Kettle,我有 40 个具有不同列数的 .csv 文件,我想在一次转换中从这些文件中创建 tables ,我使用 "CSV File Input" 步骤 select 文件和 "Table Output" 步骤创建 table 但是我再次从这 40 个文件中创建 40 tables需要 select 这两个步骤,所以有没有办法在一次转换中一次性创建所有 40 table 是否可能,请帮我做同样的事情 提前致谢

在 Pentaho 中使用标准步骤执行此操作有点复杂。要读取 CSV 并获取标题,然后读取数据,您需要使用 ETL Metadata injection

先读取header with columns name,然后使用ETL Metadata injection读取另一个转换中的数据。

自动创建数据库并不直接,因为这是 Pentaho 的主要开发人员不鼓励的事情。

这里是如何自动创建 table 的答案和示例:Perform an auto CREATE TABLE to store the output of a transformation

所以你会 运行 一个作业,它将文件名和 table 名称传递给转换。转换将使用 ETL Metadata injection 将 CSV 读入正确的字段,并使用 meta.getSQLStatementsString(); 获取数据库的 DDL 来存储数据。