文章仅供内行人参考。
1、建立作业,然后在“元数据”下,配置数据库连接。
2、元数据。元数据是将常用的schema“结构”(即数据结构,或者是数据库的表结构)。在这里配置后,对常用的配置,可以免得以后在作业设计时再配置。
3、input是针对该软件的input,实际是数据库的抽取功能;output,实际是写入功能。
4、如果想input到另外一个数据库的output,那么必须二者的schema结构一模一样,或者基本一样,如果只是名称不一样,可以在output的结构中,将名称改为和input一样。
否则,就只有使用控件:tmap了。
5、对于时间戳等只有一条记录的,可以使用 tContextLoad 上下文控件。只有用这个控件后,才可以把变量写入程序。当然,该变量是要事先在左侧的“上下文”中定义的。
6、对于循环,使用loop控件。
7、对于要使用多个拉线时,可以右键控件,然后选择“触发”-->“运行完成后”(OnComponentOK)。
8、tLogCatcher,可以捕捉到程序在die时的各种错误,并写入到你的数据库中。
下面是我的上篇文章“talend的传值”,我复制了过来。
1、如果你想写到context中去,就要先在“上下文”中定义变量,并拖到作业中;无论你如何从数据库提取哪些字段,都必须要有key和value字段(其中key外面要用中括号 [ ],否则key作为数据库关键字无法引用,如:select 'abc' value,'mykey' [key] ),然后还要利用 tcontextLoad 控件来引入。引入后,引用方法:context.mykey。
这个步骤是必须的,因为tContextLoad就是做这个工作的,完了之后系统会提示: tContext_load_1 set key "mykey" with value "abcdefg"
2、如果你不想用context,也可以,但一般要用到tmap了,引用方法为:row1.x 。当然,如果不用tmap,就要保证导出的结构和原有的结构一样才行。
控件的连接一般使用2种:
1、用右键拖到另外一个控件上,这是用的“主线”方法,默认的。
2、右键某控件,然后选择“触发器”--> “组件运行正常”。
talend,我觉得与另外一个ETL数据交换工具kettle相比,kettle更简洁、简单、高效。kettle我不用看任何教程就能上手,比如数据更新,从来没有使用过,但直接就会配置,但同样的功能,talend却要复杂得多,还要使用output,没有更新控件 。而且,我试验了一下,在抽取数据时,kettle基本能保持在2000多条/秒,而talend却1000多一点点,有时只有600多条/秒。但最终talend也有2个最大的优势:1、稳定。kettle,我抽取同样的数据(每天2000万条),只能运行1天多,就要死;而talend现在运行了5天了,还没有出错,更重要的是,它还有死程序报警日志,可以将报错内容以最快速度通知我。