表输入帮助文档

        表输入步骤用于将数据源的数据加载到CKettle转换中的行集,能够说是数据从持久化到内存的一种加载变换,故名为输入。加载内部过程,就是经过JDBC链接到数据源执行SQL语句,将返回结果解析为行集,传递给下一个步骤。注意,上文中数据源并不必定是关系数据库,能够是任何支持JDBC驱动的存储方式,例如HadoopHive、Impala、LucidDB、SAP等。SQL语句能够固定不带参数,也能够经过变量来进行动态替换;能够只执行一次SQL,也能够根据输入行数屡次执行SQL。步骤配置信息如图1所示。数据库

                                                        

                                                                                      图1表输入步骤配置信息oop

        下文详细解释各控件的含义:性能

        一、转换步骤名称:步骤的名称,在单一转换中,名称必须惟一。学习

        二、数据库链接:读取数据的JDBC链接名称,右边第一个“编辑”能够对链接信息进行编辑;第二个“新建”按钮能够新建JDBC链接;第三个“向导”按钮能够根据指引分步去创建JDBC链接。测试

        三、SQL:SQL语句用来从数据库链接中读取数据,能够手动在SQL框里面写出须要运行的SQL语句;也能够在SQL框右上角点击“获取SQL查询语句”按钮,经过选择模式与表来获取表查询语句。spa

        四、容许简易转换如勾选,则针对行集中的String类型,将按照二进制字节流的形式(若有Java语言开发背景,能够理解为byte[]),从数据源读取数据,性能比直接读取字符串略高。因此,这里翻译为“容许以字节流的形式读取字符串”更为准确。从实际测试状况看,该参数针对很是长的字符串可以提速3%左右;对于通常长度的字符串,观测不到差异翻译

        五、替换SQL语句里的变量将SQL语句中的参数进行位置与值的替换,值来自配置的输入行集(第6个控件)。所以若此控件启用,必须与第六、第7控件结合使用。例如第3个控件中的SQL语句改成select id,info,c_time from test1.table1 where id>? or info like ?,那么执行SQL语句前,CKettle自动将输入行集中的第一个字段值替换为第一个问号、第二个字段值替换为第二个问号。因此务必确保位置对应,且类型匹配。blog

        六、从步骤插入数据:指定读取输入行集的步骤名称。从输入行集中选择一个,做为第5个控件的数据来源。内存

        七、执行每一行?勾选以后,CKettle将对输入行集中的每一行执行一次第3个控件指定SQL,并将全部结果合并传递给后续步骤。ci

        八、记录数量限制:设置从数据源中读取的最大行数。若是设置值≤0,那么将查询全部记录,不限制返回行数;若是设置正整数值,则返回行数不超过设置值。

        备注:在信息框最下方有一个“预览”按钮,点击以后能够显示出根据当前SQL查询出来的结果,检查是否符合预期。

 

        文章原创首发于:https://ckettle.ccsaii.com.cn/help/StepPluginType/TableInput?s=csdn

        更多CKettle内容,欢迎点击上述连接学习。