Kettle使用_13 表输入并发运行与复制数量
需求: 通过并行方式完成事实表sales_fact_1998(该表有约16万条记录)到文本的输出。
解决方法:结合表输入和文件文本输出组件解决,这里需要同时设置表输入、文本文件输出组件的复制数量。
Previous work:
准备FoodMart数据库并初始化数据。其中建表语句(以Mysql为例)见下:
CREATE TABLE `sales_fact_1998` (
`product_id` int(11) NOT NULL,
`time_id` int(11) NOT NULL,
`customer_id` int(11) NOT NULL,
`promotion_id` int(11) NOT NULL,
`store_id` int(11) NOT NULL,
`store_sales` decimal(10,4) NOT NULL,
`store_cost` decimal(10,4) NOT NULL,
`unit_sales` decimal(10,4) NOT NULL,
KEY `i_sls_98_cust_id` (`customer_id`),
KEY `i_sls_1998_prod_id` (`product_id`),
KEY `i_sls_1998_promo` (`promotion_id`),
KEY `i_sls_1998_store` (`store_id`),
KEY `i_sls_1998_time_id` (`time_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
完整的数据(含建表语句)见下:
链接:https://pan.baidu.com/s/1RcW1i-U3PD64t3r28SmqJg
提取码:6yee
Step1:新建个转换。
Step2:找到表输入组件,该组件在转换里的输入分类下。
Step3:配置标输入组件,这里读取表里所有数据。
Step4:拖文本文件输出组件到转换里。
Step5:通过SHIFT连接表输入组件和文本文件输出组件,选择主输出步骤。
Step6:配置文本文件输出组件。
Step7:同时配置表输入组件和文本文件输出组件的复制数量,这里都设置为4。
完整流程示意:
Step8:运行验证。