mysql - 使用 PDI Kettle 从 .csv 文件创建表

标签 mysql csv pentaho kettle pdi

我是 PDI 新手,正在使用 PDI Kettle,我有 40 个具有不同列数的 .csv 文件,我想在一次转换中从这些文件中创建表格,我使用了“CSV文件输入”步骤选择一个文件,“表输出”步骤创建表,但是为了从这 40 个文件中创建 40 个表,我再次需要选择这两个步骤,所以有没有办法一次性创建所有 40 个表是否可以进行一次转换,请帮助我做同样的事情 提前致谢

最佳答案

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

首先读取包含列名称的标题,然后使用ETL元数据注入(inject)读取另一个转换中的数据。

自动创建数据库并不简单,因为 Pentaho 的主要开发人员不鼓励这样做。

以下是答案和如何自动创建表的示例:Perform an auto CREATE TABLE to store the output of a transformation .

因此,您将运行一个作业,将文件名和表名传递给转换。转换将使用 ETL 元数据注入(inject) 将 CSV 读入正确的字段,并使用 meta.getSQLStatementsString(); 获取数据库的 DDL 来存储数据。

关于mysql - 使用 PDI Kettle 从 .csv 文件创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35355874/

相关文章:

r - 我们如何绘制棋盘(N×N)网格?

mysql - 如何在 Pentaho Server 中创建 MySQL 数据连接

mysql - 获取mysql中的OUT参数

mysql - 内部连接和用逗号分隔的表有什么区别吗?

php - 循环内的 SQL 查询

bar-chart - Pentaho CDE 条形图显示

pentaho - 使用 Pentaho Kettle 将空值替换为 NA

mysql - 如何使下面的正则表达式适用于 MySql?

php - 从 Mysql 导出数据并输出到 CSV 允许另存为

csv - 如何将 CSV 文件导入 Firebase