栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

talend使用笔记

talend使用笔记

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-Studiostudioconfiguration.m2下的库文件

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

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

查看数据库中有哪些表
sqoop list-tables --connect jdbc:oracle:thin:~~@20.100.61.21:1521/ccb
–username ccb
–password yh0210 ~~

sqoop list-tables --connect jdbc:teradata://20.100.21.481/CLIENT_CHARSET=EUC_CN,TMODE=TERA,CHARSET=ASCII,LOB_SUPPORT=off,DATAbase=SDATA --username dbc --password dbc1199

希望小伙伴们帮忙点个赞
待修定补充……

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/754141.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号