Talend抽数工具使用整理

使用talend 创建一个作业步骤流程如下:

–首先配置作业中使用到的数据库连接(Hive组件:tHiveConnection、oracle组件:tDBConnection、impala组件:tImpalaConnection)和表的对象(使用tjava组件)最后还需要建立一个警告(警告组件tWarn)用来捕获作业中的异常消息日志
1.先建立tPrejob(是一个开始组件)组件 用来触发需要执行的任务作业
2. .……
3.后置处理:tPostjob组件

Hive 认证:
#!/bin/bash
kinit -kt /opt/Talend-7.1.1/keytabs/hive.keytab hive/~~admin01.cdhtest.bank.cn@CDHTEST.BANK.CN~~ 
beeline -u "jdbc:hive2://~~admin01.cdhtest.bank.cn:10000/;principal=hive/admin01.cdhtest.bank.cn@CDHTEST.BANK.CN" --color=true --maxWidth=10000 --showHeader=true~~ 

Talend  
Tjava 组件自定义java 中
使用context.put("result_status", "1");  加载到类中的key 值 使用context.get(result_status) 得到键值
写在上下文中的变量可以通过 context.result_status得到

Talend组件的应用介绍整理

1、tLogRow : 作用:显示运行的数据结果,便于检测job的运行状况

2、tRunJob :作用:作为运行多个依赖的job的运行控件,单击job可以选择需要运行作业,双击直接运行跳转到这个job

3、tJava :作用:作为参数配置,判断条件控件使用。需要在控件编辑处,输入判断条件或参数信息

4、tMap : 作用:对输入流数据进行表关联(Join)、过滤(Filter)、转换(function);Join分为两种:Inner Join 和Left Outer Join。上图的关联条件是name,要把row5和out1的name连起来。catch lookup inner join reject,当它设置为true时,输出的是不符合内连接条件的数据。该条件对left join没效果,因为left join本来就是以左表为基础,这样就不会有匹配不上的。

5、tParallelize :作用:让不同的控件能并行运行

6、tUnite :作用:该控件是将来自不同来源的数据进行合并

7、tFileInputDelimited 

8、tAggregateRow :功能: 接收一个流并根据一个或多个列聚合它。为每个输出行,提供聚合键和集合操作的相关结果(最小、最大值、和…)。
目的:帮助提供一组基于值或计算的度量。

9、 tFilterRow :tFilterRow 通过在选定的列上设置一个或多个条件来过滤输入行tFilterRow 在源数据上帮助参数化过滤器。

10、tPrejob :tPrejob开始执行一个预作业。tPrejob触发执行作业所需的任务
tPrejob是一个开始组件,它只能用于与下一个迭代连接一起使用组件。
应用场景,一般是连接数据库

11.tsetGlobaVar:设置全局变量
OnComponentOK
OnComponentOK:正确运行组件-只有上一个组件执行成功后才会执行下一个任务

主线连接:需要传值进来
Talend中java日期转换

Date oldDate  = TalendDate.parseDate("yyyy-MM-dd", context.scheduleDate);
Date newDate1 = TalendDate.addDate(oldDate, -2, "dd") ;
String newDate2 = TalendDate.formatDate("yyyyMMdd", newDate1);	
context.put("dirname",newDate2);
System.out.println("T+3日期:" + context.get("dirname"));
context.put("remoteDirectory", context.ftpDirectory);
	
OracleResultSet obj = (OracleResultSet)row9.obj;
Date dbSwitchDate = obj.getDate("SWDATE");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd" );
context.scheduleDate = sdf.format(dbSwitchDate);
System.out.println("调度日期=" + context.scheduleDate + ";可执行日期=" + context.executableDate);

Talend job上线作业的基本配置信息

Teland 打包有问题替换 :\Talend-Studio\studio\configuration.m2下的库文件

检查日切配置: (组件getCutDate)

日切是一个tac的定时job 查bigdata的oracle数据库,如果记入日切job上下文的所有系统(例如:s00 s15 s16)的日常卸数表,在数据库的schedu_log表中都有两条成功数据,也就是代表着今天所有大数据的跑批都成功,日切就会到达下一天。

待修定补充……

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

青鸟遇鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值