我是PDI的新手,我正在使用PDI Kettle,我有40个.csv文件,列数不同,我想在单个转换中用这些文件创建表格,我使用了“CSV”文件输入“选择文件的步骤和”表输出“步骤创建表但是要从这40个文件中创建40个表我再次需要选择这两个步骤,所以有没有办法一次性创建所有40个表一个转变是可能的,请帮我一样 提前致谢
答案 0 :(得分:1)
要在Pentaho中执行此操作,标准步骤有点涉及。要阅读CSV并获取标题,然后阅读数据,您需要使用 // start the server
$Server = new PHPWebSocket();
$Server->bind('message', 'wsOnMessage');
$Server->bind('open', 'wsOnOpen');
$Server->bind('close', 'wsOnClose');
// for other computers to connect, you will probably need to change this to your LAN IP or external IP,
// alternatively use: gethostbyaddr(gethostbyname($_SERVER['SERVER_NAME']))
$Server->wsStartServer('localhost', 9300);
。
首先使用列名读取标题,然后使用ETL Metadata injection
读取另一个转换中的数据。
自动创建数据库不是直截了当的,因为Pentaho的主要开发人员不鼓励这样做。
以下是如何自动创建表格的答案和示例:Perform an auto CREATE TABLE to store the output of a transformation。
因此,您将运行一个将文件名和表名传递给转换的作业。转换将使用ETL Metadata injection
将CSV读入正确的字段,并使用ETL Metadata injection
获取数据库的DDL以存储数据。